B2BB2B LLM

Asynchronní požadavky

Žádosti o odvození podporované frontou a načtení jejich dokončených výsledků prostřednictvím Partner API.

Asynchronní požadavky

Asynchronní režim Model Gate ukládá úlohu odvození do trvalé fronty MariaDB a okamžitě vrací ID požadavku. Nezávislý sub2proxy pracovníci si nárokují úlohy ve frontě pomocí zapůjčení a opuštěné zapůjčení lze obnovit po restartu procesu. Dokončený výsledek je přečten z Partner API nebo doručen zpětnému volání nakonfigurovanému v profilu.

Asynchronní režim je podporován pro:

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

Asynchronní požadavky nelze použít stream: true.

Žádost o frontu

Přidejte rozšíření Model Gate "async": true na jinak platnou žádost.

Žádost

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
  }'

Odpověď - 202

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

The async pole je odstraněno před odesláním požadavku proti proudu. Před zařazením úlohy do fronty je alias modelu převeden na svůj kanonický model. Pracovník znovu ověří klíč a provede jej prostřednictvím stejného požadavku/účetního jádra Model Gate jako synchronní odvození. Řádky fronty neobsahují žádný tajný klíč API. Nativní asynchronní stanovení cen se nemění a nepoužívá cenový koeficient dávkového požadavku.

Než si pracovník nárokuje položku, zkontroluje aktuální zůstatek na účtu a aktuální využití resetovatelného klíče/skupinových výdajů v MariaDB. Pokud zůstatek na účtu není kladný nebo je již vyčerpán nakonfigurovaný klíč/limit útraty skupiny, položka zůstane queued a nespotřebovává pokus o provedení. Pozdější dobití, resetování využití nebo zvýšení limitu způsobí, že položka bude automaticky způsobilá. Model Gate si nerezervuje odhadované náklady na požadavek: práci, která již prošla přijetím, je povoleno dokončit a uhradit její úplné skutečné náklady, i když souběžná práce způsobí, že konečný zůstatek bude záporný nebo mírně překročí limit výdajů. Nová provedení jsou poté zablokována, dokud nebude účet opět způsobilý.

Sémantika obnovy

Odolná fronta poskytuje alespoň jednou zotavení, ne přesně jednou provedení. Pokud se pracovní proces zastaví poté, co nadřazený poskytovatel přijal požadavek, ale předtím, než Model Gate trvale uloží výsledek asynchronizace, pronájem nakonec vyprší a jiný pracovník se může znovu pokusit o stejné ID požadavku Model Gate. Vypořádání je chráněno proti dvojitému debetu, ale aplikace, které způsobují externí vedlejší účinky prostřednictvím modelových nástrojů, by tyto vedlejší účinky měly učinit idempotentními.

Načíst výsledek

Použijte klíč Partner API patřící ke stejnému účtu Model Gate.

Žádost

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

Odpověď — zpracování

{
  "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"
  }
}

Odpověď – dokončeno

{
  "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"
  }
}

Výsledný koncový bod vrátí kompletní uložené upstream tělo do expires_at. Vrátí se cizí ID požadavku, jehož platnost vypršela nebo neznámé 404.

Chyby

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

Nepodporované koncové body se vrátí async_not_supported.

Zpětná volání

Dokončené asynchronní výsledky jsou trvale zařazeny do fronty pro doručení na adresu URL pro zpětné volání nakonfigurovanou v profilu. Doručování zpětného volání má svou vlastní frontu worker/retry, a proto nečeká na další požadavek Model API. Údržba také slučuje asynchronní řádky terminálu s historií požadavků a obnovuje chybějící zpětné volání dokončení po havárii pracovníka. Vidět Zpětná volání pro ověření podpisu, opakování a vedení idempotence.