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

排查 API 速率限制和 429 错误

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

更新于:15 days 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 密钥使用默认组织,请检查默认组织设置。不同组织可能采用不同的结算方式和用量层级。

减少临时速率限制错误

控制请求节奏,避免突发请求

将请求分散到不同时间发送,而不是一次发送大量请求。

速率限制的实际执行周期可能短于显示的时间间隔。例如,每分钟 60 个请求的限制也可能按 1 秒周期执行。因此,即使平均用量看起来低于每分钟限制,短时间突发请求仍可能触发错误。

提示词过长以及不必要地设置过高的输出 Token 上限,也可能导致 Token 速率错误。

延迟后重试

对于临时速率限制错误:

  1. 检查响应中是否包含 Retry-After 标头。

  2. 如果标头包含有效的延迟时间,请至少等待这么长时间后再重试。

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

  4. 限制重试次数和重试所用的总时长。

OpenAI 官方 SDK 已会重试符合条件的速率限制错误,并在存在 Retry-After 时遵循其要求。添加其他重试循环前,请将这些重试考虑在内。

失败的请求也会计入每分钟限制。持续重复发送同一请求可能会使问题延续更久。

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

检查提示词和输出大小

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

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

  • 聊天补全使用 max_completion_tokens。

  • Responses 使用 max_output_tokens。

避免将上限设置得远高于请求的实际需要。这些参数既包括推理 Token,也包括可见输出,因此使用推理模型时应为两者都预留空间。

查看用量层级

如果减少突发请求并检查 Token 用量后错误仍然存在,请查看限制页面,了解可用于提高限制的方式。

随着 API 支出增加,OpenAI 可以自动将组织提升到更高的用量层级。这通常会提高大多数模型的速率限制。

已获批准的每月用量限制独立于请求和 Token 速率限制。其中一项提高,并不代表另一项也已发生变化。

如果问题仍然存在

升级处理前

请准备好确切的错误消息、所有错误代码、相关请求 ID、错误发生时间及您所在的时区,以及账户中显示的相关限制。记下您已经尝试过的步骤。

联系 OpenAI 支持团队

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

这篇文章对你有帮助吗?