OpenAI API 指南:8.错误代码

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

原文链接:Error codes – OpenAI API

接口错误

法典概述
401 – 身份验证无效原因:无效的身份验证
解决方案:确保使用正确的 API 密钥和请求组织。
401 – 提供的 API 密钥不正确原因:请求的 API 密钥不正确。
解决方案:确保使用的 API 密钥正确,清除浏览器缓存或生成新缓存。
401 – 您必须是组织的成员才能使用 API原因:您的帐户不属于组织。
解决方案:联系我们以添加到新组织,或要求组织管理员邀请您加入组织
429 – 达到请求的速率限制原因:您发送请求的速度太快。
解决方案:调整您的请求节奏。阅读速率限制指南
429 – 您超出了当前配额,请检查您的计划和帐单详细信息原因:您已达到每月最高支出(硬性限制),您可以在帐户结算部分查看。
解决方案:申请增加配额
429 – 发动机当前过载,请稍后重试原因:我们的服务器正在经历高流量。
解决方案:请在短暂等待后重试您的请求。
500 – 服务器在处理您的请求时出错原因:我们服务器上的问题。
解决方案:在短暂等待后重试您的请求,如果问题仍然存在,请与我们联系。检查状态页面

401 – 身份验证无效

此错误消息表示您的身份验证凭据无效。发生这种情况可能有多种原因,例如:

  • 您正在使用已吊销的 API 密钥。
  • 您使用的 API 密钥与分配给请求组织的 API 密钥不同。
  • 您使用的 API 密钥不具有要调用的终端节点所需的权限。

要解决此错误,请按照下列步骤操作:

  • 检查您是否在请求标头中使用了正确的 API 密钥和组织 ID。您可以在帐户设置中找到您的 API 密钥和组织 ID。
  • 如果您不确定您的 API 密钥是否有效,可以生成一个新密钥。请务必在请求中将旧的 API 密钥替换为新密钥,并遵循我们的最佳实践指南

401 – 提供的 API 密钥不正确

此错误消息表示您在请求中使用的 API 密钥不正确。发生这种情况可能有多种原因,例如:

  • 您的 API 密钥中有拼写错误或多余的空格。
  • 您正在使用属于其他组织的 API 密钥。
  • 您正在使用已删除或停用的 API 密钥。
  • 旧的、已吊销的 API 密钥可能会缓存在本地。

要解决此错误,请按照下列步骤操作:

  • 请尝试清除浏览器的缓存和 Cookie,然后重试。
  • 检查请求标头中是否使用了正确的 API 密钥。
  • 如果您不确定您的 API 密钥是否正确,可以生成一个新密钥。请务必替换代码库中的旧 API 密钥,并遵循我们的最佳实践指南

401 – 您必须是组织的成员才能使用 API

此错误消息表示您的帐户不是组织的一部分。发生这种情况可能有多种原因,例如:

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

要解决此错误,请按照下列步骤操作:

  • 如果您已离开或被从以前的组织中删除,则可以请求新组织或受邀加入现有组织。
  • 要申请新组织,请通过 help.openai.com 与我们联系
  • 现有组织所有者可以通过成员面板邀请您加入其组织。

429 – 达到请求的速率限制

此错误消息表示您已达到为 API 分配的速率限制。这意味着您在短时间内提交了过多的令牌或请求,并且超出了允许的请求数。发生这种情况可能有多种原因,例如:

  • 您正在使用发出频繁或并发请求的循环或脚本。
  • 您正在与其他用户或应用程序共享您的 API 密钥。
  • 您使用的是费率限制较低的免费计划。

要解决此错误,请按照下列步骤操作:

  • 调整请求速度,避免拨打不必要或多余的电话。
  • 如果使用循环或脚本,请确保实现符合速率限制和响应标头的退避机制或重试逻辑。您可以在我们的速率限制指南中阅读有关我们的速率限制政策和最佳实践的更多信息。
  • 如果要与其他用户共享组织,请注意,限制是按组织而不是按用户应用的。值得检查团队其他成员的使用情况,因为这将有助于限制。
  • 如果使用的是免费或低层计划,请考虑升级到提供更高速率限制的即用即付计划。您可以在我们的费率限制指南中比较每个计划的限制。

429 – 您超出了当前配额,请检查您的计划和帐单详细信息

此错误消息表示您已达到 API 的每月最高支出。您可以在 [帐户结算设置](/帐户/计费/限制)的“硬性限制”下查看每月最高限额。这意味着您已用完分配给计划的所有积分,并且已达到当前计费周期的限制。发生这种情况可能有多种原因,例如:

  • 您正在使用消耗大量积分或令牌的高容量或复杂服务。
  • 您的限制设置得太低,无法满足组织的使用量。

要解决此错误,请按照下列步骤操作:

  • 帐户设置中检查当前配额。您可以在账户的使用部分查看您的请求消耗了多少代币。
  • 如果使用的是免费计划,请考虑升级到提供更高配额的即用即付计划。
  • 如果您需要增加配额,您可以申请一个,并提供有关预期使用量的相关详细信息。我们将审核您的请求,并在~7-10个工作日内回复您。

429 – 发动机当前过载,请稍后重试

此错误消息表示我们的服务器遇到高流量,目前无法处理您的请求。发生这种情况可能有多种原因,例如:

  • 对我们服务的需求突然激增或激增。
  • 我们的服务器上有计划或非计划的维护或更新。
  • 我们的服务器上发生了意外或不可避免的中断或事件。

要解决此错误,请按照下列步骤操作:

  • 短暂等待后重试请求。我们建议使用指数退避策略或遵循响应标头和速率限制的重试逻辑。您可以详细了解我们的速率限制最佳实践
  • 查看我们的状态页面,了解有关我们的服务和服务器的任何更新或公告。
  • 如果您在合理的时间后仍然收到此错误,请联系我们以获得进一步的帮助。对于给您带来的不便,我们深表歉意,并感谢您的耐心和理解。

Python 库错误类型

类型概述
APIError原因:问题在我们这边。
解决方案:在短暂等待后重试您的请求,如果问题仍然存在,请与我们联系。
Timeout原因:请求超时。
解决方案:在短暂等待后重试您的请求,如果问题仍然存在,请与我们联系。
RateLimitError原因:您已达到分配的速率限制。
解决方案:调整您的请求节奏。在我们的速率限制指南中阅读更多内容。
APIConnectionError原因:连接到我们的服务时出现问题。
解决方案:检查网络设置、代理配置、SSL 证书或防火墙规则。
InvalidRequestError原因:请求格式不正确或缺少某些必需参数,例如令牌或输入。
解决方案:错误消息应告知您所犯的特定错误。检查您正在调用的特定 API 方法的文档,并确保发送有效且完整的参数。您可能还需要检查请求数据的编码、格式或大小。
AuthenticationError原因:您的 API 密钥或令牌无效、已过期或已吊销。
解决方案:检查您的 API 密钥或令牌,并确保其正确且处于活动状态。您可能需要从帐户仪表板生成一个新帐户。
ServiceUnavailableError原因:我们服务器上的问题。
解决方案:在短暂等待后重试您的请求,如果问题仍然存在,请与我们联系。检查状态页面

APIError

“APIError”表示在处理您的请求时我们这边出了点问题。这可能是由于临时错误、错误或系统中断造成的。

对于给您带来的不便,我们深表歉意,并正在努力尽快解决任何问题。您可以查看我们的系统状态页面以获取更多信息。

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

  • 等待几秒钟,然后重试您的请求。有时,问题可能会很快得到解决,您的请求可能会在第二次尝试时成功。
  • 查看我们的状态页面,了解可能影响我们服务的任何持续事件或维护。如果存在活动事件,请遵循更新并等待解决后再重试请求。
  • 如果问题仍然存在,请查看我们的持续错误后续步骤部分。

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

Timeout

“超时”错误表示您的请求完成时间过长,我们的服务器关闭了连接。这可能是由于网络问题、我们服务的负载过重或需要更多处理时间的复杂请求。

如果遇到 Timeout 错误,请尝试以下步骤:

  • 等待几秒钟,然后重试您的请求。有时,网络拥塞或我们服务的负载可能会减少,您的请求可能会在第二次尝试中成功。
  • 检查您的网络设置,并确保您拥有稳定快速的互联网连接。您可能需要切换到其他网络、使用有线连接或减少使用带宽的设备或应用程序的数量。
  • 如果问题仍然存在,请查看我们的持续错误后续步骤部分。

RateLimitError

“速率限制错误”表示您已达到分配的速率限制。这意味着您在给定的时间段内发送了太多令牌或请求,我们的服务暂时阻止您发送更多令牌或请求。

我们施加速率限制,以确保公平有效地使用我们的资源,并防止滥用或超载我们的服务。

如果遇到 ateLimitError,请尝试以下步骤:R

  • 发送更少的令牌或请求或减慢速度。您可能需要减少请求的频率或数量、批处理令牌或实现指数退避。您可以阅读我们的速率限制指南,了解更多详情。
  • 等待速率限制重置(一分钟),然后重试请求。错误消息应让您了解使用率和允许的使用量。
  • 您还可以从账户控制面板查看 API 使用情况统计信息。

APIConnectionError

“APIConnectionError”表示您的请求无法到达我们的服务器或建立安全连接。这可能是由于网络问题、代理配置、SSL 证书或防火墙规则造成的。

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

  • 检查您的网络设置,并确保您拥有稳定快速的互联网连接。您可能需要切换到其他网络、使用有线连接或减少使用带宽的设备或应用程序的数量。
  • 检查您的代理配置,并确保它与我们的服务兼容。您可能需要更新代理设置、使用其他代理或完全绕过代理。
  • 检查您的 SSL 证书并确保它们有效且最新。您可能需要安装或续订证书、使用其他证书颁发机构或禁用 SSL 验证。
  • 检查您的防火墙规则,并确保它们没有阻止或过滤我们的服务。您可能需要修改防火墙设置。
  • 如果适用,请检查您的容器是否具有发送和接收流量的正确权限。
  • 如果问题仍然存在,请查看我们的持续错误后续步骤部分。

InvalidRequestError

A 表示请求格式不正确或缺少某些必需参数,例如令牌或输入。这可能是由于代码中的拼写错误、格式错误或逻辑错误造成的。InvalidRequestError

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

  • 仔细阅读错误消息并确定所犯的具体错误。错误消息应告知您哪个参数无效或丢失,以及所需的值或格式。
  • 检查您调用的特定 API 方法的 API 参考,并确保发送有效且完整的参数。您可能需要查看参数名称、类型、值和格式,并确保它们与文档匹配。
  • 检查请求数据的编码、格式或大小,并确保它们与我们的服务兼容。您可能需要用 UTF-8 对数据进行编码,以 JSON 格式设置数据的格式,或者压缩数据(如果数据太大)。
  • 使用Postman或curl等工具测试您的请求,并确保它按预期工作。您可能需要调试代码并修复请求逻辑中的任何错误或不一致。
  • 如果问题仍然存在,请查看我们的持续错误后续步骤部分。

AuthenticationError

“身份验证错误”表示您的 API 密钥或令牌无效、已过期或已吊销。这可能是由于拼写错误、格式错误或安全漏洞造成的。

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

  • 检查您的 API 密钥或令牌,并确保其正确且处于活动状态。您可能需要从 API 密钥仪表板生成新密钥,确保没有多余的空格或字符,或者如果您有多个密钥或令牌,请使用其他密钥或令牌。
  • 确保您遵循了正确的格式。

ServiceUnavailableError

“服务不可用错误”表示我们的服务器暂时无法处理您的请求。这可能是由于计划内或计划外维护、系统升级或服务器故障造成的。这些错误也可以在高流量期间返回。

对于给您带来的不便,我们深表歉意,我们正在努力尽快恢复我们的服务。

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

  • 等待几分钟,然后重试您的请求。有时,问题可能会很快得到解决,您的请求可能会在下次尝试时成功。
  • 查看我们的状态页面,了解可能影响我们服务的任何持续事件或维护。如果存在活动事件,请遵循更新并等待解决后再重试请求。
  • 如果问题仍然存在,请查看我们的持续错误后续步骤部分。

崩溃

持续错误

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

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

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

处理错误

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

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部