速率限制
速率限制用来约束一个 API Key 在一段时间内可以使用的请求数和 token 数。它能防止服务过载,让各个用户之间的容量分配更公平,也让每个账户都有可预期的性能表现。一旦超过限制,网关会直接拒绝请求,而不是把它无限期排队。
所有请求的 Base URL:
https://gateway.mytokengate.com/v1限制维度
限制会从多个维度施加。并非每个维度都对所有账户生效,具体数值取决于你的账户等级。请在控制台查看适用于你的数值。
| 维度 | 含义 |
|---|---|
| RPM | 每分钟请求数 |
| RPD | 每天请求数 |
| TPM | 每分钟 token 数 |
| TPD | 每天 token 数 |
| IPM | 每分钟图片数 |
| IPD | 每天图片数 |
默认限制
默认限制为每分钟 100 次请求。更高的账户等级和专属实例有不同的限制,部分配置甚至没有每分钟上限。如果不确定自己属于哪个等级,请在控制台查看。
响应头
每个响应都会带上描述当前速率限制状态的响应头,你无需等到被拒绝就能跟踪用量。
| 响应头 | 含义 |
|---|---|
X-RateLimit-Limit | 当前窗口内允许的最大请求数 |
X-RateLimit-Remaining | 当前窗口内仍可使用的请求数 |
X-RateLimit-Reset | 窗口重置的时间,以秒为单位的 Unix 时间戳 |
示例:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 1735689600 # Unix epoch seconds处理 429
当你超过限制时,网关会返回 HTTP 429。正确的恢复方式是采用带抖动的指数退避重试:每次失败后等待更长的时间,并加上一个小的随机偏移,避免大量客户端在同一时刻同时重试。
import random
import time
from openai import OpenAI
client = OpenAI(
base_url="https://gateway.mytokengate.com/v1",
api_key="tg-your-api-key",
)
def create_with_retry(max_retries=5):
for attempt in range(max_retries):
try:
return client.chat.completions.create(
model="gpt-5.6-sol",
messages=[{"role": "user", "content": "Hello"}],
)
except Exception:
if attempt == max_retries - 1:
raise
delay = 2 ** attempt + random.uniform(0, 1)
time.sleep(delay)
response = create_with_retry()
print(response.choices[0].message.content)专属实例
专属实例用户通常没有速率限制。如果你在专属实例上收到 429,通常不是限制问题。请确认请求中的模型名称是否正确,以及所用的 API Key 是否属于该实例。
完整的错误响应列表,请参见错误码。
Last updated on