Panduan inti

Batas permintaan

Batas permintaan

Nilai bawaan per menit adalah User 1.000, Partner 10.000, dan VIP 10.000; konfigurasi aktual dapat berbeda. Untuk permintaan yang memerlukan autentikasi, batas ini berlaku per kunci API. Endpoint penemuan publik seperti GET /v1/models memiliki batas terpisah. Saat 429, gunakan X-RateLimit-Limit dan Retry-After, bukan tabel salinan.

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

Tunggu sejumlah detik pada Retry-After; jika tidak ada, gunakan backoff eksponensial dengan jitter. Contoh berikut membatasi empat percobaan, menonaktifkan retry SDK, dan mempertahankan model pilihan.

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)

Batasi konkurensi, antrekan lonjakan, dan cache hanya hasil yang aman digunakan kembali. Jangan ulangi error validasi, autentikasi, izin, atau saldo. Model lebih cepat tidak menambah batas. Untuk penyesuaian, kirim akun, perkiraan volume, dan penggunaan ke support@tokenlab.sh.

Di halaman ini