APIドキュメント
構成オーバーヘッドゼロで既存のコードベースに非制約モデルを組み込みます。このガイドでは、OpenAI互換エンドポイント、認証、ストリーミング設定について解説し、即時統合をサポートします。
クイックスタート:Python統合
最初のステップは、公式のOpenAI SDKをインストールし、ベースURLを設定することです。これにより、既存のロジックを変更せずに、クライアントがリクエストを当社のuncensored LLMエンドポイントにルーティングします。
- pip経由でパッケージをインストールしてください。
- APIキーとベースURLを
- 標準的なチャット完了リクエストを送信します。
この構成はローカルスクリプトと本番サーバーの両方で機能します。
認証とベースURL
APIキーは、ベースURL HTTPS://api.chatbotsemfiltro.com/v1 へのすべてのリクエストを認証します。キーはサインアップ時に即座に生成され、取り消すまで有効です。
シークレットをハードコードしないように、環境変数にキーを保存します。SDKはヘッダーの注入を自動的に処理します。
チャット完了エンドポイント
コアエンドポイントは /v1/chat/completions へのPOSTリクエストを受け付けます。messages とモデルパラメータを含むJSONボディを期待します。
- ロール(system、user、assistant)を定義します。
- モデルを "uncensored" として指定します。
- テキスト出力を受信します。
この構造は標準的なOpenAIの形式を反映しており、互換性を確保します。
ストリーミングと関数呼び出し
ストリーミングを有効にするには stream を true に設定します。APIは生成されるトークンを配信するServer-Sent Events (SSE) チャンクを返します。
関数呼び出しはtoolsパラメータ経由でサポートされています。モデルはJSON形式でツール呼び出しを返し、これらを解析して実行できます。
パラメータ: TemperatureとTop P
創造性または決定論のための温度調整。0から2の間の値はランダム性を制御する。Top Pは累積確率に基づいて単語をフィルタリングする。
これらのパラメータを組み合わせることで、出力スタイルを微調整します。テスト中に再現可能な結果を得るためにseedを使用します。
コンテキストウィンドウと制限
このモデルは100,000トークンのコンテキストウィンドウをサポートしています。1リクエストあたりの最大出力は16,000トークンです。
レート制限は1分間あたり300リクエストです。これを超えると429エラーが発生します。スロットリングを避けるために同時実行数を管理してください。
エラー処理とトークン
HTTPエラーを適切に処理します。401は無効なキーを示します。402はクレジット不足を意味します。429はレート制限を示します。
トークン使用量は正確に請求されます。エラーは残高を消費しません。ダッシュボードを通じて使用状況を監視してください。
cURL
curl https://api.chatbotsemfiltro.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List the top ten libraries for Rust async programming"}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.chatbotsemfiltro.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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.chatbotsemfiltro.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);ストリーミング
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)よくある質問
これは公式のOpenAI APIですか?
いいえ。これは別個の検閲なしモデルを提供するOpenAI互換APIです。同じSDKを使用できますが、モデルIDとベースURLは異なります。
ストリーミングエラーを処理するにはどうすればよいですか?
SSEイベントタイプを確認してください。エラーイベントの場合、メッセージを解析し、トークンを消費せずに処理してください。
レート制限を超えた場合どうなりますか?
APIは429ステータスコードを返します。指数バックオフで待機して再試行し、繰り返し失敗を避けてください。
APIキーを即座に取得
登録し、APIキーを取得し、ベースURLを更新します。これが完全な設定です。