Skip to main content
流式输出(Streaming)使模型的响应以增量方式逐步返回,而非等待全部生成完成后一次性返回。这可显著提升用户体验,并常用于长响应场景。

启用方式

在请求体中设置 "stream": true

流式响应格式

启用流式后,服务器通过 Server-Sent Events(SSE)持续推送数据块(chunk),每块以 data: 开头:
关键点:
  • 每个 chunk 的增量文本位于 choices[0].delta.content
  • 将所有 delta.content 按顺序拼接,即为完整响应。
  • 最后一个有效 chunk 的 finish_reason 变为 stop(正常结束)。
  • 流以 data: [DONE] 标志结束。

cURL 示例

-N 会关闭 cURL 的输出缓冲,使每个 SSE 数据块到达后立即显示。将命令中的 你的密钥 替换为实际密钥即可执行。

Python 示例

使用官方 SDK 时,流式处理非常简单,遍历返回的迭代器即可。将 API_KEY 中的 你的密钥 替换为实际密钥:

Node.js 示例

API_KEY 中的 你的密钥 替换为实际密钥:

适用场景

常见问题

流式与非流式的价格是否相同? 相同。计费仅与输入、输出 Token 数有关,与是否流式无关。 为何无法获取 usage 默认流式不返回 usage,需设置 stream_options.include_usage(且模型需支持)。 是否可中途停止? 可以。客户端断开连接即可停止接收,已生成的部分仍会计费。

后续步骤