對話補全介面
請求與回應結構、串流輸出,以及 Anthropic / Gemini 協議的等價端點。
對話補全是使用頻率最高的端點:把一串訊息送給模型,取回生成的回覆。平台的主要入口是 OpenAI 相容協議;Anthropic 與 Gemini 協議則為同構的等價形式。
請求結構(OpenAI 相容)
POST {base}/chat/completions——鑑權方式見鑑權方式:
{
"model": "your-model",
"messages": [
{"role": "system", "content": "You are a support assistant."},
{"role": "user", "content": "Where is my order?"},
{"role": "assistant", "content": "Sure, may I have the order number?"},
{"role": "user", "content": "A1024"}
],
"temperature": 0.7,
"max_tokens": 1024,
"stream": false
}
messages是依序排列的對話歷史;role為system/user/assistant。多輪對話時,客戶端會把完整歷史串接起來,每次重新送出;temperature越高輸出變化越大(常用範圍 0–1);max_tokens限制回覆長度;- 串流輸出:設
"stream": true時,回應會透過 SSE 逐段推送(choices[0].delta)——非常適合邊生成邊顯示文字。使用官方 SDK 時:傳入stream=True並迭代即可。
回應結構
非串流回應的主要欄位:
{
"choices": [
{
"message": {"role": "assistant", "content": "..."},
"finish_reason": "stop"
}
],
"usage": {"prompt_tokens": 58, "completion_tokens": 132, "total_tokens": 190}
}
choices[0].message.content是回覆內容;finish_reason為stop表示自然結束,length表示被max_tokens截斷;usage是本次呼叫的 Token 消耗——計費與「帳戶」頁都以此為依據。
其他協議的等價端點
- Anthropic:
POST {base}/v1/messages——欄位名稱不同(max_tokens為必填,回覆放在content陣列中),語意其餘完全相同; - Gemini:
POST {base}/v1beta/models/{model}:generateContent——訊息放在contents陣列中。
三種協議互為同構;遷移基本上是欄位改名。實務上的做法是使用對應的官方 SDK(openai / @anthropic-ai/sdk / @google/genai),並把 base_url 指向平台。

