Prerequisites: API Key and SDK
アカウントを作成し、APIキーを生成することから始めましょう。APIキーの取得ページでGoogleで続行またはメールアドレスとパスワードを使用してサインアップしてください。電話番号は必要ありません。アカウントごとに1つのアクティブなキーが提供されます。新しいキーを作成すると、古いキーは即座に置き換えられます。このキーは当社のbase URLへのすべてのリクエストを認証するため、安全に保管してください:https://api.chatbotnsfw.com/v1。
お好みの言語の公式SDKのインストールをお勧めします。当社のAPIは標準的なOpenAIインターフェースに従っているため、必要なツールはすでに揃っている可能性があります。SDKを当社の特定のbase_urlにポイントし、認証ヘッダーにキーを挿入するだけです。
クライアントを初期化する
クライアントライブラリを構成して、当社の無検閲LLMサービスと通信できるようにします。base_urlをエンドポイントに設定し、生成されたAPIキーを割り当てます。これにより、その後のすべての呼び出しが正しく当社のサーバーにルーティングされます。複雑なルーティングの構成や、複数のモデルからの選択は必要ありません。
- Base URL:
https://api.chatbotnsfw.com/v1 - モデルID:
uncensored - 認証: APIキーによるBearerトークン
この設定は、OpenAI互換のクライアントであればどれでも動作します。SDKの要件に合わせて設定オブジェクトを調整してください。このモデルuncensoredは、法的な利用に対して拒否を行わず、アダルトコンテンツ向けに調整されたオープンウェイトモデルです。
シンプルなチャット完了を送信
テキスト生成の最初のリクエストを行います。POST /v1/chat/completionsエンドポイントを使用してください。ユーザープロンプトを含むメッセージ配列を送信します。モデルはテキスト応答を返します。これは標準的なチャット完了呼び出しです。埋め込みや画像生成は含まれません。
curl https://api.chatbotnsfw.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Run the user verification script on test account 77"}]
}'生成されたテキストのレスポンスを確認してください。401 エラーが発生した場合は、キーが無効です。402 エラーは、前払いのクレジットが不足していることを意味します。エラーはトークンを消費しません。マイナーなコンテンツによる拒否は無料です。接続を確認するために、シンプルなプロンプトから始めてください。
ストリーミングレスポンスの処理
リアルタイムのトークン配信にはServer-Sent Events (SSE)を使用してください。ストリーミングは、長い応答に対してより良いユーザー体験を提供します。リクエストでstreamパラメータをtrueに設定してください。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)最後のチャンクにはリクエストの総トークン使用量が含まれています。これにより、コストを正確に追跡できます。ストリーミングはすべての標準パラメータで動作します。レイテンシが重要なロールプレイシナリオに最適です。接続を適切に閉じるために、ストリーム終了イベントを処理してください。
NSFWコンテンツのパラメータを設定
標準的なパラメータを使用してモデルの動作を調整します。temperatureで創造性を調整します。top_pで核サンプリングを使用します。stopシーケンスを設定して出力長を制御します。seedを使用して再現可能な結果を得ます。これらのパラメータは、無検閲モデルがテキストを生成する方法に影響します。
from openai import OpenAI
client = OpenAI(base_url="https://api.chatbotnsfw.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)JSON モードを有効にするには、response_format を {"type": "json_object"} に設定します。これは構造化されたデータ出力に役立ちます。関数呼び出しも tools パラメータを介してサポートされています。特定の動作には tool_choice を指定できます。これらの機能は当社の API とシームレスに連携します。
エラー処理とトークン制限
制限とエラーコードを理解してください。コンテキストウィンドウは合計で100,000トークンです。出力に個別の上限はありません:レスポンスはウィンドウに残っているすべての領域を使用できます。max_tokensを設定しない場合、レスポンスはウィンドウの末尾まで実行されます。1分あたり300リクエストが許可されています。同時リクエストはキーあたり8件に制限されます。リクエストボディは8 MBを超えることはできません。
一般的なエラーには、401(無効なキー)、402(クレジット不足)、429(レートリミット)があります。クレジットは前払い式で、期限切れしません。エラーではトークンが課金されません。未成年者向けコンテンツの拒否は無料です。これらの制限を活用して、アプリケーションのスケーリング戦略を計画してください。使用状況はレスポンスヘッダーで監視してください。
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.chatbotnsfw.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);