APIドキュメント
既存のOpenAI互換コードを当エンドポイントに差し替えてください。このガイドでは、ゼロ設定のオーバーヘッドで接続、認証、レスポンスストリーミングの方法を示します。
認証 & ベースURL
クライアントを正しいベースURLに接続してください。互換性のために標準的なOpenAIヘッダーを受け付けます。APIキーはBearerトークンとしてAuthorizationヘッダーに設定します。環境変数から直接渡すことで、シークレットのハードコーディングを避けられます。この設定はOpenAIプロトコルをサポートするすべてのライブラリで動作します。
最初のリクエスト
接続性を確認し、uncensoredな動作を確認するために、シンプルなチャット完了を送信します。モデルID「uncensored」を使用してテキスト生成を行います。エンドポイントは、選択と使用量メトリクスを含む標準的なJSONを返します。401エラーが発生した場合は、キーの形式を確認してください。402エラーは、前払い残高が不足していることを示します。このクイックテストにより、統合が本番トラフィックの準備ができていることが確認されます。
curl https://api.mistralbaseurl.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List installed python packages with versions"}]
}'
Python SDK統合
OpenAI PythonパッケージにベースURLを使用させます。APIキーとモデル名を明示的に設定します。roleとcontentキーを持つ辞書のリストとしてメッセージを渡します。レスポンスオブジェクトには、choices[0].message.contentに生成されたテキストが含まれます。実行中のネットワークやレートリミットエラーをキャッチするために、例外を適切に処理します。
from openai import OpenAI
client = OpenAI(base_url="https://api.mistralbaseurl.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 SDKのセットアップ
ベースURLとキーを使用してOpenAIクライアントを初期化します。ユーザーとアシスタントのロールを持つメッセージ配列を定義します。uncensoredモデルでchat.completions.createを呼び出します。レスポンスは最初の選択肢として生成されたテキストを提供します。このパターンはNodeアプリケーションの同期および非同期呼び出しの両方に使用します。
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.mistralbaseurl.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をtrueに設定してストリーミングを有効にします。APIは生成されるデータチャンクを送信します。各チャンクにはバッファに追加できるデルタテキストが含まれます。このアプローチは長い出力の知覚レイテンシを削減します。最終チャンクでトークン使用量を監視し、課金を正確に追跡してください。
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)
制限 & コンテキストウィンドウ
アカウントは100,000トークンのコンテキストウィンドをサポートしています。1リクエストあたりの最大出力は16,000トークンです。1分あたり300リクエストを送信できます。同時に実行されるリクエストは8つまでです。ボディサイズが8MBを超えるリクエストは失敗します。これらの制限を活用してリトライロジックを設計してください。429などのエラーはレート制限に達したことを示します。拒否はクレジットを消費しません。
よくある質問
このAPIのmistralベースURLは?
ベースURLとして HTTPS://api.mistralbaseurl.com/v1 を使用してください。これはOpenAI互換のSDKであればどれでも動作します。クライアントをそこに向け、モデルを uncensored に設定してください。
429レートリミットエラーを処理するにはどうすればよいですか?
1分あたり300リクエストを超えると429エラーが発生します。クライアント側で指数関数的バックオフを実装してください。retry-afterヘッダーで指定された遅延期間後に再試行してください。
Uncensoredモデルはストリーミングに対応していますか?
はい、リクエストでstreamをtrueに設定します。APIはトークンの差分を含むServer-Sent Eventsを送信します。これらのチャンクを解析して、完全な完了を待たずにUIをリアルタイムで更新します。
APIキーを今すぐ取得
サインアップしてキーを取得し、ベースURLを更新するだけ。これだけです。