OpenAI API 429rate limit额度不足
OpenAI API 返回 429 怎么判断:限流、额度与预算上限的排查顺序
同为 HTTP 429,临时限流、余额耗尽、组织或项目预算上限的处理方式完全不同;应先看 error.code 和响应头,再决定重试还是人工处理。
关键词OpenAI API 429rate limit额度不足Retry-After
LA
OpenAI API 返回 429 怎么判断:限流、额度与预算上限的排查顺序
OpenAI API 429官方来源与可执行检查LondAI 内容团队
OpenAI API 的 429 不只代表“请求太快”。余额耗尽、组织或项目硬预算、组织用量上限以及流量突然抬升都可能返回 429。排障的第一步不是无限重试,而是保存脱敏后的错误结构和响应头。
先保存四类证据
- HTTP 状态码与响应时间。
error.type、error.code和可公开的错误信息。Retry-After、剩余请求数、剩余 token 数及对应 reset 响应头。x-request-id、模型 ID、组织/项目标识和发生时间;绝不记录完整 API Key。
官方说明:OpenAI API Error Codes、OpenAI Rate Limits。
按 error.code 分流
slow_down:流量上升过快。遵守Retry-After,降低速率并逐步恢复。credit_balance_exhausted:预付余额耗尽。补充额度前重试没有意义。organization_spend_limit_exceeded或project_spend_limit_exceeded:命中硬预算,需要负责人调整预算或等待周期重置。organization_usage_limit_exceeded:命中 OpenAI 分配的组织用量上限,需要申请提高上限或联系支持。- 普通请求或 token 限流:查看 RPM、TPM 和共享限额,按响应头给出的重置时间排队。
预算上限的官方解释见 OpenAI Spend Limits。
正确的重试策略
只对临时限流和可恢复的服务过载执行有限重试。优先遵守有效的 Retry-After,否则使用指数退避并加入随机抖动,同时限制尝试次数和总耗时。官方 SDK 会自动重试部分 429 与 503;应用层再套一层重试前,应核对 SDK 设置,避免嵌套重试放大流量。
常见误区与安全边界
失败请求也可能计入限额,连续立即重发只会让恢复更慢。流式请求已经输出部分内容后,不应自动完整重放。也不要把上游错误正文原样返回用户,其中可能包含项目标识或内部信息;对外提供稳定错误码、请求 ID 和可执行建议即可。
验收办法
在测试环境分别构造请求突发、低余额和项目硬预算三类场景,确认只有临时限流进入退避队列,预算与额度问题进入人工处理。监控应能按 error.code 分组,并记录每次请求的总尝试次数;如果单个用户请求触发多层重复重试,验收不通过。