Skip to Content

レート制限

OfoxAIのレート制限はプラットフォームの安定性を保証します。制限ルールを理解し、呼び出し戦略を最適化しましょう。

デフォルト制限

OfoxAI は従量課金制で、すべてのユーザーが統一されたレート制限ポリシーを共有します:

制限項目上限
RPM(リクエスト/分)200
TPM(トークン/分)無制限

より高い RPM クォータが必要な場合は、OfoxAI サポート  にお問い合わせの上、調整を申請してください。

Rate Limit Header

各 API レスポンスにはレート制限情報が含まれています:

x-ratelimit-limit-requests: 200 x-ratelimit-remaining-requests: 195 x-ratelimit-reset-requests: 12s
Header説明
x-ratelimit-limit-requestsRPM 制限値
x-ratelimit-remaining-requests残りリクエスト回数
x-ratelimit-reset-requestsリクエスト制限のリセット時間

429エラーの対処

レート制限がトリガーされると、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-4o", 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. 適切なモデルの選択

シナリオ推奨モデル理由
シンプルな対話openai/gpt-4o-mini高速でトークン消費が少ない
複雑な推論openai/gpt-4o高品質な出力
コード生成anthropic/claude-sonnet-4.5優れたコーディング能力
長文テキスト処理google/gemini-3-flash-preview大きなコンテキスト、高コストパフォーマンス

4. max_tokens の制御

適切な max_tokens 制限を設定し、不要なトークン消費を回避します:

response = client.chat.completions.create( model="openai/gpt-4o", messages=[{"role": "user", "content": "一文で要約してください"}], max_tokens=100 # 出力長を制限 )

5. モデルフォールバックの利用

プライマリモデルが制限に達した場合、自動的に代替モデルに切り替えます:

response = client.chat.completions.create( model="openai/gpt-4o", messages=[...], extra_body={ "provider": { "fallback": ["anthropic/claude-sonnet-4.5", "google/gemini-3-flash-preview"] } } )

詳細は フォールバック をご参照ください。

Last updated on