コンテンツにスキップ
17.7k

受信リクエスト本文の受け入れ

プロバイダー設定リファレンスでは、受信する JSON 本文 1 件のデコード後の最大サイズである maxInboundBodyBytes を説明しています。デフォルトは引き続き 256 MiB で、設定可能な値は 1 MiB から 512 MiB です。変更後はプロキシを再起動し、リスナーと読み取り処理の両方に意図した上限を適用してください。

上限を引き上げると同時実行数が変わる

Section titled “上限を引き上げると同時実行数が変わる”

解決された上限が 256 MiB を超える場合、対象の各 HTTP リクエストは、プロセス全体で共有する 512 MiB の受け入れ予算から、設定した許容量の全量を予約します。複数のリスナーが同じプロセスを共有する場合も、同時に実行できる対象リクエストは最大 1 件です。小さな本文でも許容量全体を予約し、小さい Content-Length や圧縮によって受け入れ制御を回避することはできません。予約は JSON の解析直後ではなく、レスポンスストリームが終了、失敗、またはキャンセル処理を完了するまで続きます。

対象となる POST エンドポイントは /v1/responses、/v1/responses/compact、/v1/chat/completions、/v1/messages、/v1/messages/count_tokens、/v1/images/generations、/v1/images/edits、/v1/alpha/search です。画像、検索、トークン計数には、従来の設定可能な本文ごとの上限も適用されます。内部の直接変換やコンボ呼び出しは、HTTP の許容量を二重に予約しません。管理、音声、コンテキスト履歴、WebSocket の制限は変わりません。

設定を省略またはゼロにした場合、あるいは解決された上限が 256 MiB 以下の場合、この追加の同時実行ゲートは有効になりません。既存のリクエスト件数やその他のリソース制限は引き続き適用されます。

一時的な拒否と大きすぎる本文の違い

Section titled “一時的な拒否と大きすぎる本文の違い”

許容量が一時的に使えない場合、プロトコル解析やプロバイダーへの送信前に、HTTP 503、Retry-After: 1、エラーコード server_busy が返されます。Messages とトークン計数のクライアントには、型が overloaded_error の Anthropic 形式のエラーが返されます。OpenAI 互換クライアントには server_error が返されます。リトライヘッダーとクライアント側のバックオフに従い、現在のリクエストが完了してから再試行してください。本文の上限をさらに引き上げても、予算不足は解消しません。

本文がリクエスト単位の上限を超えた場合は、従来どおり HTTP 413 になります。宣言されたサイズが上限超過なら、混雑による拒否には置き換わりません。切断時のキャンセル動作も従来どおりです。認証とオリジンの確認は、この同時実行ゲートより先に行われます。

512 MiB は受け入れたリクエストごとの許容量の合計であり、プロセスのメモリ使用量が 512 MiB 未満に収まる保証ではありません。デコード、文字列、オブジェクトグラフ、リクエストのコピー、その他のアプリケーション状態には追加のメモリが必要です。既存の UTF-8 と JSON の再シリアル化による測定は維持されます。入力のバイト長を、より大きくなり得る正規化後の JSON サイズの代わりには使用しません。

小さなリクエストを並列実行する場合は、可能な限りデフォルトの上限を維持してください。長い履歴を扱うために引き上げる際は、追加の同時実行制限を理解したうえで設定してください。