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: 8Tunggu 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.