错误码
请求失败时,API 会返回 HTTP 状态码和 JSON 错误对象:
{
"error": {
"message": "Invalid API key",
"type": "authentication_error",
"code": "invalid_api_key"
}
}
HTTP 状态码
| 状态码 | 类型 | 说明 |
|---|---|---|
400 |
请求错误 | JSON 格式、参数类型或参数值不正确。 |
401 |
鉴权失败 | API Key 缺失、错误、过期或已撤销。 |
403 |
权限不足 | 当前账号无权使用指定模型或接口。 |
404 |
资源不存在 | Base URL、接口路径或模型名称不正确。 |
408 |
请求超时 | 服务端在限定时间内未完成请求。 |
413 |
请求过大 | 输入内容或上传数据超过限制。 |
429 |
请求过多 | 触发频率限制或账户额度不足。 |
500 |
服务端错误 | 服务内部异常。 |
503 |
服务不可用 | 服务暂时不可用或正在维护。 |
重试策略
对于 408、429、500 和 503,可以采用指数退避重试。建议设置最大重试次数和总超时时间;对于 400、401、403 和 404,应先修正请求,不要重复发送相同请求。
import time
for attempt in range(3):
try:
response = client.chat.completions.create(
model="auto",
messages=[{"role": "user", "content": "你好"}],
)
break
except Exception:
if attempt == 2:
raise
time.sleep(2 ** attempt)
排查清单
- 检查 Base URL 是否为
https://ai.agriwis.com/api/v1。 - 检查请求头是否包含
Authorization: Bearer ...。 - 检查模型名称、消息结构和参数类型。
- 记录错误对象中的
message和请求 ID,联系支持时不要提交 API Key。