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

# Controle de frequência de chamadas (Rate Limits)

export const DynamicRPMList = () => {
  if (typeof document === "undefined") {
    return null;
  } else {
    let attempts = 0;
    const maxAttempts = 50;
    const formatAmount = num => {
      if (typeof num === "number") {
        return num.toLocaleString();
      }
      return num || "-";
    };
    const interval = setInterval(() => {
      const clientComponent = document.getElementById("dynamic-rpm-list");
      if (clientComponent && window.jiekouRemoteData.llmModels.status === 'loaded') {
        const modelList = window.jiekouRemoteData.llmModels.data.filter(model => {
          return Boolean(model.rpm);
        });
        const allModels = modelList.map(model => {
          const t1 = (model.quota_items || []).find(item => item.tier === "T1") || ({});
          const t2 = (model.quota_items || []).find(item => item.tier === "T2") || ({});
          const t3 = (model.quota_items || []).find(item => item.tier === "T3") || ({});
          const t4 = (model.quota_items || []).find(item => item.tier === "T4") || ({});
          const t5 = (model.quota_items || []).find(item => item.tier === "T5") || ({});
          return `
            <tr>
              <td rowspan="2" style="vertical-align: middle; max-width: 230px">${model.id}</td>
              <td>RPM</td>
              <td>${formatAmount(t1.rpm)}</td>
              <td>${formatAmount(t2.rpm)}</td>
              <td>${formatAmount(t3.rpm)}</td>
              <td>${formatAmount(t4.rpm)}</td>
              <td>${formatAmount(t5.rpm)}</td>
            </tr>
            <tr>
              <td>TPM</td>
              <td>${formatAmount(t1.tpm)}</td>
              <td>${formatAmount(t2.tpm)}</td>
              <td>${formatAmount(t3.tpm)}</td>
              <td>${formatAmount(t4.tpm)}</td>
              <td>${formatAmount(t5.tpm)}</td>
            </tr>
          `;
        }).join('');
        clientComponent.innerHTML = `
          <table class="table table-big">
            <thead>
              <tr>
                <th>模型</th>
                <th></th>
                <th>T1</th>
                <th>T2</th>
                <th>T3</th>
                <th>T4</th>
                <th>T5</th>
              </tr>
            </thead>
            <tbody>
              ${allModels}
            </tbody>
          </table>
        `;
        clearInterval(interval);
      }
      attempts++;
      if (attempts >= maxAttempts) {
        clearInterval(interval);
      }
    }, 200);
    return <div id="dynamic-rpm-list"></div>;
  }
};

## Entendendo o controle de frequência de chamadas

O controle de frequência de chamadas define a quantidade de solicitações de API que podem ser feitas em um período específico e ajuda a otimizar o uso da API.

* Evita abuso e uso indevido da API
* Garante uma alocação justa de recursos
* Mantém o desempenho e a confiabilidade da API
* Protege a estabilidade do serviço

## Controle de frequência de chamadas padrão

Cada conta tem limites de taxa padrão ao chamar modelos, medidos em RPM (número de solicitações por modelo por minuto) e TPM (número de tokens por modelo por minuto). Os limites de taxa variam conforme o nível da conta; consulte a tabela abaixo para os critérios específicos.

<table class="table table-big">
  <thead>
    <tr>
      <th class="min-w-10">Nível de quota</th>
      <th>Critérios (unidade: dólar americano)</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>T1</td>
      <td>Nos últimos 3 meses-calendário, maior valor total de recarga em um único mês\< \$50</td>
    </tr>

    <tr>
      <td>T2</td>
      <td>\$50 ≤ Nos últimos 3 meses-calendário, maior valor total de recarga em um único mês\< \$500</td>
    </tr>

    <tr>
      <td>T3</td>
      <td>\$500 ≤ Nos últimos 3 meses-calendário, maior valor total de recarga em um único mês\< \$3000</td>
    </tr>

    <tr>
      <td>T4</td>
      <td>\$3000 ≤ Nos últimos 3 meses-calendário, maior valor total de recarga em um único mês\< \$10000</td>
    </tr>

    <tr>
      <td>T5</td>
      <td>\$10000 ≤ Nos últimos 3 meses-calendário, maior valor total de recarga em um único mês</td>
    </tr>
  </tbody>
</table>

Limites de taxa padrão de cada nível (RPM / TPM):

<DynamicRPMList />

## Como evitar acionar o controle de frequência de chamadas

Se a quantidade de solicitações de API exceder o controle de frequência de chamadas, a API retornará:

* Código de status HTTP: 429 (solicitações em excesso).
* Informações sobre a frequência de chamadas excedida no corpo da resposta.

Para evitar acionar o controle de frequência de chamadas, você pode adotar as seguintes medidas:

* Implemente limitação de solicitações na sua aplicação.
* Use um mecanismo de backoff exponencial ao tentar novamente.
* Monitore o uso da sua API.

## Tratamento de erros 429

Se você receber um erro 429, tente as seguintes ações:

* **Tente novamente mais tarde**: aguarde um período antes de tentar novamente sua solicitação.
* **Otimize as solicitações**: reduza a frequência das solicitações.
* **Aumente o controle de frequência de chamadas**: se precisar de um controle de frequência de chamadas mais alto, entre em contato conosco.
