主题
流式输出
流式请求会逐步返回输出,适合聊天场景。它改善等待体验,但不保证模型计算更快,也不会自动减少费用。
Chat Completions 流式示例
设置 COCO_API_KEY 并替换模型名称。curl -N 用于减少客户端输出缓冲,不代表网关或上游一定按固定速度推送。
sh
curl -N --connect-timeout 10 --max-time 120 --fail-with-body \
https://api.cocoapi.top/v1/chat/completions \
-H "Authorization: Bearer ${COCO_API_KEY}" \
-H 'Content-Type: application/json' \
--data '{
"model": "YOUR_MODEL_ID",
"messages": [{"role": "user", "content": "Explain what an API is in one sentence."}],
"max_tokens": 128,
"stream": true
}'正确处理事件
Chat Completions 常使用 SSE 的 data: 事件行,文本增量在 choices[].delta.content 中。部分块可能只带角色、工具字段或用量,因此不能假设每块都有文本。
典型结束标志是 data: [DONE],它不是 JSON。应用还应检查异常断连和错误事件,而不是把连接关闭一律当成成功。
网络读取块不等于一个完整 SSE 事件,甚至可能拆开一个 UTF-8 字符。优先使用 SDK 或成熟 SSE 解析器,不要对每个网络块直接执行 JSON 解析。
用量与断线
部分渠道可返回流式用量,部分组合不支持或字段不同;不应因缺少 usage 就把费用当成 0。请以本站使用日志核对。
中途关闭窗口、客户端超时或取消,不保证上游没有生成,也不保证不会产生费用。已返回部分内容时,不要无提示地自动重试整段生成。
接入自己的反向代理
如果在 COCO API 与客户端之间还有自建代理,需要检查响应缓冲、读超时和 SSE 转发。不要通过关闭 TLS 校验来解决流式或连接问题。
更多定位步骤见常见问题与排错。