~/docs/api/errors/

错误码

请求失败时,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)

排查清单

  1. 检查 Base URL 是否为 https://ai.agriwis.com/api/v1。
  2. 检查请求头是否包含 Authorization: Bearer ...。
  3. 检查模型名称、消息结构和参数类型。
  4. 记录错误对象中的 message 和请求 ID,联系支持时不要提交 API Key。