Wprowadzenie
GLM 5.2 to model czatu Z.ai z długim kontekstem, udostępniony tu jako jeden endpoint zgodny z OpenAI pod /v1/chat/completions. Czyta do 1 048 576 tokenów w maksymalnie 256 wiadomościach i odpowiada do 131 072 – wchodzi cały korpus, wychodzi ustalenie.
Poziom rozumowania ma dwa ustawienia, high i max, domyślnie max. Przyjmuje temperature (od 0 do 1) i top_p, response_format zwraca JSON, w żądaniu można zadeklarować do 128 narzędzi, treść wiadomości to wyłącznie tekst, a odpowiedzi płyną strumieniem przez Server-Sent Events.
Najważniejsze funkcje
Osiem tokenów czytanych na jeden pisany
1 048 576 na wejściu i 131 072 na wyjściu to mniej więcej osiem do jednego, a ten kształt mówi, do czego służy model: przeczytać kwartał zgłoszeń, całe rozporządzenie albo całą skrzynkę pocztową i oddać ustalenie, a nie przepisany tekst. Jeśli odpowiedź musi być tak długa jak wejście, najpierw podziel rezultat.
Domyślnie max, high przy dużej skali
reasoning_effort startuje od max i schodzi na high przy dużych pierwszych przebiegach. Oba ustawienia są w tej samej treści żądania, więc tanie przejście przez dziesięć tysięcy dokumentów i staranne drugie spojrzenie na czterdzieści z nich to jedna integracja. max przeznacza więcej budżetu odpowiedzi na rozumowanie, dlatego max_tokens domyślnie wynosi tu 32 768.
JSON i narzędzia w jednym wywołaniu
Ustaw response_format na json_object i nazwij klucze w wiadomości systemowej albo zadeklaruj do 128 funkcji i pozwól tool_choice decydować, kiedy się uruchamiają. W obu przypadkach twoja aplikacja waliduje wynik, zanim na nim zadziała.
Parametry żądania
| Parametr | Wymagane | Uwaga |
|---|---|---|
messages | Tak | Najwyżej 256 uporządkowanych tur, treść wyłącznie tekstowa. Korpus umieść w jednej wiadomości użytkownika, a pytanie i format wyjścia w wiadomości systemowej. od 1 elementów · do 256 elementów |
reasoning_effort | Nie | high albo max. Domyślny jest max, tak jak w API samego Z.ai, więc żądanie pomijające to pole dostaje od razu najstaranniejsze ustawienie; przy przebiegach masowych zejdź do high. |
stop | Nie | Jedna sekwencja, jako string albo tablica z jednym elementem – Z.ai odczytuje tylko jedną. Odpowiedź kończy się, gdy tylko model ją zapisze, a dopasowany tekst nie jest zwracany. od 1 znaków · od 1 elementów · do 1 elementów |
max_tokens | Nie | Ogranicza odpowiedź do 131 072, czyli jednej ósmej okna odczytu. Domyślnie 32 768. |
temperature | Nie | Od 0 do 1, domyślnie 1. Trzymaj na 0 zawsze, gdy odpowiedź parsuje kod. |
top_p | Nie | Od 0,01 do 1, domyślnie 0,95. Reguluj to albo temperature, nigdy obu w tym samym porównaniu. |
tools | Nie | Do 128 definicji funkcji na żądanie. do 128 elementów |
tool_choice | Nie | auto, none, required albo obiekt wskazujący jedną funkcję. |
response_format | Nie | Poproś o obiekt JSON i nazwij każdy klucz w wiadomości systemowej. |
Cennik
Wejście $0.98 / Wyjście $3.08 za 1 mln tokenów
Zastosowania
Kwartał zgłoszeń wsparcia w jednym wywołaniu
Wczytaj do jednego żądania wszystkie zgłoszenia z okna wydania i zapytaj, które tryby awarii się powtarzają, z identyfikatorami zgłoszeń jako dowodem. Nic nie przepada w próbkowaniu, więc wychodzi nawet wzorzec pojawiający się raz w tygodniu.
Przepisy a rzeczywiste zachowanie produktu
Połóż pełny tekst rozporządzenia obok dokumentacji dotyczącej przetwarzania danych i poproś o obowiązki, spełniające je mechanizmy kontrolne oraz luki – każdą lukę powiązaną z klauzulą, z której wynika.
Backendy wywołujące twoje wewnętrzne narzędzia
Zadeklaruj wyszukiwanie zamówień, zwrot i sprawdzenie uprawnień jako narzędzia w jednym żądaniu i pozwól modelowi wybrać, które wywołać. Wyniki wracają jako wiadomości z rolą tool, więc wieloetapowe rozwiązanie zostaje w jednej rozmowie.
Wskazówki
Wczytaj cały korpus, a nie próbkę
Okno jest zwykle większe niż indeks wyszukiwania, który ktoś właśnie zamierzał zbudować. Umieść materiał w jednej wiadomości użytkownika, od najstarszego, a wiadomość systemową zostaw na pytanie i format wyjścia.
Poproś o ustalenie, a nie o zapis
POST https://api.spicyapi.ai/v1/chat/completions z {"model": "zai/glm-5.2", "messages": [{"role": "system", "content": "Return one JSON object with keys: obligations, controls, gaps. Every gap must cite the clause it comes from."}, {"role": "user", "content": "<the regulation>\n\n<our data-handling policy>"}], "reasoning_effort": "high", "max_tokens": 16000, "response_format": {"type": "json_object"}, "temperature": 0}. temperature 0 sprawia, że powtarzane przebiegi dają się porównać, gdy ponownie sprawdzasz ten sam korpus.
Eskaluj tylko niejednoznaczne wiersze
Wyślij ponownie na max, z tym samym korpusem, garstkę luk, które pierwszy przebieg oznaczył jako niepewne. Za długi odczyt płacisz dwa razy, ale staranna odpowiedź trafia w wiersze, które się liczą. max_tokens powyżej 131 072 nie przechodzi walidacji, a części z obrazami i plikami są odrzucane.
Szybki start z API
curl --fail-with-body -sN https://api.spicyapi.ai/v1/chat/completions \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "zai/glm-5.2/chat",
"messages": [
{
"role": "user",
"content": "Summarise the following release notes into three bullet points."
}
],
"stream": true
}' \
| jq --unbuffered -Rrj 'select(startswith("data: ")) | .[6:] | select(. != "[DONE]") | fromjson | if .error then "\n[error] \(.error.message)\n" else (.choices[0].delta.content? // empty) end'
Uwierzytelnianie, pełny schemat, odpytywanie i obsługę błędów opisuje dokumentacja API.







