直接回答
500 は応答サービス内部で生成されますが、特定 model や任意機能が引き金の場合もあります。再試行前に request を縮小します。
このガイドで解決できること
一時的な上流障害、機能固有の server bug、gateway の 500 を安全に分離する。
OpenAI 互換 APIPython / Node.js SDKcurlリバースプロキシと API ゲートウェイ
01
症状
接続後に構造化または plain な HTTP 500 が返り、断続的または一つの機能だけで発生します。
最小 text request や別 model は成功しても、tools、image、structured output、長い context で失敗します。
02
主な原因
- gateway、model service、依存先で一時的な内部障害が発生している。
- 未対応または不正な高度機能が未処理の server path に到達している。
- 一つの model deployment だけが異常で別 route は正常。
- 無制限 retry が部分障害を増幅している。
03
診断手順
- 01境界を確定応答 host、Content-Type、request ID、UTC 時刻を特定します。
- 02基準を作成tools、image、format、stream、長い context を外します。
- 03一項目を比較同じ host・account で既知の正常 model と比較します。
- 04決定的な証拠を記録error rate 上昇時は batch を止め、機密除去した再現を一件保存します。
最小診断コマンド言語:bash
date -u
curl -sS -D /tmp/api-500.headers -o /tmp/api-500.body -w 'status=%{http_code} total=%{time_total}
' 'https://<your-api-host>/v1/models' -H "Authorization: Bearer ${API_KEY:?set API_KEY first}"04
修正
- 01障害レイヤーを修正再実行安全な request だけを上限付き exponential backoff で retry します。
- 02必要な動作を復元サービス側の対応確認まで、特定した引き金を無効化または修正します。
- 03一時回避策を除去能力、cost、data policy が許容できる場合のみ検証済み fallback model を使います。
05
検証
- 再実行安全な request のみが上限内で retry される。
- 高度な項目を一つずつ戻し引き金を確定した。
- fallback の能力と cost 境界が明示されている。
- 元 model が同じ 500 なしで連続成功する。
06
機密情報の扱い
- 曖昧な失敗後に tool action や外部 write を盲目的に再実行しない。
- 再現 request の本文を共有前に機密除去する。
- request を通すため検証を無効化しない。
- request ID、model、endpoint、時刻、最小 payload で共有する。
公式情報と検証範囲
本ガイドはプロトコル仕様とクライアント公式文書を根拠にしています。エラー文、再試行ヘッダー、設定項目はサービスやバージョンで変わるため、参照元を確認し、ログとリクエスト例を秘匿してから共有してください。
ドキュメントの適用範囲を見る