Skip to Content
常见问题与故障排查流式输出失效问题

流式输出失效问题

当流式输出不工作时,通常有以下几种原因。

常见问题

1. stream 参数未设置为 true

# 错误 - 缺少 stream=True response = client.chat.completions.create( model="gpt-4o", messages=[...] ) # 正确 stream = client.chat.completions.create( model="gpt-4o", messages=[...], stream=True # 开启流式输出 )

2. 使用了错误的遍历方式

使用 SDK 时,需要正确遍历流式响应:

# 错误 - 直接访问 response.choices response = client.chat.completions.create(model="gpt-4o", messages=[...], stream=True) print(response.choices[0].message.content) # 流式模式下不可这样访问 # 正确 - 遍历 chunks stream = client.chat.completions.create(model="gpt-4o", messages=[...], stream=True) for chunk in stream: if chunk.choices[0].delta.content: print(chunk.choices[0].delta.content, end="")

3. 网络代理/防火墙干扰 SSE

某些网络代理或防火墙可能干扰 SSE 长连接。

解决

  • 检查网络代理配置
  • 尝试在命令行中直接 cURL 测试,排除代理影响
curl https://ai.amaxsmp.com/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer sk-xxx" \ --no-buffer \ -d '{"model": "gpt-4o", "messages": [...], "stream": true}'

4. 客户端连接提前关闭

如果你的客户端在处理了一些 chunk 后主动关闭连接,可能影响后续内容的接收。

5. 特定模型不支持流式

虽然绝大多数模型都支持流式输出,但极少数模型可能不支持。建议确认模型能力。

排查步骤

  1. 确认 stream: true 参数已设置
  2. 用 cURL 测试,确认网关能正常返回 SSE
  3. 检查 SDK 版本是否最新
  4. 检查代码中的流式处理逻辑
  5. 查看 调用日志 确认请求状态

相关页面