Z.ai: GLM 5.3 (batch)
Z.ai GLM 5.3 – tekstinio samprotavimo modelis sudėtingai programinės įrangos inžinerijai, darbui terminale ir ilgalaikiams agentams. Jis palaiko gamintojo dokumentuotą 1M žetonų kontekstą, iki 128K išvesties žetonų, funkcijų iškvietimą ir low/high/max samprotavimo pastangas; samprotavimas įjungtas visą laiką.
Apie modelį
Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.
Z.ai GLM 5.3 – didelio masto tekstinio samprotavimo modelis sudėtingai programinės įrangos inžinerijai ir ilgalaikiam agentų darbui. Gamintojas teigia, kad naudojamas tas pats bazinis modelis kaip GLM 5.2, o naujas pagerėjimas pasiektas papildomu mokymu. Leidimas orientuotas į stipresnį programavimą, terminalo operacijas ir platesnes užduotis su keliais priklausomais žingsniais. Jis priima tekstą ir generuoja tekstą, įskaitant kodą, paaiškinimus, planus bei įrankių iškvietimo prašymus prie įrankių prijungtoje programoje.
Dokumentuotas samprotavimo režimas visada įjungtas. GLM 5.3 siūlo tris pastangų lygius: low, high ir max; numatytasis – max. Sudėtingam programavimui gamintojas rekomenduoja max; low suteikia lengvesnį samprotavimo variantą paprastesniems žingsniams. Pasirinktą lygį derinkite su aiškiu galutiniu rezultatu ir užbaigimo kriterijais. Pavyzdžiui: „Išnagrinėk šiuos failus ir nesėkmingus rezultatus, atsek priežastį paveiktuose moduliuose, pasiūlyk viešąją sąsają išsaugantį pataisymą ir paaiškink, kurios patikros įrodo, kad regresija pašalinta.“
Gamintojas nurodo 1M žetonų konteksto langą ir didžiausią 128K žetonų išvesties ilgį. Ilgą medžiagą sutvarkykite pagal ryšį, kurį modelis turi ištirti. Išsaugokite failų pavadinimus, aktualias apibrėžtis, šaltinių žymenis ir stebėjimų tvarką, o taikomame darbiniame kontekste palikite vietos samprotavimui bei galutiniam atsakymui. Didelis langas naudingas tarpmodulinėms priklausomybėms ar ilgai agento stebėjimų sekai; jis nepaverčia netikslingo nesusijusios medžiagos archyvo aiškiai apibrėžta užduotimi.
Darbui su saugykla pateikite laukiamą veikimą, aktualų šaltinio tekstą, priklausomybių versijas ir tikrąją klaidos išvestį. Prieš siūlydamas pataisą modelis turėtų įvardyti paveiktą veikimą. Refaktorizavimui įvardykite sąsają ir invariantus, kurie turi išlikti. Naudingame atsakyme yra pataisytas kodas, paaiškinimas, kodėl pakeitimas sprendžia stebėtą problemą, ir rezultatui patikrinti reikalingi atvejai. Tikruosius rezultatus grąžinkite į įrankiais susietą darbo eigą, kad kitas žingsnis remtųsi pasikeitusia būsena, o ne ankstesniu pasiūlymu.
Našumo užduočiai pateikite apkrovą, atskaitos rezultatą ir matavimus, pavyzdžiui, trukmes, profilius ar atminties paskirstymo įrašus. Z.ai aprašo mokymo užduotis, apimančias kliūčių diagnostiką, optimizavimą, eksperimentus ir teisingumą išsaugančius rezultatus. Praktinė užklausa: „Naudok šį profilį svarbiausiai našumo kliūčiai nustatyti, pasiūlyk vieną išmatuojamą pakeitimą ir paaiškink, koks rezultatas pateisintų jo išlaikymą.“ Našumo hipotezę atskirkite nuo užfiksuoto pagerėjimo. Tikrindami rezultatą išsaugokite tą pačią apkrovą ir aktualias sąlygas.
Leidime taip pat plėtojamos pažeidžiamumų analizės galimybės. Gynybinei šaltinio peržiūrai pateikite aktualų kodą, numatytas pasitikėjimo ribas ir vykdymo sąlygas. Paprašykite radinio, siejančio įtariamą problemą su paveikta įvestimi, veikimu ir tiksline taisymo priemone. Galimą silpnybę atskirkite nuo atkurto gedimo ir išsaugokite jai patvirtinti naudotą stebėjimą. Ataskaita naudingesnė, kai pirmenybė teikiama konkretiems įrodymams ir siūlomiems pataisymams, o ne kiekvienas įtartinas šablonas laikomas patvirtintu pažeidžiamumu.
Funkcijų iškvietimas leidžia aplinkinei programai suteikti modeliui išorines operacijas. Apibrėžkite kiekvieno įrankio paskirtį, argumentus ir laukiamą rezultatą, tada kitam žingsniui grąžinkite tikrąjį įrankio stebėjimą. Modelis gali samprotauti apie rezultatą ir spręsti, kaip jis keičia užduotį. Siūlomi veiksmai, įvykdytos operacijos ir neišspręstos patikros turi būti atskiriami. Gamintojas taip pat dokumentuoja srautinius atsakymus, atskirai grąžinančius samprotavimo ir atsakymo fragmentus; prieš laikydami jį galutine ataskaita ar kodo paaiškinimu, surinkite užbaigtą atsakymą.
Vietinio modelio kortelėje pateikta konkreti istorijos nustatymo detalė: pokalbio šablonas pagal numatytuosius nustatymus išsaugo mąstymą, o įprastiems pokalbiams gamintojas rekomenduoja aiškiai išvalyti seną mąstymą. Naudojimo atvejui taikykite tinkamą pokalbio struktūrą, išsaugodami tęsimui reikalingus tikrus užbaigtus atsakymus ir įrankių rezultatus. GLM 5.2 ar atskirų GLM 5.3 Flash leidimų samprotavimo valdymo nustatymų nelaikykite sukeičiamais su šio modelio low/high/max valdikliais.
Struktūriniams rezultatams nurodykite laukiamus laukus, tipus ir šaltinių taisykles. Naudingas rezultatas gali būti defektų lentelė, pakeitimų planas ar stebėjimus apibendrinantis JSON objektas. Prieš naudodami programoje patikrinkite ir struktūrą, ir reikšmes. Galutinis rezultatas turėtų įvardyti atsakymą ar pataisytą kūrinį, jį pagrindžiančius įrodymus ir likusias prielaidas. Didesnės samprotavimo pastangos neįrodo, kad įrankis buvo vykdytas, siūloma pataisa praėjo patikras ar faktinį teiginį pagrindžia kas nors už pateiktos medžiagos ribų.
Ailoot Ultra · Paketinis apdorojimas POST /v1/batches z-ai/glm-5.3:batch
z-ai/glm-5.3:batchPradžia
Z.ai GLM 5.3 – tekstinio samprotavimo modelis sudėtingai programinės įrangos inžinerijai, darbui terminale ir ilgalaikiams agentams. Jis palaiko gamintojo dokumentuotą 1M žetonų kontekstą, iki 128K išvesties žetonų, funkcijų iškvietimą ir low/high/max samprotavimo pastangas; samprotavimas įjungtas visą laiką.
- Leidžiamos įvestys
- Tekstas
- Rezultatai
- Tekstas
Prieinama Ailoot · įvestys ir metodai
Ailoot Ultra · Paketinis apdorojimas POST /v1/batches
- Įvestis
text- Išvestis
text- Išvesties formatas
- tiesiogiai įterptas results[].response.body JSON
| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
|---|---|---|---|---|
Laukasendpoint | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos /v1/chat/completions | Numatyta— |
Laukasmodel | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos z-ai/glm-5.3:batch | Numatyta— |
Laukasrequests | Tipasbatch_item[] | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausias elementų skaičius: 1 | Numatyta— |
Laukasrequests[].custom_id | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
Laukasrequests[].body.messages | Tipasmessage[] | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
Laukascompletion_window | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos 24h | Numatyta— |
Laukasprovider | Tipasobject|null | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
Laukasrequests[].body.model | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos z-ai/glm-5.3:batch, z-ai/glm-5.3 | Numatyta— |
Laukasprovider.only | Tipasstring[] | ReikalavimasNeprivaloma | Reikšmės ir ribos deepinfra/fp4 | Numatyta— |
Laukasprovider.allow_fallbacks | Tipasboolean|null | ReikalavimasNeprivaloma | Reikšmės ir ribos false, null | Numatyta— |
Metodo parametrai ir gyvavimo ciklas
| Parametras | Specifikacija |
|---|---|
Parametrascontent_type | Specifikacijaapplication/json |
Parametrasrequired | Specifikacijaendpoint, model, requests |
Parametrasmaterial_types | Specifikacijatext |
Parametrasrepresentation | Specifikacijatiesiogiai įterptas requests[] masyvas; kiekvienas elementas turi custom_id ir body laukus |
Parametrasrequest_endpoint_profile | Specifikacija/v1/chat/completions |
Parametrasfile_material | SpecifikacijaKlientas gali vietoje perskaityti faktinį UTF-8 JSONL turinį į requests[] masyvą. Įkėlimo purpose, input_file_id ar failo nuoroda nenaudojami. Jei kliento medžiagos nėra arba ji tuščia, parengimas sustabdomas prieš POST. |
Parametrasserialization_order | Specifikacijaendpoint, model, provider (jei pateiktas), completion_window (jei pateiktas), requests pateikite paskiausiai |
Parametrasoptional_controls | Specifikacijaprovider.only, provider.allow_fallbacks, completion_window |
Parametrasschema_scope | SpecifikacijaTekstinių Chat Completions užklausų turiniai dokumentuotoje Batch paketo struktūroje, pateikiamoje pačioje užklausoje. |
Gyvavimo ciklas: asynchronous
GET /v1/batches/{operation_id} · faktinė pradinės kūrimo užklausos atsakymo response.id reikšmė; tas pats naudotojas, raktas ir grupė
Planai
Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.
- Spartusis režimas
- Nenurodyta Pasirinkus spartųjį režimą
- Flex režimas
- Nenurodyta Pasirinkus flex režimą
- Didžiausios samprotavimo pastangos
- Nenurodyta Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)
- Išreikštinio podėlio kainodara
- Neįjungta Kai prašoma išreikštinio podėlio
Ailoot įkainiai
Kainos pagal konfigūraciją
Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.
| Konfigūracija | Įkainių lentelė | Konteksto tokenų daugiau nei | Konteksto tokenų iki imtinai | Mokestis |
|---|---|---|---|---|
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Konteksto tokenų daugiau nei— | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai $0.0009 / 1K tokenų Išvestis · Išvesties tokenai $0.004 / 1K tokenų Įvestis · Talpyklos skaitymas $0.0002 / 1K tokenų Įvestis · Rašymas į talpyklą — / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val — / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 1 | Įkainių lentelė— | Konteksto tokenų daugiau nei0 | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai $0.0009 / 1K tokenų Išvestis · Išvesties tokenai $0.004 / 1K tokenų Įvestis · Talpyklos skaitymas $0.0002 / 1K tokenų Įvestis · Rašymas į talpyklą — / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val — / 1K tokenų |
Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. Kaip veikia rezervavimas ir atsiskaitymas →
Užklausų pavyzdžiai
Ailoot Ultra · Paketinis apdorojimas
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json
from pathlib import Path
body=json.loads('{"endpoint":"/v1/chat/completions","model":"z-ai/glm-5.3:batch","requests":[{"custom_id":"req-0001","body":{"messages":[{"role":"user","content":"Hello!"}],"max_tokens":16}}]}')
Path("batch-request.json").write_text(json.dumps(body,ensure_ascii=False),encoding="utf-8")
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json
import json, os
from pathlib import Path
from urllib.request import Request, urlopen
def prepare_requests(customer_path):
path = Path(customer_path)
if not path.is_file(): raise ValueError("Customer JSONL file is missing")
items = [json.loads(line) for line in path.read_text(encoding="utf-8").splitlines() if line.strip()]
if not items: raise ValueError("Customer JSONL contains no requests")
ids = set()
for item in items:
if set(item) != {"custom_id", "body"}: raise ValueError("Each item needs custom_id and body")
cid = item["custom_id"]
if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError("custom_id must be nonempty and unique")
ids.add(cid)
if not isinstance(item["body"], dict) or not item["body"].get("messages"): raise ValueError("Supply actual text messages")
supplied_model = item["body"].get("model")
if supplied_model is not None and supplied_model not in ['z-ai/glm-5.3:batch', 'z-ai/glm-5.3']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"z-ai/glm-5.3:batch", "requests":items}
if __name__ == "__main__":
material = os.environ.get("AILOOT_BATCH_REQUESTS_JSONL", "")
if not material: raise SystemExit("Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file")
body = prepare_requests(material)
key = os.environ.get("AILOOT_API_KEY", "")
if not key: raise SystemExit("Set AILOOT_API_KEY")
request = Request("https://api.ailoot.ai/v1/batches", data=json.dumps(body, ensure_ascii=False).encode("utf-8"), headers={"Authorization":"Bearer " + key, "Content-Type":"application/json"}, method="POST")
with urlopen(request) as response:
raw = response.read()
Path("batch-create-response.json").write_bytes(raw)
print(raw.decode("utf-8"))
import json
from pathlib import Path
raw = Path("batch-status-response.json").read_bytes()
response = json.loads(raw)
if response.get("status") != "completed":
raise SystemExit("Keep the original operation; read its status without resubmitting")
results = response.get("results")
if not isinstance(results, list) or not results:
raise SystemExit("Preserve the original response; completed results are missing")
Path("batch-results.jsonl").write_text("".join(json.dumps(item, ensure_ascii=False) + "\n" for item in results), encoding="utf-8")
# Preserve batch-status-response.json with aggregate usage and every result/error.
Gauti ir išsaugoti rezultatus
Ailoot Ultra · Paketinis apdorojimas
tiesiogiai įterptas results[].response.body JSON
GET /v1/batches/{operation_id}
Tikrinti užduoties būseną
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
BATCH_OPERATION_ID="$(python3 - <<'PY_ID'
import json
from pathlib import Path
from urllib.parse import quote
response = json.loads(Path("batch-create-response.json").read_text(encoding="utf-8"))
operation = response.get("id")
if not isinstance(operation, str) or not operation: raise SystemExit("No actual original operation ID; preserve the response and do not resubmit")
print(quote(operation, safe=""))
PY_ID
)"
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o batch-status-response.json
Išsaugoti visus baigtus rezultatus
Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.
Išsaugokite visą pradinės būsenos JSON, kiekvieną rezultatą ir custom_id bei visą atsakymo arba klaidos turinį. Užbaigtus results[] išsaugokite JSONL formatu nieko nefiltruodami.
Jei reikia patikrinti pradinį atsakymą
Išsaugokite pradinį operacijos ID. Atsakyme 503 result_pending_check pateikiama X-Should-Retry:false; niekada pakartotinai neteikite pradinio paketo, kurio baigtis nežinoma.
Atsakymo laukai
| Laukas | Tipas |
|---|---|
Laukasresults[].custom_id | Tipasstring |
Laukasresults[].response.body.choices[].message.content | Tipasstring|null |
Laukasresults[].error | Tipasobject|null |
Laukasusage | Tipasobject|null |
Laukasid | Tipasstring |
Laukasmodel | Tipasstring |
Laukasendpoint | Tipasstring |
Laukasstatus | Tipasstring |
Laukasrequest_counts | Tipasobject |
Laukasresults[].id | Tipasstring |
Laukasresults[].response.status_code | Tipasinteger |
Laukasresults[].response.request_id | Tipasstring |
Klaidos ir tolesni veiksmai
| Atsakymas | Sąlyga | Kitas žingsnis |
|---|---|---|
Atsakymas400 · invalid_request_error | SąlygaNeteisinga dokumentuota tiesiogiai įterpto paketo struktūra, pasikartojantys raktai, netinkama elemento tapatybė arba konfliktas su sukonfigūruotomis modelio galimybėmis. | Kitas žingsnisPrieš bet kokį naują pateikimą pataisykite nurodytus laukus. |
Atsakymas401 · authentication_error | SąlygaNegaliojantis API raktas. | Kitas žingsnisNaudokite leistiną Ailoot raktą. |
Atsakymas403 · permission_error | SąlygaPaketinio apdorojimo grupė neprieinama. | Kitas žingsnisPatikrinkite rakto ir grupės prieigos teises. |
Atsakymas422 · invalid_request_error | SąlygaPaketinis apdorojimas apmokamas iš balanso; kūrimo užklausos su prenumeratos apmokėjimu atmetamos. | Kitas žingsnisNaudokite leistiną grupę, kurios užklausos apmokamos iš balanso. |
Atsakymas422 · price_unavailable | SąlygaNepavyksta apskaičiuoti paketinio apdorojimo įvesties kainos. | Kitas žingsnisIšsaugokite atsakymą; naudokite dokumentuotą šios API šeimos įvestį. |
Atsakymas402 · billing_error | SąlygaPaketiniam apdorojimui reikalingas rezervas neprieinamas. | Kitas žingsnisPrieš teikdami naują užklausą išspręskite užklausos priėmimo problemą. |
Atsakymas503 · price_unavailable | SąlygaPaketinio apdorojimo metodo kaina arba savieji sistemos įkainiai neprieinami. | Kitas žingsnisIšsaugokite atsakymą; nekeiskite kainų kitomis. |
Atsakymas503 · api_error | SąlygaKonkretus tiekėjo maršrutas neprieinamas. | Kitas žingsnisIšsaugokite atsakymą maršrutui pataisyti. |
Atsakymas503 · result_pending_check | SąlygaPradinį rezultatą reikia patikrinti; X-Should-Retry:false. | Kitas žingsnisIšsaugokite pradinę operation_id/id reikšmę ir tikrinkite operacijos būseną; niekada nekartokite pradinės POST užklausos. |
Atsakymas404 · not_found | SąlygaPaketinio apdorojimo būsenos operacijos nėra arba ji susieta su kita tapatybe. | Kitas žingsnisNaudokite tikslią pradinę id reikšmę ir tą patį naudotoją, raktą bei grupę. |
Pseudonimai
Modelių pseudonimai
Ailoot Ultra z-ai/glm-5.3:batch
Metodų kelių pseudonimai
Naudokite aukščiau nurodytus metodų kelius.
Susiję ID iškvietimui
FAQ · Z.ai: GLM 5.3 (batch)
- Kokios įvestys ir rezultatai prieinami?
POST /v1/batches·z-ai/glm-5.3:batch:text→text- Kokius laukus naudoja užklausa?
POST /v1/batches·z-ai/glm-5.3:batch:endpoint,model,requests,completion_window,provider- Kokie apribojimai taikomi?
POST /v1/batches·z-ai/glm-5.3:batch:requests.min_items:1