Skip to main content
服务器发送事件 (SSE): 流式传输使用 SSE 格式,内容类型为 text/event-stream

流式传输工作原理

1

启用流式传输

在您的请求中设置 stream: true 以接收增量响应。
2

接收数据块

在生成响应令牌时获取它们,无需等待完成。
3

处理事件

处理包含 JSON 数据块的 data: 事件,直到收到 [DONE] 信号。

实现示例

使用异步支持

流事件格式

Delta 事件

每个流式数据块遵循以下格式:

流生命周期

  1. 初始数据块 - 包含角色但没有内容:
  1. 内容数据块 - 增量文本:
  1. 最终数据块 - 包含 finish_reason:
  1. 流结束信号:

高级流式传输功能

流式函数调用

在生成时流式传输函数调用:

进度跟踪

流中的错误处理

流连接可能在中途失败。始终实现适当的错误处理。

性能优化

缓冲策略

使用场景

实时聊天界面

实时翻译

最佳实践

  1. 处理连接中断 - 实现带有指数退避的重试逻辑
  2. 为 UI 更新设置缓冲 - 不要为每个数据块更新 DOM 以避免性能问题
  3. 显示加载指示器 - 显示输入指示器或进度条
  4. 实现超时 - 为流连接设置合理的超时
  5. 清理资源 - 始终正确关闭流以避免内存泄漏

下一步