逐 token 实时接收模型生成的文本。
启用流式输出
- OpenAI Chat Completions
- OpenAI Responses API
- DashScope
默认不返回用量信息。设置
stream_options 可在最后一个 chunk 中获取 token 用量。事件格式
每个 SSE 事件是一行 data:,内容为 JSON 格式的 chunk。最后一条 data: [DONE] 表示流结束。
思考模式下的流式输出
两阶段流式输出:先输出思考过程,再输出回答。
- OpenAI Chat Completions
- OpenAI Responses API
- DashScope
工具调用的流式输出
流式输出 function calling 响应时,工具调用的参数以增量 delta 形式到达,需要拼接完成后再解析 JSON。
- Chat Completions
- Responses API
每个 chunk 的
delta 可能包含 tool_calls[i].function.arguments——一个 JSON 片段字符串。按 tool call 索引累积所有片段,流结束后再 JSON.parse() 完整字符串。启用思考模式后,流式输出分为三个阶段:思考 token、工具调用 delta,以及(发送工具返回结果后的)最终回答。
注意事项
- Nginx 代理:设置
proxy_buffering off,否则 SSE 事件会被缓冲 - 高并发场景:合理配置连接池大小,监控文件描述符数量
- Web 前端:使用
ReadableStream+TextDecoderStream处理流 - 输出质量:流式输出不影响响应质量
- 仅支持流式输出的模型:QwQ 和 QVQ 仅支持流式输出,非流式调用会失败或返回空内容。

