クイックスタート:最初のリクエスト
uncensoredモデルにすぐに最初のメッセージを送信してください。標準のchat-completionsエンドポイントを使用してテキストを生成します。モデルは法的な成人向けコンテンツに対してコンテンツ拒否なしで自然言語プロンプトに応答します。このセットアップは、OpenAI互換のクライアントと互換性があります。
お好みの言語用のSDKをインストールします。次にAPIキーを設定します。以下の例は、接続性をテストするための基本的なcurlリクエストを示しています。
温度などのパラメータを調整してランダム性を制御できます。応答は生成されたテキストを直接返します。このシンプルなフローにより、複雑なロジックを構築する前にAPIの動作を確認できます。
curl https://api.apiaicharacter.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "What is the current API rate limit status?"}]
}'
ベースURLと認証
このAPIの専用ベースURLを使用して接続します。デフォルトエンドポイントをホストサーバーのアドレスに置き換えてください。これにより、リクエストが直接無制限モデルに到達します。認証はアカウントごとに1つのAPIキーに依存します。
ダッシュボードでキーを生成してください。AuthorizationヘッダーにBearerトークンとして渡します。この方法は標準的なOpenAI SDKと互換性があります。ベースURLとキーを変更するだけでプロバイダを切り替えることができます。
キーは安全に保管してください。キーはプリペイドクレジットへの完全なアクセス権限を与えます。キーは生成されると同時に、以前のアクティブなキーを置き換えます。
エンドポイント: チャット補完
チャット完了エンドポイントを通じてモデルと対話します。これが利用可能な唯一のテキスト生成エンドポイントです。メッセージを受け取り、生成されたテキストを返します。埋め込み、画像、音声はサポートされていません。
チャットルートにPOSTリクエストを送信します。本文にシステムメッセージとユーザーメッセージを含めてください。モデルはコンテキストを処理し、応答を生成します。構造化された出力にはJSONモードを使用できます。
関数呼び出しもサポートされています。ツールを定義し、モデルがいつそれらを使用するかを判断させましょう。この柔軟性により、複雑なエージェントワークフローが可能になります。レスポンスには生成されたコンテンツとトークン使用量が含まれます。
from openai import OpenAI
client = OpenAI(base_url="https://api.apiaicharacter.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
パラメータ: Temperature, Top P, Stop
標準パラメータを使用して出力スタイルを制御します。temperature を調整して創造性を変化させます。低い値は応答をより決定論的にします。高い値はより多様な出力をもたらします。
top_pを使用して可能性の低い単語をフィルタリングします。これにより、創造性を保ちつつ一貫性を維持できます。stopシーケンスを設定して、特定のマーカで生成を終了させます。これは対話構造の制御に有用です。
seedパラメータは再現可能な結果を可能にします。プロンプトのデバッグ時に使用してください。これらのパラメータにより、モデルの動作を精密に制御できます。アプリケーションのニーズに合わせて微調整してください。
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.apiaicharacter.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);
ストリーミングとトークン使用量
サーバー送信イベントを介してリアルタイムに応答を受信します。ストリーミングによりユーザーの知覚されるレイテンシーが軽減されます。APIは生成されるトークンを送信します。これにより、よりスムーズな読み取り体験が提供されます。
トークン使用量は最終チャンクで報告されます。これにより、コストを正確に追跡できます。請求は実際に消費されたトークンに基づきます。エラーや拒否には課金されません。
データを処理するためのストリームハンドラを実装します。トークンが到着するたびにUIを更新します。このアプローチはチャットインターフェースに最適です。モデルはすべてのリクエストタイプでストリーミングをサポートしています。
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
レート制限と制約
サービス中断を避けるための制限を理解しましょう。キーごとに1分あたり300リクエストまで送信できます。同時リクエストは最大8つまでです。リクエストボディは8 MBを超えてはいけません。
エラーを適切に処理してください。401ステータスはキーが無効であることを意味します。402ステータスは残高不足を示します。429ステータスはレート制限に到達したことをシグナルします。
コンテキストウィンドウは合計で100,000トークンをサポートします。これにはプロンプトと補完の両方が含まれます。最大出力は1リクエストあたり16,000トークンです。出力長を制御するためにmax_tokensを設定してください。エラーは無料なので、リトライロジックは安全です。
よくある質問
フィルタリングなしアプリ向けのキャラクター.ai API 代替サービスは?
このAPIは、NSFW許容アプリの構築のためのアンセンサードLLM代替手段を提供します。character.ai APIと同じchat-completions構造を使用しますが、モデレーションとプロンプトの直接制御を提供します。ベースURLを更新するだけで既存プロジェクトに統合できます。
レートリミットとエラーを処理するにはどうすればよいですか?
制限は1分あたり300リクエスト、8つの同時リクエストです。401(無効なキー)や402(クレジットなし)などのエラーは対応が必要です。429エラーは再試行する前に待機する必要があることを意味します。エラーはクレジットを消費しないため、安全に再試行できます。
コンテキストウィンドウのサイズはいくらですか?
このモデルは10万トークンのコンテキストウィンドウをサポートしています。この合計には入力トークンと出力トークンの両方が含まれます。最大出力を16,000トークンに指定できます。これにより、コンテキストを失うことなく長い会話を維持できます。
APIキーを今すぐ取得
登録、キーのコピー、ベースURLの更新。必要な設定はこれだけです。