响应与错误格式
当你通过 OpenAI 兼容方式接入云桥AI时,最常见的是两类返回:
- 正常响应
- 错误响应
理解它们的结构,排查会快很多。
正常响应
以 chat/completions 为例,成功时通常会返回:
idobjectcreatedmodelchoicesusage
你最常读取的是:
text
choices[0].message.content错误响应
当请求失败时,常见返回会包含错误对象,例如:
json
{
"error": {
"message": "Invalid API key provided",
"type": "invalid_request_error",
"code": "invalid_api_key"
}
}实际字段可能因错误类型略有变化,但排查时优先看三件事:
message:人类可读的报错说明type:错误类别code:更具体的错误码或平台标识
流式返回的区别
如果启用了 stream: true,返回不会是一次性完整 JSON,而是连续分片。你需要:
- 让客户端支持读取流式数据
- 按分片逐段处理内容
- 不要用只支持一次性 JSON 的逻辑直接解析整段输出
排查顺序
遇到错误时,建议按这个顺序判断:
- HTTP 状态码是多少
message在说什么- 是鉴权、额度、格式还是网络问题
- 这个问题在网页端、服务端、第三方客户端是否同时出现
如果你只看到“调用失败”,而没有记录原始响应体,排查会慢很多。建议在服务端保留失败响应日志,但不要泄露 Key。