B2BB2B LLM

Żądania asynchroniczne

Kolejkuj obsługiwane żądania wnioskowania i pobierz ich ukończony wynik za pomocą Partner API.

Żądania asynchroniczne

Tryb asynchroniczny Model Gate przechowuje zadanie wnioskowania w trwałej kolejce MariaDB i natychmiast zwraca identyfikator żądania. Niezależny sub2proxy pracownicy przejmują zadania z kolejki z dzierżawami, a porzucone dzierżawy można odzyskać po ponownym uruchomieniu procesu. Kompletny wynik jest odczytywany z Partner API lub dostarczany do wywołania zwrotnego skonfigurowanego w Profilu.

Tryb asynchroniczny jest obsługiwany w przypadku:

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

Nie można używać żądań asynchronicznych stream: true.

Zapytanie o kolejkę

Dodaj rozszerzenie Model Gate "async": true na skądinąd uzasadnione żądanie.

Wniosek

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

Odpowiedź — 202

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

The async pole jest usuwane przed wysłaniem żądania w górę łańcucha dostaw. Alias ​​modelu jest przekształcany w model kanoniczny przed umieszczeniem zadania w kolejce. Proces roboczy ponownie sprawdza poprawność klucza i wykonuje go za pomocą tego samego żądania Model Gate/rdzenia rozliczeniowego, co wnioskowanie synchroniczne. Wiersze kolejki nie zawierają tajnego klucza API. Natywne ceny asynchroniczne pozostają niezmienione i nie korzystają ze współczynnika ceny żądania wsadowego.

Zanim pracownik odbierze przedmiot, sprawdza bieżące saldo konta i bieżące, resetowalne wykorzystanie wydatków na klucz/grupę w MariaDB. Jeśli saldo konta nie jest dodatnie lub skonfigurowany limit wydatków na klucz/grupę został już wyczerpany, pozycja pozostaje queued i nie zużywa próby wykonania. Późniejsze doładowanie, zresetowanie użycia lub zwiększenie limitu powoduje, że przedmiot kwalifikuje się automatycznie. Model Gate nie rezerwuje szacunkowego kosztu zamówienia: praca, która została już przyjęta, może zostać ukończona i rozliczona w całości, w postaci rzeczywistego kosztu, nawet jeśli równoległa praca spowoduje, że saldo końcowe będzie ujemne lub nieznacznie przekroczy limit wydatków. Nowe egzekucje są następnie blokowane do czasu, aż konto ponownie będzie się kwalifikowało.

Semantyka odzyskiwania

Trwała kolejka zapewnia przynajmniej jednokrotne wyzdrowienie, a nie wykonanie dokładnie jednorazowe. Jeśli proces roboczy zatrzyma się po zaakceptowaniu żądania przez dostawcę wyższego szczebla, ale zanim Model Gate trwale zapisze wynik asynchronizacji, dzierżawa ostatecznie wygaśnie i inny proces roboczy może ponowić próbę użycia tego samego identyfikatora żądania Model Gate. Rozliczenie jest chronione przed podwójnym obciążeniem, ale aplikacje powodujące zewnętrzne skutki uboczne za pomocą narzędzi modelowych powinny sprawić, że te skutki uboczne będą idempotentne.

Pobierz wynik

Użyj klucza Partner API należącego do tego samego konta Model Gate.

Wniosek

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

Odpowiedź — przetwarzanie

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

Odpowiedź – uzupełniona

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

Wynikowy punkt końcowy zwraca całą przechowywaną wcześniej treść do expires_at. Zwracany jest obcy, wygasły lub nieznany identyfikator żądania 404.

Błędy

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

Powrót nieobsługiwanych punktów końcowych async_not_supported.

Oddzwonienia

Ukończone wyniki asynchronizacji są trwale umieszczane w kolejce w celu dostarczenia na adres URL wywołania zwrotnego skonfigurowany w profilu. Dostarczanie wywołania zwrotnego ma własną kolejkę procesów roboczych/ponownych prób i dlatego nie czeka na kolejne żądanie API modelu. Konserwacja uzgadnia także asynchroniczne wiersze terminala z historią żądań i odzyskuje brakujące wywołanie zwrotne zakończenia po awarii procesu roboczego. Widzieć Oddzwonienia do weryfikacji podpisu, ponownych prób i wskazówek dotyczących idempotencji.