错误处理
所有错误响应使用统一的 JSON 格式。
错误格式
json
{
"error": {
"message": "Error description",
"type": "error_type",
"code": "error_code"
}
}错误码速查
| HTTP 状态码 | type | code | 含义 |
|---|---|---|---|
| 400 | invalid_request | invalid_request_error | 请求格式错误 |
| 400 | invalid_request | model_not_found | 指定的模型不存在或不可用 |
| 401 | authentication_error | invalid_api_key | API Key 无效或缺失 |
| 402 | insufficient_quota | quota_exceeded | 余额不足,请充值 |
| 429 | rate_limit_exceeded | rate_limit_exceeded | 请求过于频繁,请稍后重试 |
| 500 | internal_error | internal_server_error | 服务内部错误 |
| 502 | upstream_error | upstream_error | 上游模型服务返回错误 |
| 503 | service_unavailable | service_unavailable | 上游服务暂时不可用 |
重试建议
- 429:等待几秒后重试,建议使用指数退避
- 502/503:非流式请求会自动重试一次(延迟 500ms);如果仍然失败,请稍后重试
- 400/401/402:客户端错误,请检查请求后修正
流式错误
流式传输过程中如果上游出错,错误会以 SSE 事件发送。
text
data: {"error":{"message":"Upstream error description","type":"upstream_error","code":"stream_error"}}
data: [DONE]