レート制限
OfoxAIのレート制限はプラットフォームの安定性を保証します。制限ルールを理解し、呼び出し戦略を最適化しましょう。
デフォルト制限
OfoxAI は従量課金制で、すべてのユーザーが統一されたレート制限ポリシーを共有します:
チーム単位の集計:RPM は組織(チーム)全体で累計され、チーム配下の複数の API Key が同一のクォータを共有します。これにより、複数 Key の積み上げによって上流プロバイダーのレート制限を突破することを根本から防ぎます。より高い RPM クォータが必要な場合は、hi@ofox.ai までお問い合わせの上、調整を申請してください。
Rate Limit Header
各 API レスポンスにはレート制限情報が含まれています:
x-ratelimit-limit-requests: 100
x-ratelimit-remaining-requests: 95
x-ratelimit-reset-requests: 12s429エラーの対処
レート制限がトリガーされると、API は 429 Too Many Requests を返します:
from openai import RateLimitError
import time
try:
response = client.chat.completions.create(...)
except RateLimitError as e:
retry_after = float(e.response.headers.get("retry-after", 1))
print(f"レート制限に到達しました。{retry_after}秒待機します...")
time.sleep(retry_after)最適化戦略
1. Prompt Caching の利用
繰り返しの system prompt に対してキャッシュを有効化し、トークン消費を削減します:
response = client.chat.completions.create(
model="openai/gpt-6.1-sol",
messages=[
# 長い system prompt は自動的にキャッシュされます
{"role": "system", "content": "あなたはプロフェッショナルな...(長文テキスト省略)"},
{"role": "user", "content": "ユーザーの質問"}
]
)詳細は プロンプトキャッシュ をご参照ください。
2. バッチ処理
複数の短いリクエストを1つのリクエストにまとめます:
# ❌ 非推奨:質問ごとに個別のリクエストを送信
for question in questions:
client.chat.completions.create(messages=[{"role": "user", "content": question}])
# ✅ 推奨:1つのリクエストにまとめる
combined = "\n".join(f"{i+1}. {q}" for i, q in enumerate(questions))
client.chat.completions.create(
messages=[{"role": "user", "content": f"以下の質問に順番に回答してください:\n{combined}"}]
)3. 適切なモデルの選択
推奨モデルは モデルマーケットプレイス をご参照ください。
4. max_tokens の制御
適切な max_tokens 制限を設定し、不要なトークン消費を回避します:
response = client.chat.completions.create(
model="openai/gpt-6.1-sol",
messages=[{"role": "user", "content": "一文で要約してください"}],
max_tokens=100 # 出力長を制限
)5. モデルフォールバックの利用
プライマリモデルが制限に達した場合、自動的に代替モデルに切り替えます:
response = client.chat.completions.create(
model="openai/gpt-6.1-sol",
messages=[...],
extra_body={
"extra_body": {
"provider": {
"fallback": ["anthropic/claude-sonnet-5.5", "google/gemini-3.8-flash"]
}
}
}
)Python SDK の extra_body= 引数は内容をリクエストボディのトップレベルにマージするため、extra_body をもう 1 段ネストして、provider がリクエストボディの extra_body.provider に位置するようにしてください。詳細は フォールバック をご参照ください。
最終更新日