响应与计费
流式响应
流式调用的响应和结算边界。
只有已实现的流式入口支持 stream
当前支持流式的模型调用入口是 OpenAI Chat Completions、OpenAI Responses、Anthropic Messages 和 Gemini streamGenerateContent。
支持情况
| 协议 | 流式方式 | 说明 |
|---|---|---|
| OpenAI Chat Completions | 请求体 "stream": true | 网关要求上游返回可结算 usage |
| OpenAI Responses | 请求体 "stream": true | 正常读到完成事件后,从 response usage 结算 |
| OpenAI Images Generations / Images Edits | 不支持 | 图片入口当前只支持同步响应 |
| Anthropic Messages | 请求体 "stream": true | 按 Anthropic stream 观察 usage |
| Gemini GenerateContent | POST /v1beta/models/{model}:streamGenerateContent | 使用 Gemini 原生流式路径 |
| Anthropic Count Tokens | 不支持 | Count Tokens 不是 billable 模型生成调用 |
Gemini 的特殊边界
Gemini 非流式和流式是两个不同路径:
POST /v1beta/models/{model}:generateContent
POST /v1beta/models/{model}:streamGenerateContentgenerateContent 请求体里写 "stream": true 不会自动切换到流式路径,会返回 stream_not_supported。
结算边界
响应开始前失败
例如鉴权失败、余额不足、模型不存在、没有可用上游,客户端会收到对应错误响应。
响应传输中失败
上游断流或读取失败会记录为失败调用,并保留 request_id 方便排查。
响应结束后结算
服务端必须拿到当前协议要求的合法 usage 才能完成结算。缺失或异常会按 usage_missing 或 usage_invalid 处理。
客户端要保留 request_id
流式响应中问题可能发生在内容已经开始输出之后。排查时保留 X-Request-Id,比只保留最后一段输出更可靠。
最后更新于