Docs

速率限制与等级

你的请求数和 Token 数上限、报告它们的响应头,以及账号等级如何提升。

本页目录
  1. Tier 与有效限额
  2. 限流响应
  3. 限流响应头
  4. 推荐重试方式
  5. 建议监控
  6. Tier 升级

速率限制用于保护容量,让流量更可预测。AnyPath 主要使用两种限制:

  • RPM:每分钟请求数
  • TPM:每分钟 Token 数

账号 Tier 是账号级 RPM / TPM 的产品策略来源。API Key 可以设置更窄的限额,用于隔离不同工作负载。路由和上游供应商 key 也可能有自己的限额。运行时实际生效的是账号策略、API Key 策略、所选模型、可用凭证路由和上游 key 可用性之间最严格的限制。

当前有效值以 /v1/models 和控制台显示为准。

Tier 与有效限额

AnyPath 的 Tier 是透明的账号策略:

层级控制什么能否提高最终有效限额
账号 Tier / 用户策略账号级 RPM / TPM 与模型访问可以,但仍受平台和路由容量约束
API Key 设置单个 Key 的 RPM / TPM、模型允许列表、路由策略和预算不能;Key 只能进一步收紧账号策略
路由 / 上游 key某条共享路由的供给容量不能;不可用或更低的上游限制会降低有效限额

如需查看模型发现结果,请使用同一个 API Key 调用 GET /v1/models。可用时,每个模型会显示路由策略和供给容量之后的有效 RPM / TPM。

默认账号 Tier 如下:

Tier账号 RPM账号 TPM怎么到达
Starter1202,000,000注册即是
Builder60010,000,000累计实付满 10 USDT,自动升级
Scale1,50030,000,000累计实付满 200 USDT,自动升级
Enterprise3,00060,000,000人工开通;更高的限额按账号单独设置
  • 等级每小时评估一次。条件只有一个:账号累计实付金额。它只增不减,所以升上去的等级不会掉。
  • 没有单独设置限额的 API Key 与账号共用同一个限额;给某个 Key 设了限额,只约束那一个 Key。
  • TPM 按请求发出时的估算计数:整段提示词(约每 4 个字符 1 个 Token)加上请求里的 max_tokens(未设置时按 512)。内联的图片等媒体每个按 1,600 个 Token 计,不按 base64 长度计。它不是最终用量,计费仍按实际用量。
  • 还有一个 Trial 档(30 RPM、500,000 TPM),只在运营方需要临时放慢某个账号时人工指定,到期后账号回到自己应有的等级。

这些是账号策略默认值,不是容量保证。控制台和 /v1/models 仍是运行时真值,因为 API Key 设置、所选路由、供应商可用性和上游限额都可能降低有效值。

限流响应

触发限流时,API 返回 429 Too Many Requests,并带有 Retry-After。错误码说明是谁的限额用完了:rate_limit_exceeded 是你自己的账号或 Key 限额;supplier_rate_limited 表示你没有超限,是该模型的资源提供方暂时没有容量。两种情况都按同样方式退避;后一种情况下换一个模型可能立刻可用。

限流响应头

响应会报告你自己的账号与 API Key 窗口,429 响应也包含。窗口长度为一分钟。

响应头含义
x-ratelimit-limit-requests当前 Key 生效的每分钟请求数上限
x-ratelimit-remaining-requests当前窗口剩余请求数
x-ratelimit-reset-requests距离窗口重置的秒数
x-ratelimit-limit-tokens当前 Key 生效的每分钟 Token 数上限
x-ratelimit-remaining-tokens当前窗口剩余 Token 数
x-ratelimit-reset-tokens距离窗口重置的秒数

生效上限取账号 Tier 与 API Key 设置中更严格的一个。没有上限的指标不返回对应响应头。Token 相关响应头只出现在带有 Token 估算的请求上,按估算值计数,不是最终用量。

这些响应头不反映实际承接请求的供应商账号。即使你自己的窗口仍有余量,供给容量不足时请求仍可能被拒绝。

推荐重试方式

  1. 如果有 Retry-After,优先遵守它。
  2. 没有 Retry-After 时,使用带 jitter 的指数退避。
  3. 对突发流量按 API Key 建队列。
  4. 不要把认证、权限、参数校验或支付相关的错误当成限流错误来重试。
import random

def wait_seconds(attempt: int, retryAfterHeader: str | None = None) -> float:
    if retryAfterHeader:
        return float(retryAfterHeader)
    return min(60, (2 ** attempt) + random.random())

建议监控

  • API Key 和供应商维度的 429 比例
  • 控制台中的账号 Tier 与用户策略变更
  • 控制台中的路由可用性和供应商状态
  • 输入和输出 Token 量相对 TPM 限额的占比
  • 请求排队后的等待时间

如果共享路由反复不可用,请选择其他可用模型。

Tier 升级

Tier 升级只看账号累计实付金额。系统每小时自动评估一次账号,符合条件的账号会自动升级,不需要你提交申请。管理员可以给单个账号设定更高或更低的等级(可设到期时间);这不会改变 API 请求语义,并会单独审计。

如果启用自动降级,必须带宽限期。短时间流量下降不应立即降低生产限额。