AI API トラブルシューティング
このページでは LLMPool AI API の主なエラー、原因、対処方法をまとめます。最初に正しいプロトコルを使用していることを確認してください。
- OpenAI 互換 Base URL:
https://api.benpay.ai/openai/v1 - Anthropic 互換 Base URL:
https://api.benpay.ai/anthropic/v1
フィールドの説明はエラーレスポンスを参照してください。HTTP ステータスで大分類を判断し、OpenAI error.code または Anthropic error.type で具体的な対応を決めます。message の文字列には依存しないでください。
推奨する調査順序
- HTTP ステータス、リクエストパス、レスポンス Header のリクエスト ID を記録します。API キーや完全な本文は記録しません。
- 非
2xxでも、status: "failed"を含む Response など有効な業務オブジェクトか先に確認します。 - OpenAI は HTTP と
error.code、Anthropic は HTTP とerror.typeで特定します。 - 下表に従って修正、サポートへの連絡、または限定的な再試行を行います。
認証とアクセス
OpenAI error.code | Anthropic error.type | HTTP | 自動再試行 | 原因 | 対処 |
|---|---|---|---|---|---|
invalid_api_key | authentication_error | 401 | いいえ | API キーがない、形式不正、無効、期限切れ、停止中、アカウント未接続、またはアカウントが利用不能 | Header と Base URL を確認し、Dashboard の API キーで状態を確認 |
ip_not_allowed | authentication_error と error.code=ip_not_allowed | 403 | いいえ | 送信元 IP が許可リスト外、またはプロキシが IP を正しく転送していない | IP 許可リスト、送信元 IP、リバースプロキシ設定を確認 |
OpenAI:
Authorization: Bearer YOUR_API_KEY
Anthropic では次を優先します。
x-api-key: YOUR_API_KEY
Bearer Token も使用できます。両方ある場合は x-api-key が優先されます。
残高と課金
OpenAI error.code | Anthropic error.type | HTTP | 自動再試行 | 原因 | 対処 |
|---|---|---|---|---|---|
insufficient_wallets | invalid_request_error(個別コードなし) | 402 | いいえ | ウォレット残高と予約残高が不足 | Dashboard で入金するか組織管理者へ連絡 |
meter_price_rules_error | 該当なし | 400 または 500 | いいえ | メータリングルールの不足、不整合、読み取り失敗 | 別モデルを使用するかサポートへ連絡 |
リクエストとパラメーター
OpenAI error.code | Anthropic error.type | HTTP | 自動再試行 | 原因 | 対処 |
|---|---|---|---|---|---|
invalid_request | invalid_request_error | 400 | いいえ | JSON、Content-Type、解析エラー | JSON、型、必須フィールドを確認 |
invalid_request_error | invalid_request_error | 400 または 422 | いいえ | 上流がパラメーターの組み合わせを拒否 | モデルが対応するパラメーターを確認 |
missing_model | invalid_request_error | 400 | いいえ | model がない、または空 | モデルページの Product ID を使用 |
context_length_exceeded | invalid_request_error | 400 | いいえ | 入力と出力がコンテキスト上限を超過 | 履歴、添付、最大出力 Token を短縮 |
conversion_error | 該当なし | 400 | いいえ | Chat Completions を Responses に変換できない | 入力を簡略化し、未対応フィールドを削除 |
request_too_large | request_too_large | 413 | いいえ | HTTP 本文が上限を超過 | テキスト、画像、ファイルを縮小 |
method_not_allowed | invalid_request_error | 405 | いいえ | HTTP メソッドが不正 | API 文書のメソッドを使用 |
not_found | not_found_error | 404 | いいえ | パスまたはリソースが存在しない | Base URL、バージョン、リソース ID を確認 |
モデルとルーティング
OpenAI error.code | Anthropic error.type | HTTP | 自動再試行 | 原因 | 対処 |
|---|---|---|---|---|---|
invalid_model | invalid_request_error | 400 | いいえ | モデル ID が空または形式不正 | モデルページから Product ID をコピー |
model_not_found | not_found_error | 404 | いいえ | Product が見つからない | スペルとモデルの公開状態を確認 |
model_not_supported | invalid_request_error | 400 | いいえ | 現在のプロトコルや機能に未対応 | 対応モデルまたは API を選択 |
service_unavailable | overloaded_error | OpenAI 503 / Anthropic 529 | はい | 使用可能なモデルまたは容量がない | バックオフまたはモデル変更 |
カタログに表示されることは、現在の推論容量を保証しません。
レート制限
OpenAI error.code | Anthropic error.type | HTTP | 自動再試行 | 原因 | 対処 |
|---|---|---|---|---|---|
rate_limit_exceeded | rate_limit_error | 429 | はい | IP、API キー、プラットフォーム、上流の制限 | Retry-After に従い、並列数を減らして指数バックオフ |
rate_limited | rate_limit_error | 429 | はい | 候補上流がすべて制限中 | バックオフまたはモデル変更 |
約 1s から開始し、ジッターを加えて倍増させ、最大回数と総タイムアウトを設定してください。
上流サービス
OpenAI error.code | Anthropic error.type | HTTP | 自動再試行 | 原因 | 対処 |
|---|---|---|---|---|---|
upstream_configuration_error | api_error | OpenAI 502 / Anthropic 500 | いいえ | 上流認証、モデル対応、プラットフォーム設定の問題 | サポートへ連絡 |
upstream_unavailable | api_error | 502 | はい | 上流への接続失敗または一時停止 | バックオフし、必要ならモデル変更 |
upstream_timeout | api_error | 504 | はい | 上流の応答がタイムアウト | バックオフまたはコンテキスト短縮 |
| 該当なし | overloaded_error | 529 | はい | Anthropic 互換上流の過負荷 | バックオフまたはモデル変更 |
内部エラー
OpenAI error.code | Anthropic error.type | HTTP | 自動再試行 | 原因 | 対処 |
|---|---|---|---|---|---|
internal_error | api_error | 500 | 限定的 | DB、マッピング、復号など内部処理の失敗 | 少数回だけ再試行し、継続する場合はサポートへ連絡 |
file_service_error | 該当なし | 500 | 限定的 | 画像または添付の内部処理に失敗 | 形式とサイズを確認して再試行 |
response_conversion_error | 該当なし | 500 | 限定的 | 上流レスポンスを Responses に変換できない | 少数回再試行またはモデル変更 |
ストリームの中断
ストリーム開始後は HTTP が 200 のまま、後から stream_error または Anthropic event: error を受信することがあります。
- ストリームを終了し、受信済み断片を完全な結果として扱いません。
- エラー型とローカル時刻を記録し、API キーや機密本文は記録しません。
- 安全に再試行できることを確認してからバックオフします。
- 継続する場合はモデルを変更してサポートへ連絡します。
イベント形式はエラーレスポンスを参照してください。
よくある状況
401 が続く
- Dashboard URL ではなく LLMPool の OpenAI / Anthropic Base URL を使用していることを確認します。
- Admin Token や Tenant Access Token を AI API キーとして使用しないでください。
- キーを再コピーし、空白と Header 形式を確認します。
- Dashboard で期限切れや停止状態を確認します。
モデルが 404 になる
- モデルページからモデル名をコピーします。
- 上流の fullname ではなく Product ID を使用します。
- プロトコルと操作がモデル機能に対応しているか確認します。
429、5xx、529 が頻発する
- 並列数を減らし、
Retry-Afterとジッター付きバックオフを使用します。 - 再試行回数を制限し、別モデルも試します。
- 時刻、プロトコル、パス、HTTP ステータス、構造化エラー、Product ID を記録します。
- 複数モデルで継続する場合はサポートへ連絡します。
サポートへの連絡
発生日時とタイムゾーン、プロトコル、リクエストパスとメソッド、HTTP ステータス、エラー型とコード、Product ID、ストリーミングの有無、レスポンス Header のリクエスト ID を提供してください。
完全な API キー、リクエスト本文、GraphQL 文書と変数、ファイル内容、クエリ文字列を含む URL は提供しないでください。