跳转到主要内容
AIsa API 的每个端点都会应用速率限制,以保护网关和上游提供商。限制按 API Key 执行。本页介绍默认限制、速率限制响应头的读取方式,以及如何妥善处理限流。

限制维度

AIsa 在三个维度上限制容量:
维度适用范围衡量内容
RPM所有端点每分钟请求数
TPMLLM 推理端点每分钟输入和输出 Token 总数
并发数流式和长时间运行的端点同时进行中的请求数
TPM 会合并计算输入和输出 Token。发送 10K Token 并生成 5K Token 的请求会消耗 15K TPM。

各套餐的默认限制

套餐RPMTPM并发数适用条件
免费版6060,0005包含 2 美元注册额度的新账户
入门版600600,00020首次付费充值后
成长版3,0003,000,00050累计充值 500 美元以上或申请获批
企业版自定义自定义自定义联系销售团队
首次为 Wallet 充值后,系统会自动从免费版升级到入门版。更高套餐需要提交额度提升申请,详见申请提高额度

端点级覆盖限制

由于上游提供商会限制吞吐量,部分端点的默认限制比账户套餐更严格:
端点组默认覆盖限制
POST /chat/completions(GPT-5.4)RPM 不超过上游额度
POST /messages(Claude Opus)RPM 不超过上游额度
POST /perplexity/sonar-deep-research每个密钥 5 RPM(长时间运行)
/v1beta/models/*:generateContent每个密钥 30 RPM

读取速率限制响应头

每个响应(包括 429)都会包含以下响应头:
X-RateLimit-Limit-Requests:    600
X-RateLimit-Remaining-Requests: 587
X-RateLimit-Limit-Tokens:      600000
X-RateLimit-Remaining-Tokens:  592104
X-RateLimit-Reset-Requests:    1745012400
X-RateLimit-Reset-Tokens:      1745012400
Retry-After:                   3
响应头含义
X-RateLimit-Limit-RequestsRPM 上限
X-RateLimit-Remaining-Requests本分钟剩余请求数
X-RateLimit-Limit-TokensTPM 上限
X-RateLimit-Remaining-Tokens本分钟剩余 Token 数
X-RateLimit-Reset-Requests请求计数器重置时的 UNIX 时间戳
X-RateLimit-Reset-TokensToken 计数器重置时的 UNIX 时间戳
Retry-After仅用于 429;允许重试前需要等待的秒数

处理 429 响应

1

检测 429

响应体遵循标准错误结构,其中 error.type = "rate_limit_error"coderate_limit_exceededupstream_rate_limitquota_exceeded
2

遵守 `Retry-After`

下次尝试前,始终至少等待 Retry-After 指定的秒数,切勿立即重试。
3

使用指数退避和抖动

完成首次等待后,每次再次遇到 429 都将延迟翻倍,并添加 ±25% 抖动,上限为 30 秒。请参阅重试示例
4

优先排队,而不是反复重试

不要使用紧密的重试循环。将请求放入队列,并以低于 RPM 的速率处理。采用 RPM/60 每秒泄漏速率的简单令牌桶即可稳定工作。
5

保持在上限以内

监控每个响应中的 X-RateLimit-Remaining-*。剩余额度低于限制的 10% 时主动降速,从而避免触发 429。

示例:保持在限制以内

from openai import OpenAI

client = OpenAI(base_url="https://api.aisa.one/v1", api_key="sk-aisa-...")

response = client.chat.completions.with_raw_response.create(
    model="gpt-5",
    messages=[{"role": "user", "content": "Hello"}],
)
remaining = int(response.headers.get("x-ratelimit-remaining-requests", 1000))
if remaining < 50:
    # Throttle preemptively — sleep a bit before the next call
    time.sleep(1.0)
body = response.parse()

申请提高额度

如果生产流量需要更高限制:
  1. 为 Wallet 充值,系统会自动从免费版升级到入门版。
  2. 如需成长版或企业版,请发送邮件至 developer@aisa.one,并提供:
    • 工作区 ID
    • 预期的峰值 RPM 和 TPM
    • 需要提高额度的模型或端点
    • 使用场景的简要说明
成长版申请通常会在一个工作日内获批;企业版方案由专属客户团队协商。

相关页面

错误代码

HTTP 状态码完整列表和建议的处理方式。

用量日志

控制台中的单次请求计费和速率限制遥测数据。