B2BB2B LLM

非同期リクエスト

サポートされている推論リクエストをキューに入れ、Partner API を通じて完了した結果を取得します。

非同期リクエスト

Model Gate 非同期モードでは、推論ジョブを永続的な MariaDB キューに保存し、すぐにリクエスト ID を返します。独立した sub2proxy ワーカーはリースを使用してキューに入れられたジョブを要求し、放棄されたリースはプロセスの再起動後に回復できます。完成した結果は Partner API から読み取られるか、プロファイルで構成されたコールバックに配信されます。

非同期モードは以下に対してサポートされています。

  • POST /v1/chat/completions
  • POST /v1/messages
  • POST /v1/responses
  • POST /v1/images/generations

非同期リクエストは使用できません stream: true

キューリクエスト

Model Gate 拡張機能を追加する "async": true それ以外の場合は有効なリクエストに。

リクエスト

curl https://api.model-gate.com/v1/responses \
  -H "Authorization: Bearer mg_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.4",
    "input": "Write a short release summary.",
    "async": true,
    "stream": false
  }'

応答 — 202

{
  "request_id": "01KZ...",
  "status": "queued",
  "result_url": "https://p-api.model-gate.com/api/v1/requests/01KZ..."
}

async フィールドは、リクエストがアップストリームに送信される前に削除されます。モデル エイリアスは、ジョブがキューに入れられる前に、その正規モデルに解決されます。ワーカーはキーを再検証し、同期推論と同じ Model Gate リクエスト/アカウンティング コアを通じて実行します。キュー行には API キーのシークレットが含まれていません。ネイティブの非同期価格は変更されておらず、バッチ リクエストの価格係数は使用されません。

ワーカーはアイテムを要求する前に、現在のアカウント残高と、MariaDB 内の現在のリセット可能なキー/グループの使用状況をチェックします。アカウント残高がプラスでない場合、または設定されたキー/グループの使用制限がすでに使い果たされている場合、アイテムはそのまま残ります。 queued 実行試行は消費されません。その後のチャージ、使用量のリセット、または制限の増加により、アイテムは自動的に対象になります。 Model Gate では、推定リクエスト コストを予約しません。すでに承認を通過した作業は、同時作業により最終残高がマイナスになるか、支出制限をわずかに超える場合でも、完了して実際のコスト全体を決済することができます。その後、アカウントが再び資格を得るまで、新しい実行はブロックされます。

回復セマンティクス

耐久性のあるキューが提供するのは、 少なくとも 1 回のリカバリ、正確に 1 回の実行ではありません。上流のプロバイダーがリクエストを受け入れた後、Model Gate が非同期結果を永続的に保存する前にワーカー プロセスが停止した場合、リースは最終的に期限切れになり、別のワーカーが同じ Model Gate リクエスト ID を再試行する可能性があります。決済は二重借方から保護されていますが、モデル ツールを通じて外部副作用を引き起こすアプリケーションは、それらの副作用を冪等にする必要があります。

結果の取得

同じ Model Gate アカウントに属する Partner API キーを使用します。

リクエスト

curl https://p-api.model-gate.com/api/v1/requests/01KZ... \
  -H "Authorization: Bearer mg_partner_..."

応答 - 処理

{
  "data": {
    "request_id": "01KZ...",
    "status": "processing",
    "created_at": "2026-08-05 10:00:00",
    "started_at": "2026-08-05 10:00:01",
    "completed_at": null,
    "expires_at": "2026-08-06 10:00:00"
  }
}

応答 — 完了しました

{
  "data": {
    "request_id": "01KZ...",
    "status": "completed",
    "response_status": 200,
    "response_headers": {
      "content-type": ["application/json"]
    },
    "response": {
      "id": "resp_...",
      "object": "response",
      "status": "completed"
    },
    "created_at": "2026-08-05 10:00:00",
    "started_at": "2026-08-05 10:00:01",
    "completed_at": "2026-08-05 10:00:03",
    "expires_at": "2026-08-06 10:00:00"
  }
}

結果エンドポイントは、保存されている完全なアップストリーム本文を返します。 expires_at。外部、期限切れ、または不明なリクエスト ID が返される 404

エラー

{
  "error": {
    "type": "invalid_request_error",
    "code": "invalid_async_stream_combination",
    "message": "Async requests cannot be streamed."
  }
}

サポートされていないエンドポイントが返される async_not_supported

コールバック

完了した非同期結果は、プロファイルで構成されたコールバック URL に配信するために永続的にキューに入れられます。コールバック配信には独自のワーカー/再試行キューがあるため、別のモデル API リクエストを待ちません。メンテナンスでは、ターミナルの非同期行をリクエスト履歴に調整し、ワーカーのクラッシュ後に失われた完了コールバックを回復します。見る コールバック 署名検証、再試行、冪等性ガイダンス用。