调用 OpenAI API 遇到 rate limit,直接增加重试次数往往既不能恢复吞吐,还会放大排队和预算压力。对使用 API 中转、共享额度或批量任务的团队,更有效的做法是先区分请求频率、Token 吞吐与账户额度问题,再分别处理。本文不预设固定限额,实际限制应以账户信息、响应头及服务商说明为准。
先判断:429 是限流,还是额度问题?
不要把所有 429 都当成同一种故障。应记录 HTTP 状态码、错误类型、请求标识和返回信息。请求数或 Token 速率超限,通常需要降速与排队;若提示额度不足、余额或预算限制,则应核对账单与项目设置,等待重试一般无法解决。
通过中转调用时,还要确认错误来自上游模型服务,还是网关自身的并发、余额或路由规则。仅凭“请求失败”无法定位,采购前应询问是否保留上游错误字段,以及能否提供请求日志供排查。
用 Token 预算反推安全并发
请求数量相同,成本和限流风险也可能相差很大。长对话、检索文档和较高的输出上限,都会增加单次调用压力。应按业务统计输入与输出 Token,并关注高分位值,而不只看平均数。
- 压缩重复系统提示词,裁剪无关历史,避免每轮发送完整材料。
- 按任务设置输出上限,简单分类与字段提取不必预留长篇生成空间。
- 将在线交互与离线批处理分队列,避免批量作业挤占实时请求。
- 同时限制每分钟请求量、Token 消耗和在途并发;只控制线程数并不够。
可先用“可用 Token 吞吐预算÷单次请求预估 Token”估算请求速率,再为流量波动保留余量。该值只是容量规划参考,不代表官方限流算法;部分限制可能参考请求中的预估消耗,应结合实际响应持续校准。
重试策略:恢复服务,而不是制造新账单
对可重试的限流采用有上限的指数退避,并加入随机抖动。若响应提供 Retry-After,可结合它安排等待;同时设置最大尝试次数与总超时。持续失败应进入延迟队列或向用户返回可理解的提示,而不是无限循环。
尤其要避免 SDK、业务代码和网关三层同时重试。一次用户操作可能被放大成多次调用;请求失败也不意味着必然没有计费。对超时但执行状态不明的请求,应检查日志,避免盲目重放;涉及工具执行时,还需在业务层防止重复副作用。
中转采购与预算控制怎么落地?
选择 Token 中转或 API 批发方案时,应核对模型映射、计费口径、失败请求处理、并发规则和余额预警。中转不等于绕过上游限制,共享资源还可能带来高峰竞争;多路由方案也需要验证模型能力、数据处理要求与费用差异。
预算管理建议拆分为团队、项目和任务三级:设置日预算与月预算,接近阈值时减少非必要任务,达到业务硬限额时停止新调用。观察面板至少包含成功率、限流比例、排队时长、重试次数和每个成功任务的成本。
在 openmagic.ai 规划接入时,可先整理目标模型、峰值流量、平均上下文长度和预算范围,再核对适用方案。解决 OpenAI API rate limit 的核心不是单纯买更多 Token,而是让容量、队列、重试和账单形成闭环。
