错误码
中转层状态码
| 码 | 名称 | 含义 | 能重试 |
|---|---|---|---|
| 400 | Bad Request | 请求体不合法 | 改请求 |
| 401 | Unauthorized | key 无效 | 否 |
| 403 | Forbidden | 分组无此模型权限 | 否 |
| 404 | Not Found | 路径不存在(含未实现端点) | 否 |
| 413 | Payload Too Large | 请求体过大 | 缩小请求 |
| 429 | Too Many Requests | 限流 / 额度耗尽 | 退避重试 |
| 500 | Internal Server Error | 上游异常 | 可重试 |
| 502 | Bad Gateway | 上游不可达 | 可重试 |
| 503 | Service Unavailable | 上游暂不可用 | 可重试 |
| 504 | Gateway Timeout | 上游超时 | 可重试 |
常见 message 文本对照
| message 片段 | 含义 | 处理 |
|---|---|---|
Invalid token | key 无效或已禁用 | 换 key / 启用 |
token quota is not enough | 令牌额度用尽 | 加额度 |
insufficient user quota | 账户余额不足 | 充值 |
model not found | 模型不在分组内 | /v1/models 确认 |
no available channel | 暂时无可用上游 | 稍后重试 |
context length exceeded | 输入超上下文窗口 | 截断或换大窗口模型 |
rate limit | 触发限流 | 指数退避 |
read request body failed | 请求体读取失败 | 检查上传方式 |
上游错误透传
上游模型的原始错误会透传,code 字段可能非空,例如:
{
"error": {
"code": "invalid_request_error",
"message": "max_tokens: must be greater than 0 (...)",
"type": "new_api_error"
}
}
这类错误不要重试——是参数问题。
未实现端点
以下端点固定返回 404(不是 501):
/v1/files
/v1/fine-tunes
/v1/images/variations
/v1beta/models/{model}:countTokens
排障三步
- 看 HTTP 状态码 → 判断是鉴权、参数、还是上游问题
- 看 request id → 提供给客服可精确定位
- 对照本表 → 决定改配置还是重试