Documentation Index
Fetch the complete documentation index at: https://docs-model.skyengine.com.cn/llms.txt
Use this file to discover all available pages before exploring further.
Responses API 流式请求示例
以下示例展示如何使用Response API的 /v1/responses 接口进行流式响应,实现实时内容生成效果。
快速开始
只需要替换 <API-KEY> 为你的实际API密钥即可运行。
curl -X POST "https://model-api.skyengine.com.cn/v1/responses" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <API-KEY>" \
-d '{
"model": "gpt-5-2025-08-07",
"input": [
{
"role": "user",
"content": [
{
"type": "input_text",
"text": "请写一首关于春天的诗"
}
]
}
],
"stream": true,
"max_output_tokens": 1000
}' \
--no-buffer
流式响应格式
Response API的流式响应使用Server-Sent Events (SSE)格式,每个事件包含两行:event: 和 data:
主要事件类型
1. 响应创建事件
event: response.created
data: {"type":"response.created","sequence_number":0,"response":{"id":"resp_04a2a34a8231e6130068fa23caaaa081939b2e2ce1e99a4492","object":"response","created_at":1761223626,"status":"in_progress"...}}
2. 输出项添加事件
event: response.output_item.added
data: {"type":"response.output_item.added","sequence_number":4,"output_index":1,"item":{"id":"msg_04a2a34a8231e6130068fa23eab57c8193ad2d031223a1220a","type":"message","status":"in_progress","content":[],"role":"assistant"}}
3. 文本增量事件(核心事件)
event: response.output_text.delta
data: {"content_index":0,"delta":"春","item_id":"msg_04a2a34a8231e6130068fa23eab57c8193ad2d031223a1220a","logprobs":[],"output_index":1,"sequence_number":6,"type":"response.output_text.delta"}
event: response.output_text.delta
data: {"content_index":0,"delta":"天","item_id":"msg_04a2a34a8231e6130068fa23eab57c8193ad2d031223a1220a","logprobs":[],"output_index":1,"sequence_number":7,"type":"response.output_text.delta"}
4. 文本输出完成事件
event: response.output_text.done
data: {"content_index":0,"item_id":"msg_04a2a34a8231e6130068fa23eab57c8193ad2d031223a1220a","logprobs":[],"output_index":1,"sequence_number":39,"text":"完整的生成文本","type":"response.output_text.done"}
5. 响应完成事件
event: response.completed
data: {"type":"response.completed","sequence_number":42,"response":{"id":"resp_04a2a34a8231e6130068fa23caaaa081939b2e2ce1e99a4492","object":"response","status":"completed","usage":{"input_tokens":67,"output_tokens":1767,"total_tokens":1834}...}}
重要参数说明
请求参数
- 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: 所有事件都有序列号,确保正确的处理顺序
流式输出的优势
- 实时反馈: 通过
response.output_text.delta事件实时获取文本增量
- 更好的用户体验: 避免长时间等待,提供打字效果
- 详细状态: 可以跟踪响应的完整生命周期
- 结构化信息: 每个事件包含丰富的元数据信息
处理流式数据的注意事项
- 正确解析SSE格式: 需要同时处理
event:和data:行
- 事件类型识别: 根据不同的事件类型执行相应的处理逻辑
- 序列号处理: 可以使用
sequence_number确保事件顺序
- 文本累积: 通过
response.output_text.delta事件的delta字段累积完整文本
- 完成检测: 通过
response.completed事件确认响应结束
实际应用场景
- 智能对话: 实现类似ChatGPT的实时对话效果
- 内容创作: 实时显示文章、诗歌、代码生成过程
- 思维过程展示: 如果启用reasoning模式,可以实时查看AI的思考过程
- 多步骤任务: 跟踪复杂任务的执行状态和进度
最佳实践示例
def robust_stream_handler(response):
"""健壮的流式响应处理器"""
full_response = ""
current_event = None
for line in response.iter_lines(decode_unicode=True):
if not line.strip():
continue
if line.startswith('event: '):
current_event = line[7:]
elif line.startswith('data: ') and current_event:
try:
data = json.loads(line[6:])
# 只处理文本增量事件
if current_event == "response.output_text.delta":
if "delta" in data:
delta = data["delta"]
full_response += delta
print(delta, end='', flush=True)
# 检测完成
elif current_event == "response.completed":
print("\n响应完成")
break
except json.JSONDecodeError:
# 跳过无效JSON
continue
return full_response
通过Response API的流式功能,您可以构建更加交互性和实时性的AI应用,为用户提供卓越的体验。