字段与用途
| 字段路径 | 位置 | 类型 | 必填 | 填写规则与说明 | 允许值 / 约束 | 示例 |
|---|---|---|---|---|---|---|
choices | 响应 JSON | array | 否 | 流式候选数组。按 index 聚合 delta;内容和工具 arguments 都可能拆成多片,finish_reason 不是正文。 | - | - |
choices[] | 响应 JSON | object | 否 | 数组元素。 | - | - |
choices[].index | 响应 JSON | integer | 否 | - | - | - |
choices[].delta | 响应 JSON | object | 否 | - | - | - |
choices[].delta.role | 响应 JSON | string | 否 | - | - | - |
choices[].delta.content | 响应 JSON | string | 否 | - | - | - |
choices[].delta.reasoning_content | 响应 JSON | string | 否 | - | - | - |
choices[].delta.tool_calls | 响应 JSON | array<object> | 否 | - | - | - |
choices[].delta.tool_calls[] | 响应 JSON | object | 否 | 数组元素。 | - | - |
choices[].delta.tool_calls[].id | 响应 JSON | string | 否 | - | - | - |
choices[].delta.tool_calls[].type | 响应 JSON | string | 否 | - | - | - |
choices[].delta.tool_calls[].function | 响应 JSON | object | 否 | - | - | - |
choices[].delta.tool_calls[].function.name | 响应 JSON | string | 否 | - | - | - |
choices[].delta.tool_calls[].function.arguments | 响应 JSON | string | 否 | - | - | - |
choices[].finish_reason | 响应 JSON | string | 否 | - | - | - |
usage | 响应 JSON | object | 否 | 用量对象,可能因协议/流式缺失。prompt_tokens / completion_tokens / total_tokens;推理详情按模型返回。 | - | - |
usage.prompt_tokens | 响应 JSON | integer | 否 | 提示词 Token 数 | - | - |
usage.completion_tokens | 响应 JSON | integer | 否 | 补全 Token 数 | - | - |
usage.total_tokens | 响应 JSON | integer | 否 | 总 Token 数 | - | - |
usage.prompt_tokens_details | 响应 JSON | object | 否 | - | - | - |
usage.prompt_tokens_details.cached_tokens | 响应 JSON | integer | 否 | - | - | - |
usage.prompt_tokens_details.text_tokens | 响应 JSON | integer | 否 | - | - | - |
usage.prompt_tokens_details.audio_tokens | 响应 JSON | integer | 否 | - | - | - |
usage.prompt_tokens_details.image_tokens | 响应 JSON | integer | 否 | - | - | - |
usage.completion_tokens_details | 响应 JSON | object | 否 | - | - | - |
usage.completion_tokens_details.text_tokens | 响应 JSON | integer | 否 | - | - | - |
usage.completion_tokens_details.audio_tokens | 响应 JSON | integer | 否 | - | - | - |
usage.completion_tokens_details.reasoning_tokens | 响应 JSON | integer | 否 | - | - | - |
SSE 使用 Content-Type: text/event-stream。按空行分隔事件,合并同一事件内多条 data 行后再解析 JSON;网络 chunk 可能跨 UTF-8 字符和事件。按 choices[].index 拼接 delta.content;工具参数按 delta.tool_calls[].index 累加,全部收齐后才解析 JSON。choices=[] 的用量事件合法。data: [DONE] 表示传输结束,还要检查各候选 finish_reason。断线没有通用续传或查询入口。
结构示意
data: {"choices":[{"index":0,"delta":{"content":"你好"},"finish_reason":null}]}
data: {"choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}
data: [DONE]
示意省略可选字段。delta.role 可能只在首片出现,content 可能缺失。先按工具 index 汇总 arguments,再在工具结束后 JSON.parse;不要逐片执行。
调用示例与参考
常见错误
401:检查本站 API Key 和 Bearer 格式;403:确认此 Key 可用该模型;429:遵循 Retry-After 退避。超时或 5xx 时保留请求标识和脱敏错误,避免盲目重发;其他通用排查见聊天接入总览。