メインコンテンツまでスキップ

チャット補完

チャット補完エンドポイントは、​会話に​対する​モデルの​レスポンスを​生成します。OpenAI​互換である​ため、​リクエストと​レスポンスの​形式は​OpenAI Chat Completions APIと​一致します。

POST https://api.shisa.ai/openai/v1/chat/completions
メソッドPOST
認証Authorization: Bearer YOUR_API_KEY
Content-Typeapplication/json

リクエストボディ

フィールド必須説明
modelstring必須Shisaの​モデル ID。​例: shisa-ai/shisa-v2.1-llama3.3-70bモデルを​参照してください。
messagesarray必須これまでの​会話。​メッセージオブジェクトの​順序付きリストと​して​指定します。
streamboolean任意trueの​場合、​部分的な​トークンが​Server-Sent Eventsと​して​ストリーミングされます。​デフォルトはfalse
temperaturenumber任意サンプリング温度。​高い​ほど​ランダムに​なり、​低い​ほど​決定論的に​なります。

エンドポイントは​OpenAI互換である​ため、​標準的な​サンプリングパラメータ​(top_pmax_tokensstoppresence_penaltyfrequency_penaltyなど)も​受け付けられ、​OpenAI APIと​同様に​動作します。

メッセージオブジェクト

messagesの​各エントリにはrolecontentが​あります。

フィールド説明
rolestringsystemuserassistantの​いずれか。
contentstringメッセージの​テキスト。
{
"model": "shisa-ai/shisa-v2.1-llama3.3-70b",
"messages": [
{ "role": "system", "content": "You are a helpful assistant fluent in Japanese and English." },
{ "role": "user", "content": "日本の四季について教えてください。" }
],
"temperature": 0.7,
"stream": false
}

レスポンス

"stream": falseの​場合、​エンドポイントは​単一の​チャット補完オブジェクトを​返します。​生成された​返信はchoices[0].message.contentに​あります。

{
"id": "chatcmpl-...",
"object": "chat.completion",
"created": 1700000000,
"model": "shisa-ai/shisa-v2.1-llama3.3-70b",
"choices": [
{
"index": 0,
"message": { "role": "assistant", "content": "日本には四つの季節があります……" },
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 32,
"completion_tokens": 128,
"total_tokens": 160
}
}
注記

上記の​例の​値は​説明用です — ID、​タイムスタンプ、​トークン数は​リクエストごとに​異なります。

ストリーミングレスポンス

"stream": trueの​場合、​エンドポイントは​Server-Sent Eventsを​返します。​各イベントは​チャンクであり、​その​新しい​テキストはchoices[0].delta.contentに​あります。​ストリームはdata: [DONE]センチネルで​終了します。

data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"日本"}}]}
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"には"}}]}
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}
data: [DONE]

公式の​OpenAI SDKは​この​フレーミングを​自動で​処理します — Pythonと​Nodeでの​ストリーミング例に​ついてはクイックスタートを​参照してください。

エラー

認証エラーおよびリクエストエラーは、​標準的な​HTTPステータスコードと​JSONボディとともに​返されます。​共通の​エラー形式と​ステータスコードに​ついてはエラーを、​ヘッダー要件に​ついては認証を​参照してください。

次の​ステップ

  • モデル — ワークロードに​適した​ティアを​選びます。
  • 料​金 — トークンが​どのように​課金されるか。
  • SDK — OpenAI SDKを​Shisaで​使用する。