> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aibase.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 调用限制

> 处理 AIBase API 的调用频率限制、超时和重试。

不同账号或权限等级可能具有不同的调用限制。当前文档不提供统一固定的 QPS 或 RPM 数值，请以控制台实际权限和具体接口说明为准。

<Warning>
  请求超过当前限制时可能返回 `429`。请降低调用频率，并避免持续高频重放。
</Warning>

## 客户端处理建议

<Steps>
  <Step title="设置超时">
    为连接和响应设置合理超时，避免请求长期占用线程或连接池。
  </Step>

  <Step title="限制重试次数">
    只对适合重试的失败执行有限次数重试，避免无限循环。
  </Step>

  <Step title="使用指数退避">
    每次重试前逐步增加等待时间，降低恢复阶段的瞬时请求压力。
  </Step>

  <Step title="控制并发">
    批量任务和高并发场景应根据业务 API 的处理特性限制并发度。
  </Step>
</Steps>

## 建议的重试边界

| 场景      | 建议                       |
| ------- | ------------------------ |
| 连接失败或超时 | 根据业务是否允许重复调用决定是否有限重试     |
| `400`   | 修正请求参数后再发送，不自动重试         |
| `401`   | 修正或更换 API Key 后再发送，不自动重试 |
| `403`   | 修正权限或 IP 白名单后再发送，不自动重试   |
| `429`   | 降低请求频率，并在等待后有限重试         |
| `500`   | 保存请求信息，采用有限次数的指数退避重试     |

以下策略可作为客户端实现起点：首次失败后等待约 1 秒，后续等待时间逐步增加，并加入随机抖动，避免大量客户端同时再次请求。重试次数和总等待时间应由调用方结合业务时效性确定。

<Warning>
  `AIBase-Request-Id` 用于请求追踪，当前文档没有将其定义为幂等键。不要假设携带相同 Request ID 就能阻止重复处理。
</Warning>

## 需要记录的信息

遇到限流或平台异常时，记录请求时间、HTTP 状态、业务 `code`、`apiCode` 和 `requestId`。日志中不要记录完整 API Key。

<Columns cols={2}>
  <Card title="查看错误码" icon="triangle-alert" href="/quickstart/response-errors">
    区分参数错误、认证失败、权限不足、限流和平台异常。
  </Card>

  <Card title="了解请求追踪" icon="fingerprint" href="/platform/request-id">
    使用 `requestId` 关联业务日志与平台调用。
  </Card>
</Columns>
