文字與串流輸出
下載 Markdown ↓透過同一個對話端點使用一般回應或 SSE 串流。
基礎端點#
向 POST /v1/chat/completions 傳入 model 與 messages。多輪對話通常由客戶端提交需要保留的歷史訊息。
curl 'https://api.xsopc.com/v1/chat/completions' \
-H "Authorization: Bearer $XINGSUAN_API_KEY" \
-H 'Content-Type: application/json' \
--data-binary @- <<JSON
{
"model": "$XINGSUAN_MODEL",
"messages": [
{
"role": "user",
"content": "Hello"
}
]
}
JSON參數差異#
| 欄位 | 說明 |
|---|---|
model |
平台公布的完整 ID |
messages |
訊息陣列;媒體輸入須有對應支援 |
stream |
設為 true 請求串流 |
temperature |
選填,支援及範圍因模型而異 |
max_tokens 等限制 |
僅使用模型支援的欄位,不要重複設定衝突限制 |
推理內容、工具及結構化輸出並非通用功能,請以模型詳情為準。
SSE 呼叫#
curl -N 'https://api.xsopc.com/v1/chat/completions' \
-H "Authorization: Bearer $XINGSUAN_API_KEY" \
-H 'Content-Type: application/json' \
--data-binary @- <<JSON
{
"model": "$XINGSUAN_MODEL",
"messages": [
{
"role": "user",
"content": "Hello"
}
],
"stream": true
}
JSONcurl -N 關閉輸出緩衝。一般串流使用 text/event-stream,請處理事件邊界、空增量、結束標記與錯誤。網路資料塊不一定是一個完整 JSON 事件。
只有模型與渠道支援時才要求串流用量回報。未收到最後的用量事件不代表沒有計費。
首字延遲與逾時#
延遲包含網路、排隊、上游處理及代理緩衝。長上下文、推理與高併發可能增加等待。自己的閘道應關閉 SSE 緩衝並設定適當讀取逾時。瀏覽文件不會呼叫模型。
中斷與重試#
客戶端斷線不保證上游停止,已產生的內容可能計費。逾時後先查紀錄,再決定是否重送,避免重複呼叫。