Z.ai: GLM 5.3 (batch)
Z.ai GLM 5.3 je textový model na uvažovanie pre zložité softvérové inžinierstvo, prácu v termináli a agentov s dlhým horizontom úloh. Podporuje výrobcom zdokumentovaný kontext s rozsahom 1M tokenov, výstup až 128K tokenov, volanie funkcií a úsilie uvažovania low/high/max, pričom uvažovanie je zapnuté po celý čas.
O modeli
Tento opis pokrýva možnosti modelu. Dostupné vstupy, výstupy a voľby v Ailoot sú uvedené nižšie pre vybranú metódu.
Z.ai GLM 5.3 je rozsiahly textový model na uvažovanie navrhnutý pre zložité softvérové inžinierstvo a prácu agentov s dlhým horizontom úloh. Výrobca uvádza, že používa rovnaký základný model ako GLM 5.2 a nové zlepšenia pochádzajú z dotrénovania. Vydanie sa zameriava na lepšie programovanie, operácie v termináli a širšie úlohy s viacerými závislými krokmi. Prijíma text a vytvára text vrátane kódu, vysvetlení, plánov a požiadaviek na volanie nástrojov v aplikácii s pripojenými nástrojmi.
Zdokumentovaný režim uvažovania je vždy zapnutý. GLM 5.3 ponúka tri úrovne úsilia: low, high a max, pričom predvolená je max. Výrobca odporúča max na zložitú programátorskú prácu; low poskytuje ľahšiu možnosť uvažovania pre jednoduchšie kroky. Zvolenú úroveň používajte spolu s jasným konečným výstupom a kritériami dokončenia. Napríklad: „Preskúmaj tieto súbory a neúspešné výsledky, vysleduj príčinu naprieč dotknutými modulmi, navrhni opravu, ktorá zachová verejné rozhranie, a vysvetli, ktoré kontroly dokazujú odstránenie regresie.“
Výrobca stanovuje kontextové okno s rozsahom 1M tokenov a maximálnu dĺžku výstupu 128K tokenov. Dlhý materiál usporiadajte okolo vzťahu, ktorý má model preskúmať. Zachovajte názvy súborov, relevantné definície, označenia zdrojov a poradie pozorovaní a v príslušnom pracovnom kontexte ponechajte priestor na uvažovanie a konečnú odpoveď. Veľké okno je užitočné pri závislostiach medzi modulmi alebo dlhom slede pozorovaní agenta; z neusmerneného archívu nesúvisiaceho materiálu však nerobí jasne definovanú úlohu.
Pri práci s repozitárom poskytnite očakávané správanie, relevantný zdrojový text, verzie závislostí a skutočný chybový výstup. Požiadajte model, aby pred návrhom opravy určil dotknuté správanie. Pri refaktorizácii pomenujte rozhranie a invarianty, ktoré musia zostať zachované. Užitočná odpoveď obsahuje upravený kód, dôvod, prečo zmena rieši pozorovaný problém, a prípady potrebné na kontrolu výsledku. Skutočné výsledky vráťte do pracovného postupu s pripojenými nástrojmi, aby ďalší krok vychádzal zo zmeneného stavu a nie zo skoršieho návrhu.
Pri práci na výkone dodajte záťaž, východiskový stav a merania, napríklad časy, profily alebo záznamy alokácií. Z.ai opisuje tréningové úlohy zahŕňajúce diagnostiku úzkych miest, optimalizáciu, experimenty a výsledky zachovávajúce správnosť. Praktická požiadavka je: „Použi tento profil na určenie najvýznamnejšieho úzkeho miesta, navrhni jednu merateľnú zmenu a vysvetli, aký výsledok by odôvodnil jej ponechanie.“ Hypotézu o výkone odlíšte od zaznamenaného zlepšenia. Pri posudzovaní výsledku zachovajte rovnakú záťaž a relevantné podmienky.
Vydanie rozvíja aj schopnosť analyzovať zraniteľnosti. Pri obrannej kontrole zdrojového kódu poskytnite relevantný kód, zamýšľané hranice dôvery a podmienky jeho behu. Žiadajte zistenie, ktoré prepája podozrivý problém s dotknutým vstupom, správaním a cielenou nápravou. Potenciálnu slabinu oddeľte od reprodukovanej chyby a uchovajte pozorovanie použité na jej overenie. Správa je užitočnejšia, keď uprednostňuje konkrétne dôkazy a navrhované opravy pred považovaním každého podozrivého vzoru za potvrdenú zraniteľnosť.
Volanie funkcií umožňuje okolitej aplikácii sprístupniť modelu externé operácie. Definujte účel, argumenty a očakávaný výsledok každého nástroja a potom vráťte skutočné pozorovanie nástroja pre ďalší krok. Model môže nad týmto výsledkom uvažovať a rozhodnúť, ako mení úlohu. Navrhované akcie, vykonané operácie a nevyriešené kontroly udržujte odlíšiteľné. Výrobca dokumentuje aj streamované odpovede, ktoré vracajú fragmenty uvažovania a odpovede oddelene; dokončenú odpoveď zostavte predtým, než ju budete považovať za konečnú správu alebo vysvetlenie kódu.
Lokálna karta modelu uvádza konkrétny detail nastavenia histórie: jeho šablóna chatu predvolene uchováva uvažovanie, zatiaľ čo výrobca odporúča pri bežných chatových scenároch staré uvažovanie výslovne vymazať. Použite štruktúru konverzácie vhodnú pre daný prípad použitia a zachovajte skutočné dokončené odpovede a výsledky nástrojov potrebné na pokračovanie. Nastavenia ovládania uvažovania z GLM 5.2 alebo samostatných edícií GLM 5.3 Flash nepovažujte za zameniteľné s ovládacími prvkami low/high/max tohto modelu.
Pri štruktúrovaných výsledkoch určte očakávané polia, typy a pravidlá pre zdroje. Užitočným výstupom môže byť tabuľka chýb, plán zmien alebo objekt JSON sumarizujúci pozorovania. Pred použitím v aplikácii overte štruktúru aj hodnoty. Konečný výsledok by mal určiť odpoveď alebo upravený výstup, dôkazy, ktoré ho podporujú, a zostávajúce predpoklady. Väčšie úsilie uvažovania nedokazuje, že nástroj prebehol, že navrhnutá oprava prešla kontrolami ani že faktické tvrdenie má oporu mimo dodaného materiálu.
Ailoot Ultra · Dávkové spracovanie POST /v1/batches z-ai/glm-5.3:batch
z-ai/glm-5.3:batchÚvod
Z.ai GLM 5.3 je textový model na uvažovanie pre zložité softvérové inžinierstvo, prácu v termináli a agentov s dlhým horizontom úloh. Podporuje výrobcom zdokumentovaný kontext s rozsahom 1M tokenov, výstup až 128K tokenov, volanie funkcií a úsilie uvažovania low/high/max, pričom uvažovanie je zapnuté po celý čas.
- Povolené vstupy
- Text
- Výsledky
- Text
Dostupné v Ailoot · vstupy a metódy
Ailoot Ultra · Dávkové spracovanie POST /v1/batches
- Vstup
text- Výstup
text- Výstupný formát
- JSON priamo vložený v results[].response.body
| Pole | Typ | Požiadavka | Hodnoty a limity | Predvolené |
|---|---|---|---|---|
Poleendpoint | Typstring | PožiadavkaPovinné | Hodnoty a limity /v1/chat/completions | Predvolené— |
Polemodel | Typstring | PožiadavkaPovinné | Hodnoty a limity z-ai/glm-5.3:batch | Predvolené— |
Polerequests | Typbatch_item[] | PožiadavkaPovinné | Hodnoty a limity Minimálny počet položiek: 1 | Predvolené— |
Polerequests[].custom_id | Typstring | PožiadavkaPovinné | Hodnoty a limity | Predvolené— |
Polerequests[].body.messages | Typmessage[] | PožiadavkaPovinné | Hodnoty a limity | Predvolené— |
Polecompletion_window | Typstring | PožiadavkaVoliteľné | Hodnoty a limity 24h | Predvolené— |
Poleprovider | Typobject|null | PožiadavkaVoliteľné | Hodnoty a limity | Predvolené— |
Polerequests[].body.model | Typstring | PožiadavkaVoliteľné | Hodnoty a limity z-ai/glm-5.3:batch, z-ai/glm-5.3 | Predvolené— |
Poleprovider.only | Typstring[] | PožiadavkaVoliteľné | Hodnoty a limity deepinfra/fp4 | Predvolené— |
Poleprovider.allow_fallbacks | Typboolean|null | PožiadavkaVoliteľné | Hodnoty a limity false, null | Predvolené— |
Parametre a životný cyklus metódy
| Parameter | Špecifikácia |
|---|---|
Parametercontent_type | Špecifikáciaapplication/json |
Parameterrequired | Špecifikáciaendpoint, model, requests |
Parametermaterial_types | Špecifikáciatext |
Parameterrepresentation | Špecifikáciapriamo vložené requests[]; každá položka obsahuje custom_id a body |
Parameterrequest_endpoint_profile | Špecifikácia/v1/chat/completions |
Parameterfile_material | ŠpecifikáciaVolajúci môže lokálne načítať skutočný súbor UTF-8 JSONL do requests[]. Nepoužíva sa účel nahrávania, input_file_id ani odkaz na súbor. Chýbajúce alebo prázdne podklady zákazníka zastavia prípravu pred POST. |
Parameterserialization_order | Špecifikáciaendpoint, model, provider (ak je zadaný), completion_window (ak je zadaný), requests na konci |
Parameteroptional_controls | Špecifikáciaprovider.only, provider.allow_fallbacks, completion_window |
Parameterschema_scope | ŠpecifikáciaTelá textových požiadaviek Chat Completions v zdokumentovanom obale dávky s priamo vloženými požiadavkami. |
Životný cyklus: asynchronous
GET /v1/batches/{operation_id} · skutočná hodnota response.id z pôvodnej odpovede na vytvorenie; rovnaký používateľ/kľúč/skupina
Cenník
Tarifné údaje nepridávajú možnosti požiadavky. Podporované parametre sú uvedené pri vybranej metóde.
- Rýchly režim
- Neuvedené Keď je zvolený rýchly režim
- Režim Flex
- Neuvedené Keď je zvolený režim flex
- Maximálna úroveň uvažovania
- Neuvedené Keď sa pri maximálnej úrovni uvažovania používa predvolená úprava (default)
- Ceny explicitnej cache
- Nie je zapnuté Keď sa požaduje explicitná cache
Sadzby Ailoot
Ceny podľa konfigurácie
Každý poplatok priraďte k zobrazeným podmienkam. Pre každú skupinu alternatívnych konfigurácií použite jednu sadzbu.
| Konfigurácia | Sadzobník | Počet tokenov kontextu väčší než | Tokeny kontextu, najviac (vrátane hranice) | Poplatok |
|---|---|---|---|---|
| KonfiguráciaZákladné sadzby za tokeny | SadzobníkZákladná sadzba | Počet tokenov kontextu väčší než— | Tokeny kontextu, najviac (vrátane hranice)Bez hornej hranice | Poplatok Vstup · Vstupné tokeny $0.0009 / 1K tokenov Výstup · Výstupné tokeny $0.004 / 1K tokenov Vstup · Čítanie cache $0.0002 / 1K tokenov Vstup · Zápis do cache — / 1K tokenov Vstup · Zápis do cache, 1 hod — / 1K tokenov |
| KonfiguráciaPásmo dĺžky požiadavky 1 | Sadzobník— | Počet tokenov kontextu väčší než0 | Tokeny kontextu, najviac (vrátane hranice)Bez hornej hranice | Poplatok Vstup · Vstupné tokeny $0.0009 / 1K tokenov Výstup · Výstupné tokeny $0.004 / 1K tokenov Vstup · Čítanie cache $0.0002 / 1K tokenov Vstup · Zápis do cache — / 1K tokenov Vstup · Zápis do cache, 1 hod — / 1K tokenov |
Ailoot pred požiadavkou rezervuje odhadovanú sumu. Po získaní výsledku vyúčtuje konečný poplatok podľa nameraného využitia. Pri streamovaní sa vyúčtovanie riadi konečným záznamom využitia. Ako funguje rezervácia a vyúčtovanie →
Príklady požiadaviek
Ailoot Ultra · Dávkové spracovanie
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.
Prijať a uložiť výsledky
Ailoot Ultra · Dávkové spracovanie
JSON priamo vložený v results[].response.body
GET /v1/batches/{operation_id}
Skontrolovať stav úlohy
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
Uchovať všetky dokončené výsledky
Uložte každú úplnú vrátenú odpoveď, súbor a časť obsahu.
Uchovajte úplný pôvodný stav vo formáte JSON, každý výsledok/custom_id a úplné telo odpovede alebo chyby. Dokončené results[] uložte ako JSONL bez filtrovania.
Ak treba overiť pôvodnú odpoveď
Uchovajte pôvodné ID operácie. Odpoveď 503 result_pending_check obsahuje X-Should-Retry:false; pôvodnú dávku s neznámym výsledkom nikdy znova neodosielajte.
Polia odpovede
| Pole | Typ |
|---|---|
Poleresults[].custom_id | Typstring |
Poleresults[].response.body.choices[].message.content | Typstring|null |
Poleresults[].error | Typobject|null |
Poleusage | Typobject|null |
Poleid | Typstring |
Polemodel | Typstring |
Poleendpoint | Typstring |
Polestatus | Typstring |
Polerequest_counts | Typobject |
Poleresults[].id | Typstring |
Poleresults[].response.status_code | Typinteger |
Poleresults[].response.request_id | Typstring |
Chyby a ďalšie kroky
| Odpoveď | Podmienka | Ďalší krok |
|---|---|---|
Odpoveď400 · invalid_request_error | PodmienkaNeplatný zdokumentovaný obal s priamo vloženými požiadavkami, duplicitné kľúče alebo konflikt identity položky či nastavených schopností modelu. | Ďalší krokPred akýmkoľvek novým odoslaním opravte označené polia. |
Odpoveď401 · authentication_error | PodmienkaNeplatný kľúč API. | Ďalší krokPoužite kľúč Ailoot, ktorý ste oprávnení používať. |
Odpoveď403 · permission_error | PodmienkaSkupina pre dávkové spracovanie nie je dostupná. | Ďalší krokSkontrolujte oprávnenie kľúča/skupiny. |
Odpoveď422 · invalid_request_error | PodmienkaDávkové spracovanie sa účtuje zo zostatku; vytvorenie cez predplatné sa odmieta. | Ďalší krokPoužite skupinu s účtovaním zo zostatku, ktorú ste oprávnení používať. |
Odpoveď422 · price_unavailable | PodmienkaPre vstup dávky nemožno vypočítať cenovú ponuku. | Ďalší krokUchovajte odpoveď; použite zdokumentovaný vstup pre danú rodinu metód. |
Odpoveď402 · billing_error | PodmienkaRezerva pre dávkové spracovanie nie je dostupná. | Ďalší krokPred novou požiadavkou vyriešte podmienky prijatia. |
Odpoveď503 · price_unavailable | PodmienkaCena metódy dávkového spracovania alebo natívne sadzby nie sú dostupné. | Ďalší krokUchovajte odpoveď; nenahrádzajte ceny inými. |
Odpoveď503 · api_error | PodmienkaPresná trasa k dodávateľovi nie je dostupná. | Ďalší krokUchovajte odpoveď na účely opravy smerovania. |
Odpoveď503 · result_pending_check | PodmienkaPôvodný výsledok je potrebné skontrolovať; X-Should-Retry:false. | Ďalší krokUchovajte pôvodné operation_id/id a čítajte jeho stav; pôvodný POST nikdy neopakujte. |
Odpoveď404 · not_found | PodmienkaOperácia na zisťovanie stavu dávky neexistuje alebo patrí inej identite. | Ďalší krokPoužite presné pôvodné id a rovnakého používateľa/kľúč/skupinu. |
Aliasy
Aliasy modelov
Ailoot Ultra z-ai/glm-5.3:batch
Aliasy ciest metód
Použite cesty metód uvedené vyššie.
Súvisiace ID na volanie
FAQ · Z.ai: GLM 5.3 (batch)
- Aké vstupy a výsledky sú dostupné?
POST /v1/batches·z-ai/glm-5.3:batch:text→text- Aké polia používa požiadavka?
POST /v1/batches·z-ai/glm-5.3:batch:endpoint,model,requests,completion_window,provider- Aké limity platia?
POST /v1/batches·z-ai/glm-5.3:batch:requests.min_items:1