错误码open in new window

本指南包括一个关于你可能从APIopen in new window和我们的官方Python库open in new window中看到的错误代码的概述。概述中提到的每个错误代码都有一个专门的章节,提供进一步的指导。

API错误

CODEOVERVIEW
401 - Invalid AuthenticationCause: 无效的身份验证。
Solution: 确保使用正确的 API 密钥open in new window和请求组织。
401 - Incorrect API key providedCause: 请求的 API 密钥不正确。
Solution: 确保使用的 API 密钥是正确的,清除浏览器缓存或生成新的密钥open in new window
401 - You must be a member of an organization to use the APICause: 您的帐户不属于任何组织。
Solution: 与我们联系以加入新组织或要求组织管理员邀请您加入组织open in new window
429 - Rate limit reached for requestsCause: 您发送请求的速度太快。
Solution: 控制请求速度。请阅读速率限制指南
429 - You exceeded your current quota, please check your plan and billing detailsCause: 您已达到最大月度消费限额(硬限制),可以在帐户计费部分open in new window中查看。
Solution: 申请提高限额open in new window
429 - The engine is currently overloaded, please try again laterCause: 我们的服务器正在经历高流量。
Solution: 请稍后重试您的请求。
500 - The server had an error while processing your requestCause: 我们的服务器出现问题。
Solution: 在稍后重试您的请求,如果问题仍然存在,请与我们联系。查看状态页面open in new window
401 - Invalid Authentication

这条错误信息表明,你的认证凭证无效。这可能有几个原因,例如:

  • 你正在使用一个被撤销的API密钥。
  • 你正在使用一个不同于分配给请求机构的API密钥。
  • 你使用的API密钥不具备你所调用的端点的必要权限。

要解决这个错误,请遵循以下步骤:

401 - Incorrect API key provided

这个错误信息表明,你在请求中使用的API密钥不正确。这可能有几个原因,例如:

  • 你的API密钥中有一个错别字或一个多余的空格。
  • 你正在使用一个属于不同组织的API密钥。
  • 你正在使用一个已经被删除或停用的API密钥。
  • 一个旧的、被撤销的API密钥可能被缓存在本地。

要解决这个错误,请遵循以下步骤:

401 - You must be a member of an organization to use the API

这个错误信息表明你的账户不属于一个组织。这可能有几个原因,如::

  • 你已经离开或被从你以前的组织中删除。
  • 你的组织已被删除。

要解决这个错误,请遵循以下步骤:

  • 如果你已经离开或被从你以前的组织中删除,你可以申请一个新的组织或被-邀请到一个现有的组织中。
  • 要申请一个新的组织,请通过help.openai.com与我们联系。
  • 现有的组织所有者可以通过会员面板open in new window邀请你加入他们的组织。
429 - Rate limit reached for requests

这条错误信息表明,你已经达到了你指定的API速率限制。这意味着你在短时间内提交了太多的token或请求,超过了允许的请求数量。这可能发生在几个原因上,例如:

  • 你正在使用一个循环或脚本,进行频繁或并发的请求。
  • 你正在与其他用户或应用程序分享你的API密钥。
  • 你正在使用一个速率限制较低的免费计划。

要解决这个错误,请遵循以下步骤:

  • 掌握你的请求节奏,避免进行不必要的或多余的调用。
  • 如果你正在使用一个循环或脚本,确保实现一个回退机制或重试逻辑,尊重速率限制和响应头。你可以在我们的速率限制指南中阅读更多关于我们的速率限制政策和最佳做法。
  • 如果你与其他用户共享你的组织,请注意,限制是适用于每个组织而不是每个用户。值得检查的是,你的团队中其他人的使用情况,因为这将有助于限制。
  • 如果你使用的是免费或低级别的计划,考虑升级到提供更高速率限制的现收现付计划。你可以在我们的速率限制指南中比较每个计划的限制。
429 - You exceeded your current quota, please check your plan and billing details

这条错误信息表明,你已经达到了你的API的每月最大消费额。你可以在你的账户计费设置中的'hard limit'下查看你的最大月度限额。这意味着你已经消耗了分配给你的计划的所有点数,并且达到了你当前计费周期的上限。这可能发生在几个原因上,例如:

  • 你正在使用一个高容量或复杂的服务,消耗了大量的点数或token。
  • 你的限额设置得太低,不适合你的组织的使用。

要解决这个错误,请遵循以下步骤:

429 - The engine is currently overloaded, please try again later

这个错误信息表明,我们的服务器正经历高流量,目前无法处理您的请求。这可能有几个原因,例如:

  • 对我们的服务需求突然激增。
  • 我们的服务器有定期或不定期的维护或更新。
  • 我们的服务器出现了意外或不可避免的中断或事故。

要解决这个错误,请遵循以下步骤:

  • 在短暂的等待后重试你的请求。我们建议使用指数退避策略或重试逻辑,尊重响应头和速率限制。你可以阅读更多关于我们速率限制的最佳做法open in new window
  • 检查我们的状态页面open in new window,了解有关我们服务和服务器的任何更新或公告。
  • 如果你在一段合理的时间后仍然收到这个错误,请联系我们以获得进一步的帮助。我们对造成的任何不便表示歉意,并感谢您的耐心和理解。

Python库错误类别

TYPEOVERVIEW
APIErrorCause: 我们这边出现了问题。
Solution: 稍等片刻后重试,如果问题仍然存在,请联系我们。
TimeoutCause: 请求超时。
Solution: 稍等片刻后重试,如果问题仍然存在,请联系我们。
RateLimitErrorCause: 您已达到分配的速率限制。
Solution: 控制您的请求速率。阅读更多信息请参见我们的速率限制指南
APIConnectionErrorCause: 连接我们服务的问题。
Solution: 检查您的网络设置、代理配置、SSL证书或防火墙规则。
InvalidRequestErrorCause: 您的请求存在格式问题或缺少某些必需的参数,例如token或输入。
Solution: 错误信息应该会告诉您具体的错误信息。查看您调用的特定API方法的文档open in new window,并确保您发送的参数有效且完整。您还可能需要检查请求数据的编码、格式或大小。
AuthenticationErrorCause: 您的API密钥或token无效、过期或被撤销。
Solution: 检查您的API密钥或token,并确保其正确和有效。您可能需要从您的账户仪表板中生成一个新的。
ServiceUnavailableErrorCause: 我们的服务器出现问题。
Solution: 稍等片刻后重试,如果问题仍然存在,请联系我们。请查看状态页面open in new window
APIError

一个APIError表示在处理你的请求时,我们这边出了问题。这可能是由于一个临时错误,一个错误,或一个系统中断。 我们对造成的任何不便表示歉意,我们正在努力尽快解决任何问题。你可以查看我们的系统状态页面open in new window,了解更多信息。

如果你遇到APIError,请尝试以下步骤:

  • 等待几秒钟,重试你的请求。有时,问题可能很快得到解决,你的请求可能在第二次尝试时成功。
  • 检查我们的状态页面,了解任何可能影响我们服务的持续事件或维护。如果有一个活跃的事件,请关注更新,并等待它被解决后再重试你的请求。
  • 如果问题仍然存在,请查看我们的持续错误下一步措施部分。

我们的支持团队将调查该问题并尽快回复你。请注意,由于需求量大,我们的支持队列时间可能会很长。你也可以在我们的社区论坛发帖open in new window,但要确保省略任何敏感信息。

Timeout

一个Timeout表明你的请求完成的时间太长,我们的服务器关闭了连接。这可能是由于网络问题,我们的服务负载过重,或者是一个需要更多处理时间的复杂请求。 如果你遇到一个Timeout错误,请尝试以下步骤:

  • 等待几秒钟并重试您的请求。有时,网络拥堵或我们服务的负载可能会减少,你的请求可能会在第二次尝试时成功。
  • 检查你的网络设置,确保你有一个稳定和快速的网络连接。你可能需要切换到一个不同的网络,使用有线连接,或减少使用带宽的设备或应用程序的数量。
  • 如果问题持续存在,请查看我们的持续错误下一步措施部分。
RateLimitError

一个RateLimitError表示你已经达到了指定的速率限制。这意味着你在一定时间内发送了太多的token或请求,我们的服务已经暂时阻止你发送更多。 我们施加速率限制,以确保公平和有效地使用我们的资源,并防止滥用或超载我们的服务。

如果你遇到RateLimitError,请尝试以下步骤:

  • 发送更少的token或请求,或放慢速度。你可能需要减少你的请求的频率或数量,批处理你的token,或实施指数反推。你可以阅读我们的速率限制指南,了解更多细节。
  • 等到你的速率限制重置(一分钟),然后重试你的请求。错误信息应该让你了解到你的使用率和允许的使用量。
  • 你也可以从你的账户仪表板检查你的API使用统计。
APIConnectionError

一个APIConnectionError表示你的请求无法到达我们的服务器或建立安全连接。这可能是由于网络问题、代理配置、SSL证书或防火墙规则。 如果你遇到APIConnectionError,请尝试以下步骤:

  • 检查你的网络设置,确保你有一个稳定和快速的网络连接。你可能需要切换到另一个网络,使用有线连接,或减少使用带宽的设备或应用程序的数量。
  • 检查你的代理配置,确保它与我们的服务兼容。你可能需要更新你的代理设置,使用一个不同的代理,或完全绕过代理。
  • 检查你的SSL证书,确保它们是有效和最新的。你可能需要安装或更新你的证书,使用不同的证书机构,或禁用SSL验证。
  • 检查你的防火墙规则,确保它们没有阻挡或过滤我们的服务。你可能需要修改你的防火墙设置。
  • 如果合适,检查你的容器是否有正确的权限来发送和接收流量。
  • 如果问题仍然存在,请查看我们的持久性错误的下一步措施。
InvalidRequestError

一个InvalidRequestError表明你的请求格式不对,或者缺少一些必要的参数,比如一个标记或一个输入。这可能是由于打字错误、格式错误或你代码中的逻辑错误。

如果你遇到InvalidRequestError,请尝试以下步骤:

  • 仔细阅读错误信息,确定所犯的具体错误。错误信息应该告诉你哪个参数是无效的或缺失的,以及预期的值或格式是什么。
  • 检查你所调用的特定API方法的API参考open in new window,确保你发送的是有效和完整的参数。你可能需要查看参数名称、类型、值和格式,并确保它们与文档相符。
  • 检查你的请求数据的编码、格式或大小,确保它们与我们的服务兼容。你可能需要用UTF-8编码你的数据,用JSON格式化你的数据,或者如果你的数据太大,则需要压缩。
  • 使用Postman或curl等工具测试你的请求,并确保它按预期工作。你可能需要调试你的代码,修复你的请求逻辑中的任何错误或不一致之处。
  • 如果问题仍然存在,请查看我们的持久性错误下一步措施。
AuthenticationError

一个AuthenticationError表明你的API密钥或token无效、过期或被撤销。这可能是由于一个打字错误,一个格式化错误,或一个安全漏洞。 如果你遇到一个AuthenticationError,请尝试以下步骤:

  • 检查你的API密钥或token,确保它是正确和有效的。你可能需要从API密钥仪表板上生成一个新的密钥,确保没有多余的空格或字符,或者如果你有多个密钥,则使用不同的密钥或token。
  • 确保你已经遵循了正确的格式化。
ServiceUnavailableError

一个ServiceUnavailableError表示我们的服务器暂时无法处理您的请求。这可能是由于计划内或计划外的维护,系统升级,或服务器故障。这些错误也可能在高流量期间返回。 我们对造成的任何不便表示歉意,我们正在努力尽快恢复我们的服务。

如果你遇到ServiceUnavailableError,请尝试以下步骤:

  • 等待几分钟并重试您的请求。有时,问题可能很快得到解决,你的请求可能在下一次尝试中成功。
  • 检查我们的状态页面open in new window,了解任何可能影响我们服务的持续事件或维护。如果有一个正在进行的事件,请关注更新并等待它被解决后再重试你的请求。
  • 如果问题持续存在,请查看我们的持续错误的下一步措施部分。

持续的错误

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

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

我们的支持团队将调查该问题并尽快给你答复。请注意,由于需求量大,我们的支持队列时间可能会很长。你也可以在我们的社区论坛发帖open in new window,但请确保省略任何敏感信息。

处理错误

我们建议你以编程方式处理由API返回的错误。要做到这一点,你可能想使用下面这样的代码片段:

try:
  #Make your OpenAI API request here
  response = openai.Completion.create(prompt="Hello world",
                                      model="text-davinci-003")
except openai.error.APIError as e:
  #Handle API error here, e.g. retry or log
  print(f"OpenAI API returned an API Error: {e}")
  pass
except openai.error.APIConnectionError as e:
  #Handle connection error here
  print(f"Failed to connect to OpenAI API: {e}")
  pass
except openai.error.RateLimitError as e:
  #Handle rate limit error (we recommend using exponential backoff)
  print(f"OpenAI API request exceeded rate limit: {e}")
  pass
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Last Updated:
Contributors: lanheixingkong