OpenAI互換APIクイックスタート
既存のOpenAI互換コードを当無制限LLM APIにロジックの書き換えなしで差し替えてください。このガイドでは、標準モデルエンドポイントの直接的でフィルタリングのない代替手段を必要とする開発者向けの必須セットアップ手順を解説します。
前提条件と環境設定
APIキーと正しいベースURLを使用してクライアントを接続する必要があります。[APIキーの取得]ページでGoogleまたはメールアドレスでサインアップすると、資格情報をすぐに受け取ることができます。トライアルでは7日間にわたって$0.50が付与され、暗号通貨でUSDTまたはUSDCを使用してチャージインすることができます。キーを安全に保管し、アカウント設定と一致していることを確認してください。
環境が標準的なHTTPリクエストをサポートしていることを確認してください。当サービスは単一のuncensoredモデル上で動作するため、複数のモデルエンドポイントを管理する必要はありません。呼び出しを行う前に、ベースURLを HTTPS://api.openaiapicompatibility.com/v1 に設定してください。これにより、すべてのリクエストが調整された推論サーバーに正しくルーティングされます。
公式 OpenAI SDK のインストール
既存のOpenAIワークフローとの互換性を維持するために公式SDKを使用します。PythonとNodeのライブラリは、標準APIスキーマに従っているため、エンドポイントで直接動作します。お好みのパッケージマネージャーを使用して、プロジェクトディレクトリにパッケージをインストールします。このアプローチにより、カスタムHTTPクライアントコードの必要性を回避できます。
temperature、top_p、stop シーケンスなどの標準的なパラメータをサポートしています。SDKがJSONシリアライゼーションとリクエストヘッダーを自動的に処理します。クライアント設定のベースURLを当社のサーバー向けに変更することで、アプリケーションロジックを変更せずにプロバイダーを切り替えることができます。
ベースURLとAPIキーの構成
クライアント設定オブジェクトにベースURLとAPIキーを設定します。ベースURLはHTTPS://api.openaiapicompatibility.com/v1です。AuthorizationヘッダーにBearerトークンとしてAPIキーを渡します。この設定により、リクエストが認証され、正しいサービスにルーティングされます。
curl https://api.openaiapicompatibility.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "list all python packages for data science"}]
}'GET /v1/models エンドポイントを呼び出して接続を確認してください。これにより、uncensored モデル識別子を含む利用可能なモデルのリストが返されます。このステップを使用して、複雑なプロンプトを送信する前にネットワークアクセスと認証情報が正しいことを確認してください。
最初のチャット完了リクエスト
プロンプトメッセージを使用して /v1/chat/completions へ POST リクエストを送信します。モデルを uncensored として定義して、フィルタリングされていない推論エンジンにアクセスしてください。動作を設定するためにシステムプロンプトを含め、生成したいコンテンツのユーザーメッセージを追加してください。
from openai import OpenAI
client = OpenAI(base_url="https://api.openaiapicompatibility.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などのパラメータを調整して創造性を制御できます。このモデルは、法的な成人向けまたは論争の多いトピックを拒否しないため、多様なユースケースに適しています。出力にアクセスするには、レスポンスオブジェクトのcontentフィールドを確認してください。
SSEによるストリーミングレスポンス
リクエストでstreamパラメータをtrueに設定してストリーミングを有効にします。これにより、生成されるたびに部分的なレスポンスがServer-Sent Events (SSE)として送信されます。生成されるテキストを表示することでユーザーエクスペリエンスが向上します。
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)各チャンクにはレスポンスの差分が含まれています。これらの差分を累積することで完全なテキストを再構築できます。最終チャンクにはリクエストの総トークン使用量が含まれます。この方法は標準的なSSEクライアントやライブラリと互換性があります。これにより、長文の生成における知覚されるレイテンシを低減できます。
JSONモードと関数呼び出しの処理
response_format を json_object に設定してJSONモードを有効にします。これにより、モデルは自由形式のテキストではなく有効なJSONを出力するように強制されます。これは構造化データの抽出やAPIレスポンスに有用です。ツール使用のシナリオでは、これに関数呼び出しを組み合わせます。
tools配列でツールを定義してください。関数名、説明、パラメータを指定します。モデルはレスポンスに関数呼び出しの詳細を返します。その後、関数を実行し、結果をモデルに送信できます。これにより、uncensoredモデルとの複雑なマルチステップワークフローが可能になります。
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaiapicompatibility.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);FAQ
このAPIは既存のクライアント向けにOpenAI API互換性をサポートしていますか?
はい、当社のサービスはOpenAI APIスキーマと完全に互換性があります。ベースURLとAPIキーを変更するだけで、公式OpenAI SDKを使用できます。これにより、コードを書き換えることなく当社のuncensoredモデルに置き換えることができます。
トークン制限とコンテキストウィンドウサイズは何ですか?
プロンプトと補完を合わせたコンテキストウィンドウは100,000トークンです。リクエストごとの最大出力は16,000トークン、またはmax_tokensを設定しない場合は2,048トークンです。これらの制限を超えるリクエストはエラーを返します。
レートリミットとエラーを処理するにはどうすればよいですか?
1分あたり300リクエスト、キーあたり8つの同時リクエストに制限されています。401エラーは無効または欠落したAPIキーを示し、402エラーは残高が不足していることを意味し、429エラーはレート制限を超えたことを示します。
サインアップでキーを取得
サインアップしてキーをコピーし、ベースURLを更新します。それだけです。