存在するモデルが 404 エラーになる問題を修正しました
正しい model_id を指定しているにもかかわらず、リクエストが 404 エラーで失敗することがありました。2026 年 9 月 6 日に修正済みです。ご不便をおかけし申し訳ありません。
症状
リクエストが次のエラーで失敗していました。
{
"error": {
"type": "invalid_request_error",
"message": "Not found"
}
}
OpenAI 公式 SDK では NotFoundError: 404 として送出されます。
404 は本来「指定した model_id が存在しない」という意味です。そのため、モデル一覧(GET /v1/models)に載っているモデルを指定しているのに、そのモデルが無いかのような応答が返っていました。
同じリクエストが成功することもありました。
model_id を打ち間違えたわけではないため、送り直すと通ります。
このエラーは「指定が間違っている」という意味の 4xx エラーです。公式 SDK は、こうしたエラーを送り直しても結果が変わらないものとして扱い、自動リトライの対象にしません。 一時的な事象であるにもかかわらず、SDK やエージェントの自動リトライで救われず、そのまま失敗として返っていました。
そのため、お客様の指定に問題があるように見えていました。原因は HAI 側にありました。model_id や設定を見直しても解消しなかった方には、お手数をおかけしました。
影響範囲
対象は、複数の GPU に処理を分散しているモデルへのリクエストです。分散先のうち、一時的にそのモデルを提供できない状態の GPU に当たった場合にのみ発生していました。
直近 2 週間の発生件数です。
| モデル | 件数 |
|---|---|
qwen3.8-27b-uncensored |
約 105 件 |
deepseek-v4-flash |
約 83 件 |
期間は 2026 年 8 月 26 日から 9 月 4 日で、常時ではなく散発的に発生していました。最も多かったのは 9 月 4 日 21 時台の約 30 件です。
/v1/chat/completions・/v1/messages・/v1/responses のいずれでも発生し、エンドポイントによる差はありません。上記以外のモデルでは発生していません。
原因
HAI では 1 つのモデル ID の裏側に複数の GPU を用意して、負荷を分散しています。GPU の入れ替えや構成変更を行うと、分散先の一覧と実際に稼働している GPU の間に一時的なずれが生じることがあります。
このとき、既に対象のモデルを持っていない GPU にリクエストが振られると、その GPU が 404 を返します。HAI はリクエストを受け取った時点でモデル一覧と照合しているため、この 404 はお客様の指定の誤りではありません。 「今この瞬間、その GPU がそのモデルを提供していない」という一時的な状態を指しています。
これをそのまま 404 として返していたため、意味の異なるエラーが顧客側に見えていました。
対応
2 点を修正しました。
1 つ目は、404 を受け取ったときに HAI 側で自動的に 1 回送り直すようにしたことです。送り直しは別の GPU に振られるため、一時的なずれであればお客様には成功として返ります。この種の失敗はモデルが応答を生成する前に確定するため、送り直しても二重に処理されることはありません。
2 つ目は、送り直しても解消しない場合の応答を 404 から 503 に変更したことです。503 は「一時的に応答できない」という意味で、公式 SDK やエージェントの自動リトライの対象になります。指定の誤りではないエラーを、指定の誤りとして返さないようにしました。
併せて、この事象の発生を検知できるよう記録を追加しています。自動で送り直して成功したものも含めて計測されるため、構成のずれを放置せずに気づけるようにしました。
課金への影響
失敗したリクエストは課金されていません。
課金は完了したリクエストの usage のみを対象としています。このエラーはモデルが応答を生成する前に発生しているため、トークンは消費されていません。自動で送り直して成功した場合も、課金対象は成功した 1 回分のみです。
お客様側の対応
必要な変更はありません。
モデル ID・エンドポイント・API キー・単価はいずれも変更していません。404 を避けるために別のモデルへ切り替えていた場合は、元に戻していただけます。
エラー処理を自前で実装している場合は、一時的な障害として 503 を再試行の対象に含めていただくと、同種の事象をより確実に吸収できます。