Async žiadosti
Požiadavky na odvodenie podporované frontom a načítanie ich dokončených výsledkov prostredníctvom Partner API.
Async žiadosti
Asynchrónny režim Model Gate ukladá úlohu odvodenia do trvalého frontu MariaDB a okamžite vracia ID požiadavky. Nezávislý sub2proxy pracovníci si nárokujú úlohy vo fronte s prenájmami a opustené prenájmy možno obnoviť po reštarte procesu. Dokončený výsledok je načítaný z Partner API alebo doručený spätnému volaniu nakonfigurovanému v profile.
Asynchrónny režim je podporovaný pre:
POST /v1/chat/completionsPOST /v1/messagesPOST /v1/responsesPOST /v1/images/generations
Asynchrónne požiadavky nemožno použiť stream: true.
Žiadosť o front
Pridajte rozšírenie Model Gate "async": true na inak platnú žiadosť.
Žiadosť
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
}'
Odpoveď - 202
{
"request_id": "01KZ...",
"status": "queued",
"result_url": "https://p-api.model-gate.com/api/v1/requests/01KZ..."
}
The async pole sa odstráni pred odoslaním požiadavky smerom nahor. Pred zaradením úlohy do frontu sa alias modelu rozlíši na svoj kanonický model. Pracovník znova overí kľúč a vykoná ho cez rovnakú požiadavku/účtovné jadro Model Gate ako synchrónna inferencia. Riadky frontu neobsahujú žiadny tajný kľúč API. Natívne asynchrónne stanovovanie cien sa nemení a nepoužíva cenový koeficient dávkovej požiadavky.
Predtým, ako si pracovník uplatní nárok na položku, skontroluje aktuálny zostatok na účte a aktuálny resetovateľný kľúč/výdavky skupiny v MariaDB. Ak zostatok na účte nie je kladný alebo je už vyčerpaný nakonfigurovaný kľúč/limit výdavkov skupiny, položka zostane queued a nespotrebuje pokus o vykonanie. Neskoršie dobitie, resetovanie používania alebo zvýšenie limitu spôsobia, že položka bude automaticky vhodná. Model Gate si nerezervuje odhadované náklady na požiadavku: práca, ktorá už prešla prijatím, môže dokončiť a uhradiť jej úplné skutočné náklady, aj keď súbežná práca spôsobí záporný konečný zostatok alebo mierne prekročí limit výdavkov. Nové exekúcie sú potom zablokované, kým účet nebude opäť spôsobilý.
Sémantika obnovy
Odolný rad poskytuje aspoň raz zotavenie, nie presne raz-exekucia. Ak sa pracovný proces zastaví po tom, čo poskytovateľ upstream prijal požiadavku, ale predtým, ako Model Gate trvalo uloží výsledok asynchronizácie, prenájom nakoniec vyprší a iný pracovník sa môže pokúsiť o rovnaké ID požiadavky Model Gate. Vyrovnanie je chránené pred dvojitým debetom, ale aplikácie, ktoré spôsobujú externé vedľajšie účinky prostredníctvom modelových nástrojov, by mali tieto vedľajšie účinky urobiť idempotentnými.
Získať výsledok
Použite kľúč Partner API patriaci k rovnakému účtu Model Gate.
Žiadosť
curl https://p-api.model-gate.com/api/v1/requests/01KZ... \
-H "Authorization: Bearer mg_partner_..."
Response — spracovanie
{
"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"
}
}
Odpoveď - dokončená
{
"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áti celé uložené upstream telo do expires_at. Vráti sa cudzie ID žiadosti, ktorej platnosť vypršala alebo je neznáma 404.
Chyby
{
"error": {
"type": "invalid_request_error",
"code": "invalid_async_stream_combination",
"message": "Async requests cannot be streamed."
}
}
Nepodporované koncové body sa vracajú async_not_supported.
Spätné volania
Dokončené asynchrónne výsledky sú trvalo zaradené do frontu na doručenie na adresu URL spätného volania nakonfigurovanú v profile. Doručenie spätného volania má svoj vlastný front worker/retry, a preto nečaká na ďalšiu požiadavku Model API. Údržba tiež zosúlaďuje asynchronizované riadky terminálu s históriou požiadaviek a obnovuje chýbajúce spätné volanie dokončenia po havárii pracovníka. Pozri Spätné volania pre overenie podpisu, opakovanie a usmernenie idempotencie.