TokenLab

핵심 가이드

속도 제한

속도 제한

기본 분당 요청 수는 User 1,000, Partner 10,000, VIP 10,000이며 실제 설정은 달라질 수 있습니다. 인증이 필요한 요청에는 API 키별로 이 제한이 적용됩니다. GET /v1/models 같은 공개 조회 엔드포인트에는 별도 제한이 있습니다. 복사한 표보다 429의 X-RateLimit-Limit과 Retry-After를 따르세요.

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

Retry-After의 초 단위 시간을 기다리고 없으면 무작위 지터를 포함한 지수 백오프를 사용하세요. 다음 예는 최대 네 번 시도하며 SDK 재시도를 끄고 호출자가 고른 모델을 유지합니다.

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)

동시 실행을 제한하고 급증하는 요청은 대기열에 넣으며 안전하게 재사용할 수 있는 결과만 캐시하세요. 인증, 권한, 잔액, 검증 오류는 재시도하지 마세요. 빠른 모델이 요청 한도를 높여 주지는 않습니다. 변경 문의는 계정, 예상 요청량, 용도와 함께 support@tokenlab.sh로 보내세요.

이 페이지의 내용