Guías principales

Límites de solicitudes

Límites de solicitudes

Los valores predeterminados por minuto son User 1.000, Partner 10.000 y VIP 10.000; la configuración real puede variar. En las solicitudes autenticadas, estos límites se aplican por clave API. Los endpoints públicos de descubrimiento como GET /v1/models tienen límites independientes. En un 429, usa X-RateLimit-Limit y Retry-After en lugar de una tabla 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: 8

Espera los segundos de Retry-After; si falta, usa retroceso exponencial con variación aleatoria. El ejemplo limita los intentos a cuatro, desactiva los reintentos del SDK y conserva el modelo elegido.

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)

Limita la concurrencia, pon las ráfagas en una cola y reutiliza solo resultados que sea seguro cachear. No reintentes errores de validación, autenticación, permisos o saldo. Un modelo más rápido no aumenta el límite. Para ajustes, escribe a support@tokenlab.sh con tu cuenta, volumen previsto y caso de uso.

En esta página