串流聊天回應
閱讀 ShareAI 對話生成嘅服務端事件,追加內容增量一次,並處理完成、錯誤同中斷嘅流。
喺呢頁面
設定 stream: true 嚟逐步接收回應。保持 HTTP 連接開啟,解析完整嘅 SSE 事件,並每次追加一個內容增量。
POST
https://api.shareai.now/api/v1/chat/completions返回一個服務端事件流。
- 基礎 URL
https://api.shareai.now- 認證
- Bearer API 密鑰或者已批准嘅 OAuth 訪問權杖
cURL
curl --no-buffer --fail-with-body https://api.shareai.now/api/v1/chat/completions \
-H "Authorization: Bearer $SHAREAI_API_KEY" \
-H "Content-Type: application/json" \
--data '{"model":"MODEL_IDENTIFIER","messages":[{"role":"user","content":"Explain server-sent events briefly."}],"stream":true}'
閱讀事件邊界。#
SSE 用空行分隔事件。網絡塊可以分割 JSON 值或者包含多個事件,所以唔好將每次網絡讀取解析為完整嘅 JSON 回應。逐步解碼 UTF-8,並保留未完成嘅數據直到事件完成。
Plain text
data: {"object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"Hello"},"finish_reason":null}]}
data: {"object":"chat.completion.chunk","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}
data: [DONE]
渲染內容一次。#
當存在時追加。 choices[0].delta.content 保留空白同重複嘅字詞。只有角色或者最後一塊可能冇內容。將 [DONE] 視為流終止符。
處理流錯誤。#
喺進入 SSE 解析器之前檢查 HTTP 狀態。流開始後,處理一個 event: error 事件同意外斷開連接。將中斷嘅答案標記為未完成,並讓用戶明確重試。唔好將第二個獨立生成嘅答案追加到部分輸出。
從你嘅應用程式取消。#
當用戶停止生成時,用你嘅HTTP客戶端嘅取消機制。保持取消、網絡故障同完成嘅答案作為獨立嘅UI狀態。唔好承諾關閉客戶端連接會撤銷已經處理嘅使用量。
最後更新日期:2026年9月15日