错误代码

探索 API 错误代码和解决方案。

本指南概述了您可能从 API 和我们的官方 Python 库看到的错误代码。概述中提到的每个错误代码都有一个专门的部分,其中包含进一步的指导。

API 错误

法典概述
401 - 无效的身份验证原因:无效的身份验证
解决方案:确保使用正确的 API 密钥和请求组织。
401 - 提供的 API 密钥不正确原因:请求的 API 密钥不正确。
解决方案:确保使用的 API 密钥正确无误,清除浏览器缓存,或生成新的缓存。
401 - 您必须是组织的成员才能使用 API原因:您的账户不属于组织。
解决方案:联系我们以加入新组织,或让您的组织管理员邀请您加入组织
403 - 不支持国家、区域或区域原因:您正在从不受支持的国家、地区或地区访问 API。
解决方案: 请参阅此页面以了解更多信息。
429 - 达到请求的速率限制原因:您发送请求的速度太快。
解决方案:调整请求速度。阅读速率限制指南
429 - 您超出了当前配额,请检查您的计划和账单详细信息原因:您的积分已用完或达到每月最高支出。
解决方案:购买更多积分或了解如何提高限制
500 - 服务器在处理您的请求时出错原因:我们的服务器上有问题。
解决方案:短暂等待后重试您的请求,如果问题仍然存在,请联系我们。检查状态页面
503 - 发动机当前过载,请稍后重试原因:我们的服务器遇到高流量。
解决方案:请在短暂等待后重试您的请求。

Python 库错误类型

类型概述
APIConnectionError原因:连接到我们的服务时出现问题。
解决方案:检查您的网络设置、代理配置、SSL 证书或防火墙规则。
APITimeout错误原因:请求超时。
解决方案:短暂等待后重试您的请求,如果问题仍然存在,请联系我们。
AuthenticationError (认证错误)原因:您的 API 密钥或令牌无效、过期或已吊销。
解决方案:检查您的 API 密钥或令牌,确保其正确且有效。您可能需要从您的账户控制面板生成一个新的。
BadRequestError 错误原因:您的请求格式不正确或缺少一些必需的参数,例如令牌或输入。
解决方案:错误消息应告知您所犯的具体错误。检查您正在调用的特定 API 方法的文档,并确保发送有效且完整的参数。您可能还需要检查请求数据的编码、格式或大小。
冲突错误原因:资源已由另一个请求更新。
解决方案:尝试再次更新资源,并确保没有其他请求尝试更新它。
InternalServer错误原因:问题在我们这边。
解决方案:短暂等待后重试您的请求,如果问题仍然存在,请联系我们。
NotFoundError 错误原因:请求的资源不存在。
解决方案:确保您是正确的资源标识符。
PermissionDeniedError (权限拒绝错误)原因:您无权访问请求的资源。
解决方案:确保您使用的是正确的 API 密钥、组织 ID 和资源 ID。
RateLimitError原因:您已达到分配的速率限制。
解决方案:调整请求速度。在我们的速率限制指南中阅读更多内容。
UnprocessableEntityError原因:尽管格式正确,但无法处理请求。
解决方法:请重试该请求。

持续性错误

如果问题仍然存在,请通过聊天联系我们的支持团队,并向他们提供以下信息:

  • 您正在使用的模型
  • 您收到的错误消息和代码
  • 您发送的请求数据和标头
  • 请求的时间戳和时区
  • 可能有助于我们诊断问题的任何其他相关详细信息

我们的支持团队将调查问题并尽快回复您。请注意,由于需求量大,我们的支持排队时间可能会很长。您也可以在我们的社区论坛中发帖,但请务必省略任何敏感信息。

处理错误

我们建议您以编程方式处理 API 返回的错误。为此,您可能需要使用如下所示的代码片段:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import openai
from openai import OpenAI
client = OpenAI()

try:
  #Make your OpenAI API request here
  response = client.chat.completions.create(
    prompt="Hello world",
    model="gpt-4o-mini"
  )
except openai.APIError as e:
  #Handle API error here, e.g. retry or log
  print(f"OpenAI API returned an API Error: {e}")
  pass
except openai.APIConnectionError as e:
  #Handle connection error here
  print(f"Failed to connect to OpenAI API: {e}")
  pass
except openai.RateLimitError as e:
  #Handle rate limit error (we recommend using exponential backoff)
  print(f"OpenAI API request exceeded rate limit: {e}")
  pass