Asynchrone verzoeken
Zet ondersteunde gevolgtrekkingsverzoeken in de wachtrij en haal het voltooide resultaat op via Partner API.
Asynchrone verzoeken
De async-modus van Model Gate slaat een inferentietaak op in de duurzame MariaDB-wachtrij en retourneert onmiddellijk een aanvraag-ID. Onafhankelijk sub2proxy werknemers claimen banen in de wachtrij met leases, en verlaten leases kunnen worden hersteld na een herstart van het proces. Het voltooide resultaat wordt gelezen vanaf de Partner API of afgeleverd bij de callback die is geconfigureerd in Profiel.
De asynchrone modus wordt ondersteund voor:
POST /v1/chat/completionsPOST /v1/messagesPOST /v1/responsesPOST /v1/images/generations
Asynchrone verzoeken kunnen niet worden gebruikt stream: true.
Wachtrijverzoek
Voeg de Model Gate-extensie toe "async": true op een anderszins geldig verzoek.
Verzoek
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
}'
Reactie — 202
{
"request_id": "01KZ...",
"status": "queued",
"result_url": "https://p-api.model-gate.com/api/v1/requests/01KZ..."
}
De async veld wordt verwijderd voordat het verzoek stroomopwaarts wordt verzonden. Een modelalias wordt omgezet naar het canonieke model voordat de taak in de wachtrij wordt geplaatst. De werker valideert de sleutel opnieuw en voert deze uit via dezelfde Model Gate-aanvraag/boekhoudingskern als synchrone inferentie. Wachtrijrijen bevatten geen API-sleutelgeheim. Native asynchrone prijzen zijn ongewijzigd en maken geen gebruik van de prijscoëfficiënt voor batchaanvragen.
Voordat een medewerker een item claimt, controleert hij het huidige rekeningsaldo en het huidige resetbare sleutel-/groepsbestedingsgebruik in MariaDB. Als het rekeningsaldo niet positief is, of als een geconfigureerde sleutel-/groepsbestedingslimiet al is opgebruikt, blijft het item bestaan queued en verbruikt geen executiepoging. Bij een latere opwaardering, gebruiksreset of limietverhoging komt het artikel automatisch in aanmerking. Model Gate reserveert geen geschatte aanvraagkosten: werk dat al is toegelaten, mag worden voltooid en de volledige werkelijke kosten ervan worden verrekend, zelfs als gelijktijdig werk het eindsaldo negatief maakt of een bestedingslimiet enigszins overschrijdt. Nieuwe uitvoeringen worden vervolgens geblokkeerd totdat het account weer in aanmerking komt.
Herstel semantiek
De duurzame wachtrij biedt minstens één keer herstel, niet precies één keer uitgevoerd. Als een werkproces stopt nadat een upstreamprovider een verzoek heeft geaccepteerd, maar voordat Model Gate het asynchrone resultaat duurzaam opslaat, verloopt de lease uiteindelijk en kan een andere werknemer dezelfde Model Gate-aanvraag-ID opnieuw proberen. De afwikkeling wordt beschermd tegen dubbele afschrijvingen, maar toepassingen die via modeltools externe bijwerkingen veroorzaken, zouden die bijwerkingen idempotent moeten maken.
Resultaat ophalen
Gebruik een Partner API-sleutel die bij hetzelfde Model Gate-account hoort.
Verzoek
curl https://p-api.model-gate.com/api/v1/requests/01KZ... \
-H "Authorization: Bearer mg_partner_..."
Reactie - verwerking
{
"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"
}
}
Reactie - voltooid
{
"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"
}
}
Het resultaateindpunt retourneert het volledige opgeslagen stroomopwaartse lichaam tot expires_at. Er komt een buitenlandse, verlopen of onbekende aanvraag-ID terug 404.
Fouten
{
"error": {
"type": "invalid_request_error",
"code": "invalid_async_stream_combination",
"message": "Async requests cannot be streamed."
}
}
Niet-ondersteunde eindpunten keren terug async_not_supported.
Terugbelgesprekken
Voltooide asynchrone resultaten worden duurzaam in de wachtrij geplaatst voor levering aan de callback-URL die is geconfigureerd in Profiel. Terugbellevering heeft een eigen werk-/opnieuw-wachtrij en wacht daarom niet op een ander Model-API-verzoek. Onderhoud stemt ook terminal-asynchrone rijen af op de aanvraaggeschiedenis en herstelt een ontbrekende voltooiingscallback na een crash van een werker. Zien Terugbelgesprekken voor handtekeningverificatie, nieuwe pogingen en richtlijnen voor idempotentie.