读取 Chat Completions 流式响应¶
在 Chat Completions 请求中将 stream 设为 true,即可通过服务器发送事件(SSE)持续读取生成增量。本页只适用于 Chat Completions;Responses 和 Anthropic Messages 使用各自的事件形态。
POST https://token.moi.matrixorigin.cn/v1/chat/completions
调用前准备¶
准备具有 Genesis 权限的访问凭据,以及支持 Chat Completions 流式输出的模型 ID。
请求示例¶
curl -N -X POST "https://token.moi.matrixorigin.cn/v1/chat/completions" \
-H "Authorization: Bearer $GENESIS_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-H 'Accept: text/event-stream' \
-d '{
"model": "'"$MODEL_ID"'",
"messages": [{"role": "user", "content": "用一句话说明主键的作用。"}],
"stream": true
}'
-N 会关闭 curl 的输出缓冲,使 SSE 事件能够逐行读取。
成功响应¶
成功时响应媒体类型为 text/event-stream。逐个解析完整事件;只有包含 delta.content 的事件才追加文本。收到 data: [DONE] 后,才将本次结果标记为完成。
data: {"object":"chat.completion.chunk","choices":[{"delta":{"content":"主键"}}]}
data: {"object":"chat.completion.chunk","choices":[{"delta":{"content":"用于唯一标识表中的每一行。"}}]}
data: [DONE]
网络数据块可能拆分一个 SSE 事件。保留不完整状态,直到收到完整事件和 [DONE]。
错误响应¶
流建立前的错误使用普通 HTTP 状态和 JSON 错误对象;流开始后的异常可能表现为事件异常或连接中断。连接在 [DONE] 前中断时,将结果标记为中断,而不是完成。
后续操作¶
查看完整的 Chat Completions 请求、响应和字段说明。
最后更新于