OpenAI
页面内容为机器翻译。查看英文原文。

排查 API 速率限制和 429 错误

确定 API 429 错误的原因,减少请求突发,并针对速率、额度或用量限制选择合适的后续措施。

更新于:2 hours ago

概述

API 使用受速率限制约束。这些限制规定了特定时间段内的请求数、Token 数或其他用量上限。

429 响应可能表示暂时触发了速率限制、预付余额已用尽,或已达到支出或用量上限。重试或更改账单设置前,请先查看错误详情。

确定原因

阅读错误消息,以及提供的 error.code(如有)。账单相关错误的 error.type 仍可能使用含义较宽泛的值 insufficient_quota。

错误或代码含义处理方法
已达到请求数或 Token 数的速率限制请求超出了适用的速率限制。控制请求发送频率,并遵循下方的重试指导。
credit_balance_exhausted组织的预付额度已用尽。在 API 账单设置中购买额度。
organization_usage_limit_exceeded组织已达到 OpenAI 为其分配的用量上限。申请提高获批的用量上限。
organization_spend_limit_exceeded组织已达到强制执行的支出上限。提高或移除该上限,或等待每月重置。
project_spend_limit_exceeded项目已达到强制执行的支出上限。提高或移除该项目的上限,或等待每月重置。

对于账单、支出或配额相关错误,重试并不能恢复访问。请先解决错误提示中指出的余额或上限问题。对强制执行的支出上限所做的更改可能需要一段时间才能生效。

更改支出上限需要具备管理相关组织或项目设置的权限。如果你没有权限,请联系负责管理这些设置的人员。

有关购买预付额度的信息,请参阅:设置和管理 API 预付费账单。

有关各种支出控制方式,请参阅 API 支出上限指南。

检查适用的速率限制

前往组织的限制页面,查看当前的用量等级和限制。

速率限制可以在组织和项目层面适用。这些限额并非分配给每位用户的个人限额。限制也因模型而异,部分模型系列共用同一限额。

请检查错误提示指出的是哪项限制。例如,每分钟请求数和每分钟 Token 数是两项独立的限制。你可能达到其中一项上限,而另一项仍未达到。

查看图像生成 API 的限制

图像生成 API 的速率限制取决于模型和你的用量等级。在模型页面上选择你使用的模型,即可查看其限制。

有关设置说明,请参阅图像生成开发者指南。有关用量等级的更多信息,请参阅 API 速率限制指南。

确认请求使用的组织

如果你属于多个组织,请确认请求使用的是预期的组织和项目。

如果你的 API 密钥使用默认组织,请检查默认组织设置。不同组织的计费安排和用量等级可能不同。

减少暂时触发速率限制的错误

控制请求发送频率,避免集中发送

将请求分散发送,不要一次性发送大量请求。

速率限制可能按比显示间隔更短的时间窗口执行。例如,每分钟 60 次请求的限制也可能按 1 秒的时间窗口执行。因此,即使平均用量看起来低于每分钟的限额,短时间内集中发送请求仍可能触发错误。

提示词过长或输出 Token 上限设置得过高,也可能导致 Token 速率限制错误。

延迟后重试

对于暂时触发速率限制的错误:

  1. 检查是否存在 Retry-After 响应头。

  2. 如果该响应头包含有效的延迟时间,请至少等待相应时长后再重试。

  3. 如果该响应头缺失或无效,请使用带抖动的指数退避策略:每次尝试失败后延长等待时间,并加上一小段随机延迟。

  4. 同时限制重试次数和重试总时长。

OpenAI 官方 SDK 已内置重试机制,会对符合条件的速率限制错误进行重试,并在存在 Retry-After 时遵循其指定的等待时间。添加其他重试循环前,请将这些内置重试纳入考虑。

失败的请求也会计入每分钟的限额。不断重发同一请求可能导致问题持续更久。

有关实现指导和示例,请参阅 API 速率限制指南。在应用中使用任何第三方重试库之前,请先进行评估。

检查提示词和输出长度

删除提示词中不必要的指令、重复的上下文和示例。测试修改后的提示词,确认它仍能生成你需要的结果。

使用你的端点和模型所支持的输出 Token 参数:

  • Chat Completions 使用 max_completion_tokens。

  • Responses 使用 max_output_tokens。

避免将上限设置得远高于请求的实际需要。这些参数涵盖推理 Token 和可见输出,因此使用推理模型时,请为两者都预留足够的 Token 数。

查看你的用量等级

如果减少集中发送请求并检查 Token 用量后,错误仍然存在,请前往限制页面,查看有哪些提高上限的方式。

当组织累计购买的额度达到 Build、Launch 和 Grow 等级的门槛时,其付费用量等级会自动升级。等级越高,通常可获得的速率上限也越高。有关各等级的要求,请参阅 API 速率限制指南。

你获批的每月用量上限与请求数和 Token 数的速率限制相互独立。其中一类上限提高,并不意味着另一类也已发生变化。

如果问题仍然存在

寻求进一步支持前

请准备好错误消息原文、所有错误代码、相关请求 ID、错误发生时间及所在时区,以及账户中显示的相关上限。记录你已尝试的解决步骤。

联系 OpenAI 支持团队

如果检查错误提示中指出的上限后仍无法解决问题,请通过帮助中心联系 OpenAI 支持团队。请勿提供 API 密钥或其他身份验证机密信息。

这篇文章对你有帮助吗?