速率限制

Rate Limit

速率限制是 API 服务商为防止滥用、保障公平性对单位时间内调用量或 Token 量设置的硬性上限,超限通常返回 HTTP 429。

详细解释

速率限制(Rate Limit,简称限流) 是所有大模型 API 都在执行的一套”闸门”机制。它不是 bug,而是服务商主动设计的:既要防止刷接口、恶意消耗 GPU,又要保证所有租户的请求不会互相挤占导致排队崩溃。

常见的限速维度

每家厂商的”闸门形状”不同,常见组合如下:

维度缩写统计窗口谁容易撞
每分钟请求数RPM60s 滑动大量小请求业务
每分钟 Token 数TPM60s 滑动长上下文 / RAG
每日请求数RPD24h 滚动 / 日切超大量批处理
每日 Token 数TPD24h 滚动 / 日切持续高吞吐业务
在飞并发数Concurrency实时突发并行 Agent
10 分钟消费额Spend Rate10m 滚动大模型长输出

参考 Google 官方文档:Gemini API 速率限制说明

实现算法

主流 API 都使用 令牌桶算法(Token Bucket) 来做限流(不是每分钟清零的固定窗口):

  • 桶有一个最大容量(即你的 RPM / TPM 上限)
  • 令牌按速率匀速回补(比如 RPM=60 就每秒补 1 个)
  • 请求过来要”取走”对应数量的令牌,取得到就放行,取不到就 429

令牌桶算法比固定窗口更”公平”,允许短时间内的流量突发。唯元智创(Weimeta)聚合网关在客户端也额外加了一层分布式令牌桶,帮助你在上游触发 429 之前就做客户端排队,降低无效请求占比。

常见问题

限速了是不是就只能等?
除了等待,可以做四件事:1. 指数退避重试;2. 多密钥/多厂商聚合;3. 合并小请求为批量(Batch API);4. 业务降级(比如先返回部分结果)。