限流
限流是 API 提供方对单位时间内请求量或 token 量设置的上限,超过就返回 429。它约束的是速率,和账户余额不足是两回事,尽管两者可能共用同一个状态码。
限流指 API 提供方对调用速率施加的上限,常见维度包括每分钟请求数(RPM)与每分钟 token 数(TPM),部分服务还有每日维度。触发时接口返回 429 状态码,并通常在响应头里给出剩余额度与建议等待时间。限流额度一般随账户累计消费自动提升,不需要单独申请。
限的是哪几个维度
同时存在多个维度,先撞到哪个就按哪个限制:
- RPM(每分钟请求数):调用次数密集时先撞它。
- TPM(每分钟 token 数):单次输入很长时先撞它——请求数不多也可能超限。
- 每日维度:部分服务另有按天计算的上限。
所以「我每分钟只发了几次请求怎么也限流」通常是 TPM 而不是 RPM 的问题。
429 的两种含义
这是最值得记住的一条区分:
| 情况 | 本质 | 该怎么做 |
|---|---|---|
| 速率超限 | 短时间内发得太快 | 退避后重试,会恢复 |
| 额度耗尽 | 余额或花费上限触顶 | 重试无用,要充值或调上限 |
两者都可能返回 429,只能靠响应体里的具体错误码区分。把额度耗尽当成速率问题去重试,重试多少次都不会成功。
常见误解
- 限流 ≠ 封号。 它是常规的流量控制,等待后自动恢复。
- 换网络出口绕不过去。 限制通常绑定在账号或密钥上,不在 IP 上。
- 限流额度不是固定的。 多数服务按累计消费自动分层提升,所以偶发 429 有时只是当前层级的正常上限。
- 不要用固定间隔猛重试。 正确做法是指数退避,并优先读响应头里的建议等待时间。
本站哪里会遇到
具体的响应头字段与处置顺序见 OpenAI API Key 获取与安全管理;验证第三方兼容接口是否回传限流信息,见 OpenAI 兼容接口怎么判断。