Skip to main content

Responses API 流式请求示例

以下示例展示如何使用Response API的 /v1/responses 接口进行流式响应,实现实时内容生成效果。

快速开始

只需要替换 <API-KEY> 为你的实际API密钥即可运行。

流式响应格式

Response API的流式响应使用Server-Sent Events (SSE)格式,每个事件包含两行:event:data:

主要事件类型

1. 响应创建事件

2. 输出项添加事件

3. 文本增量事件(核心事件)

4. 文本输出完成事件

5. 响应完成事件

重要参数说明

请求参数

  • model: 使用的模型名称,如 “gpt-5-2025-08-07”
  • input: 输入消息数组,每个消息包含角色和内容
  • stream: 设置为 true 启用流式输出
  • max_output_tokens: 限制输出的最大token数量

关键事件字段

  • sequence_number: 事件序列号,按时间顺序递增
  • delta: 文本增量内容(在response.output_text.delta事件中)
  • item_id: 输出项唯一标识符
  • output_index: 输出项在响应中的索引位置

SSE格式特点

  • 无[DONE]标记: Response API不使用[DONE]标记,而是通过response.completed事件表示结束
  • event + data格式: 每个事件都有明确的事件类型和对应的数据
  • sequence_number: 所有事件都有序列号,确保正确的处理顺序

流式输出的优势

  1. 实时反馈: 通过response.output_text.delta事件实时获取文本增量
  2. 更好的用户体验: 避免长时间等待,提供打字效果
  3. 详细状态: 可以跟踪响应的完整生命周期
  4. 结构化信息: 每个事件包含丰富的元数据信息

处理流式数据的注意事项

  1. 正确解析SSE格式: 需要同时处理event:data:
  2. 事件类型识别: 根据不同的事件类型执行相应的处理逻辑
  3. 序列号处理: 可以使用sequence_number确保事件顺序
  4. 文本累积: 通过response.output_text.delta事件的delta字段累积完整文本
  5. 完成检测: 通过response.completed事件确认响应结束

实际应用场景

  • 智能对话: 实现类似ChatGPT的实时对话效果
  • 内容创作: 实时显示文章、诗歌、代码生成过程
  • 思维过程展示: 如果启用reasoning模式,可以实时查看AI的思考过程
  • 多步骤任务: 跟踪复杂任务的执行状态和进度

最佳实践示例

通过Response API的流式功能,您可以构建更加交互性和实时性的AI应用,为用户提供卓越的体验。