跳转到内容
主站 新闻 控制台

响应数据处理

本页说明如何正确解析 4ALL API 返回的响应数据,适用于所有经 Chat Completions 调用的模型。

非流式响应结构

{
"id": "chatcmpl-xxx",
"object": "chat.completion",
"model": "gpt-5.5",
"choices": [
{
"index": 0,
"message": { "role": "assistant", "content": "……" },
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 12,
"completion_tokens": 46,
"total_tokens": 58
}
}

finish_reason 处理

含义建议处理
stop正常结束直接使用
length达到 max_tokens 上限被截断提高 max_tokens 或分段续写
tool_calls模型请求调用函数执行函数后回传结果,见 FC 函数调用
content_filter内容被上游安全策略拦截调整提示词

usage 用量字段

  • usage 是对账的依据:计费按 prompt_tokens / completion_tokens 分别计价;
  • 流式调用的最后一个数据块同样携带 usage(详见流式输出);
  • 命中提示词缓存时,prompt_tokens_details.cached_tokens 标注缓存部分, 按缓存倍率计费,见缓存计费

解析建议

  • 始终读 choices[0].message.content,不要假设 choices 长度大于 1;
  • 思考类模型(-thinking 档)可能附带 reasoning_content 字段,展示时注意与正文区分, 见推理模型输出;
  • 出错时响应为 {"error": {...}} 结构,处理方式见错误码与重试