Guias principais
Limites de requisições
Limites de requisições
Os padrões por minuto são User 1.000, Partner 10.000 e VIP 10.000; a configuração real pode variar. Nas solicitações autenticadas, estes limites são aplicados por chave API. Endpoints públicos de descoberta como GET /v1/models têm limites separados. Em um 429, use X-RateLimit-Limit e Retry-After, não uma tabela copiada.
429 / Retry-After
{
"error": {
"message": "Rate limit exceeded. Please retry later.",
"type": "rate_limit_exceeded",
"code": "rate_limit_exceeded",
"retryable": true,
"retry_after": 8
}
}Retry-After: 8Aguarde os segundos de Retry-After; se não houver, use espera exponencial com variação aleatória. O exemplo limita a quatro tentativas, desativa retries do SDK e mantém o modelo escolhido.
import random
import time
from openai import RateLimitError
def chat_with_rate_limit_retry(client, model, messages, attempts=4):
for attempt in range(attempts):
try:
return client.with_options(max_retries=0).chat.completions.create(
model=model,
messages=messages,
)
except RateLimitError as exc:
if attempt == attempts - 1:
raise
header = exc.response.headers.get("Retry-After")
wait = float(header) if header else min(30, 2 ** attempt + random.random())
time.sleep(wait)Limite a concorrência, enfileire picos e armazene em cache apenas resultados seguros para reutilização. Não repita erros de validação, autenticação, permissão ou saldo. Um modelo mais rápido não aumenta o limite. Para ajustes, envie conta, volume esperado e uso a support@tokenlab.sh.