流式请求能自动续传吗?
通常不能从任意 Token 位置精确续传;断线后重试可能从头生成,应用需要去重。
curl -N https://claudeagent.com.cn/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "COPY_FROM_V1_MODELS",
"stream": true,
"messages": [{"role": "user", "content": "Count from 1 to 5"}]
}'-N 关闭 curl 输出缓冲。客户端应逐条解析 data: 事件并识别结束标记,不能把每个网络 chunk 当成完整 JSON。
| 现象 | 可能原因 | 处理 |
|---|---|---|
| 长时间无首字 | 模型排队、上游延迟或读取超时过短 | 先用非流式短请求验证,再放宽读取超时 |
| 输出中途断开 | 网络抖动、客户端取消或代理 idle timeout | 记录 request id;仅在业务允许时重试 |
| JSON 解析错误 | 按 TCP chunk 而非 SSE event 解析 | 按空行分隔事件并拼接多行 data |
| 重复内容 | 断线后从头重试但未去重 | 为业务请求设置幂等标识或在应用层去重 |
| 浏览器报 CORS | 从前端直接暴露 Key | 改由自己的后端调用 API |
反向代理应关闭响应缓冲并设置足够的读取超时。重试必须有次数上限和退避,避免一次用户操作形成并发重放。
通常不能从任意 Token 位置精确续传;断线后重试可能从头生成,应用需要去重。
使用 curl -N 关闭客户端输出缓冲,并确认请求包含 stream: true。