跳到正文

流式输出 ​

流式请求会逐步返回输出,适合聊天场景。它改善等待体验,但不保证模型计算更快,也不会自动减少费用。

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 校验来解决流式或连接问题。

更多定位步骤见常见问题与排错。