Generowanie odpowiedzi na czacie
Generowanie odpowiedzi czatu zgodne z API OpenAI, z obsługą strumieniowania, obrazów, wywoływania narzędzi i sterowania rozumowaniem.
POST /v1/chat/completions
curl https://api.unquant.io/v1/chat/completions \
-H "Authorization: Bearer $UNQUANT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"glm-5.3-flash",
"messages":[{"role":"user","content":"Hello!"}]}'Pola żądania
modelciąg znakówWymaganeglm-5.3-flash lub qwen-3.8-flash-next.
messagestablicaWymaganeRole: system, user, assistant i tool. Treść to ciąg znaków lub tablica elementów typu text i image_url.
streamwartość logicznaPrzesyłaj odpowiedź strumieniowo jako zdarzenia wysyłane przez serwer (SSE).
stream_optionsobiekt{"include_usage": true} dodaje końcowy fragment z liczbą tokenów.
max_tokensliczba całkowitaMaksymalna długość odpowiedzi.
max_completion_tokensliczba całkowitaDziała tak samo jak max_tokens.
temperatureliczbaPoziom losowości próbkowania.
top_pliczbaPróbkowanie ze zbioru najbardziej prawdopodobnych tokenów o określonym łącznym prawdopodobieństwie.
top_kliczba całkowitaLosuj spośród k najbardziej prawdopodobnych tokenów.
min_pliczbaMinimalne względne prawdopodobieństwo tokenu.
seedliczba całkowitaZiarno generatora losowego zapewniające powtarzalność próbkowania.
stopciąg znaków lub tablicaSekwencje kończące generowanie.
frequency_penaltyliczbaObniżaj prawdopodobieństwo tokenów w zależności od częstotliwości ich występowania.
presence_penaltyliczbaObniżaj prawdopodobieństwo tokenów, które już wystąpiły.
repetition_penaltyliczbaKara za powtórzenia stosowana jako mnożnik.
toolstablicaFunkcje, które model może wywołać, w formacie OpenAI.
tool_choiceciąg znaków lub obiektauto, none, required lub funkcja wskazana po nazwie.
parallel_tool_callswartość logicznaZezwalaj na kilka wywołań narzędzi w jednej turze.
response_formatobiektOdpowiedź w formacie JSON.
logprobswartość logicznaZwracaj logarytmy prawdopodobieństw tokenów.
top_logprobsliczba całkowitaLiczba alternatyw zwracanych dla każdego tokenu.
nliczba całkowitaMusi wynosić 1: jedna wygenerowana odpowiedź na żądanie.
reasoning_effortciąg znakówOba modele: none, low lub high; GLM-5.3-Flash przyjmuje też max.
chat_template_kwargsobiektPrzełączniki szablonu, np. {"enable_thinking": false}.
Pozostałe pola są ignorowane.
Odpowiedź
response.choices[0].message.contentDane o zużyciu są zwracane wyłącznie do twojego monitorowania; nigdy nie naliczamy na ich podstawie opłat.
Strumieniowanie
Przy "stream": true odpowiedź napływa jako zdarzenia wysyłane przez serwer (SSE), we fragmentach w formacie OpenAI, i kończy się komunikatem data: [DONE]. Odczytuj tekst z choices[0].delta.content.
Obrazy
Oba modele przyjmują obrazy jako elementy image_url zawierające adres URL danych zakodowanych w base64 (data:image/png;base64,..., JPEG lub WebP). Obrazy wskazane zdalnym adresem URL nie są pobierane, a takie żądania zwracają błąd 400.
{"role": "user", "content": [
{"type": "text", "text": "Describe this image."},
{"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,/9j/4AAQ..."}}
]}Wywoływanie narzędzi
Przekaż tools tak samo jak w API OpenAI. Gdy model wywołuje narzędzie, odpowiedź zawiera finish_reason: "tool_calls" i message.tool_calls; uruchom narzędzie, dodaj wiadomość tool z jego wynikiem i odpowiadającym mu tool_call_id, a następnie wyślij kolejne żądanie.
Rozumowanie
Oba modele przeprowadzają rozumowanie przed udzieleniem odpowiedzi i przyjmują parametr reasoning_effort: none dla odpowiedzi bez rozumowania, low dla krótkiego rozumowania lub high dla trudniejszych problemów; GLM-5.3-Flash obsługuje też max, a domyślnie używa high. Przebieg rozumowania jest zwracany oddzielnie w reasoning_content i nigdy nie trafia do content. Ustawienia "thinking": {"type": "disabled"} oraz "chat_template_kwargs": {"enable_thinking": false} również wyłączają rozumowanie.
Równoczesne żądania
Twój plan określa, ile żądań może być obsługiwanych jednocześnie, łącznie dla wszystkich twoich kluczy. Żądanie przekraczające ten limit od razu zwraca błąd 429 i nie trafia do kolejki; nie wpływa to na trwające żądania.