TokenLab

核心指南

速率限制

速率限制

預設每分鐘請求數為 User 1,000、Partner 10,000、VIP 10,000;實際設定可調整。需驗證請求的這些限制依 API Key 計算;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,提供帳號、預期流量與用途。

本頁內容