错误处理
接口遵循标准 HTTP 状态码,错误响应体为 JSON,通常形如:
{ "error": { "message": "具体错误描述", "type": "invalid_request_error", "code": "..." }}| 状态码 | 含义 | 常见原因与排查 |
|---|---|---|
400 | 请求格式错误 | 参数缺失 / 类型错误;Anthropic 协议漏填 max_tokens。 |
401 | 鉴权失败 | 密钥错误 / 已删除,或鉴权头用错(Bearer 与 x-api-key 混用)。 |
402 | 余额不足 | 账户余额耗尽,充值后恢复。 |
403 | 无权限 | 密钥被禁用,或无权访问该模型 / 分组。 |
404 | 资源不存在 | 路径写错,或 model 名称不存在。 |
429 | 触发限速 | 见 速率限制,退避重试。 |
5xx | 上游 / 网关异常 | 上游临时故障,稍后重试或锁定其他供应商。 |
- 先看
error.message:大多数问题描述里已写明。 - 核对 base_url 与协议:
/v1(OpenAI)还是/anthropic(Anthropic),鉴权头要匹配。 - 核对模型名:用 模型接口 确认
model拼写存在。 - 检查余额:
402即余额问题。 - 重试
5xx/429:用指数退避;持续失败再联系客服。
流式请求的错误
Section titled “流式请求的错误”stream: true 时,错误可能在建立连接后以 SSE 事件返回。客户端应处理流中途出现的 error 事件,而不仅依赖 HTTP 状态码。