クイックスタート:統合する Uncensored API
既存のコードに制限なしAPIを組み込みます。ベースURLを1つ変更するだけでロジックを維持できます。
前提条件:SDKと環境設定
お使いの言語の公式SDKをインストールしてください。当社は openai 互換クライアント。当社のサービスは、標準的なOpenAI統合のドロインプレースメントとして機能します
環境変数を直ちに設定してください。これにより、ソースファイルに資格情報をハードコードするのを防げます。APIキーはアカウントを識別し、使用状況を追跡します。
標準ライブラリ版を使用してください。ほとんどの開発者はすでにこれらがインストールされています。インストールされていない場合は、パッケージを依存関係に追加してください。
認証:APIキーの設定
経由でキーを渡してください Authorization ヘッダー。すべてのリクエストにはBearerトークンが必要です。この方法はすべてのOpenAI互換エンドポイントで標準的です。
ダッシュボードからキーを生成。アカウントごとにアクティブなキーは1つのみです。置き換えると、以前のキーは即座に無効になります。
キーは安全に保管してください。クライアント側のコードで公開しないでください。当社のエンドポイントは、トークンの処理前に認証情報を検証します。
エンドポイント: POST /v1/chat/completions
チャットエンドポイントにプロンプトを送信してください。 model フィールドは uncensored. これにより、リクエストが特定のモデルにルーティングされます。
SSE経由のストリーミングレスポンス
streamをtrueに設定してストリーミングを有効にする stream: true生成されるたびにチャンクを受け取ります。これにより、長い出力の知覚されるレイテンシが軽減されます。
Server-Sent Events形式を解析します。各チャンクには部分的なテキストが含まれます。これらのチャンクを結合して完全なレスポンスを再構築します。
最後のチャンクでトークン使用量を監視します。最後のイベントには完全な使用統計が含まれます。これにより、コストを正確に追跡できます。
関数呼び出しとツールの使用
リクエストボディにツールを定義します。モデルは構造化引数を返します。これらの引数はアプリケーションロジックで解析してください。
標準のツール定義をサポートしています。使用 tool_choice 特定の動作を強制します。これは任意のOpenAI互換SDKと連携します。
出力形式を検証します。引数が欠落している場合を適切に処理するコードを確保してください。モデルは必須でない場合、フィールドを省略することがあります。
JSONモードと構造化出力
設定 response_format に json_object. モデルは厳密にフォーマットされたJSONを返します。これにより、構造化データの解析エラーがなくなります。
スキーマを明確に定義してください。モデルは指示を正確に実行します。データ抽出や設定の生成に使用してください。
JSON解析エラーを処理します。無効な構造が Occasionally 発生することがあります。堅牢なアプリケーションのためにフォールバックロジックを実装してください。
エラー処理とレート制限
HTTPステータスコードを適切に処理します。A 401 キーが無効であることを意味します。A 402 クレジット不足を示します。A 429 レート制限を示します。
1分あたり300リクエストの制限を尊重してください。8つの同時リクエストを送信できます。これらの制限を超えると429エラーが返されます。再試行する前に待機してください。
コンテキストウィンドウは100,000トークンです。これには入力と出力の両方が含まれます。トークン予算を慎重に管理してください。1リクエストあたりの最大出力は16,000トークンです。エラーはクレジットを消費しません。
cURL
curl https://api.alternativeapiopenai.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List the primary functions in this module"}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.alternativeapiopenai.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.alternativeapiopenai.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プロトコルに完全に準拠しています。ベースURLとモデル名を変更するだけです。既存のコードは変更なしで動作します。
コンテキストウィンドウ制限はいくらですか?
コンテキストウィンドウは合計で100,000トークンです。これには入力とモデル'の出力の両方が含まれます。1リクエストあたりの最大出力は16,000トークンです。
レートリミットを処理するにはどうすればよいですか?
1分間に300リクエストまでという制限があります。8件の同時リクエストが可能です。これを超えると、429エラーが発生します。再試行する前に少し待ってください。
キーの生成にはフォームへの入力のみが必要です
サインアップし、キーをコピーして、ベースURLを更新します。必要な設定はそれだけです。