处理流式对话响应
目标
在命令行观察一次完整的流式对话响应。
前置条件
已完成首次 API 调用,并从模型列表取得有效模型 ID。
步骤
- 保持令牌和模型 ID 在环境变量中。
- 调用
/v1/chat/completions,在 JSON 中加入"stream":true。 - 使用
curl -N禁用客户端缓冲,逐行观察服务端事件。 - 在应用代码中只解析
data:行,按顺序拼接增量内容。 - 收到结束标记后关闭读取器;异常中断时保留已完成文本并记录错误。
预期结果
内容会分段到达,最终拼接结果与一次完整回复一致。
排错
- 最后一次才显示:确认客户端和反向代理没有缓冲。
- JSON 解析失败:先移除事件前缀并跳过结束标记。
- 重复文本:区分增量字段与完整字段。