レート制限と 429
429 の3つの原因
- リクエストレートが速すぎる:短時間内の並列数/QPS が現在のアカウントプランを超過している;
- トークン上限不足:トークンに設定された上限を使い切っている;
- 上流モデルのレート制限:一部モデルの上流が混雑しており、ゲートウェイが自動リトライしても利用できない場合に下流へ透過される。
レスポンス本文の error.message に具体的な原因が記載されます。
正しいリトライ方法
1回目の失敗 → 1s待機 + ランダムジッター → リトライ2回目の失敗 → 2s待機 + ランダムジッター → リトライ3回目の失敗 → 4s待機 + ランダムジッター → リトライ、それでも失敗ならアラート- 必ずランダムジッターを追加し、複数クライアントが同じタイミングで再試行して雪崩を起こすのを避ける;
- バッチ処理はキューで並列数を制御する(例: まず 5〜10 並列から始め、成功率を見て調整する);
- 429 が「上限不足」系の場合はリトライしても無効で、先にチャージするかトークン上限を引き上げる必要がある。
発生確率を下げる
- 大量タスクは混雑していない時間帯にずらして実行する;
- 長文タスクはリクエスト回数をまとめる(一度に多くの処理を行い、高頻度の小さなリクエストを避ける);
- フォールバック可能なシナリオでは代替モデルを設定し、主力モデルが 429 になったら自動で切り替える;
- より高い並列プランが必要な企業ユーザーは、コンソールからサポートに連絡して増枠を依頼してください。