Z.ai: GLM 5.3 (batch)
Z.ai GLM 5.3 is een tekstredeneermodel voor complexe software-engineering, terminalwerk en agents die langdurige taken uitvoeren. Het ondersteunt een door de maker gedocumenteerde context van 1M tokens, maximaal 128K uitvoertokens, function calling en redeneerinspanning low/high/max, waarbij redeneren voortdurend ingeschakeld blijft.
Over het model
Deze beschrijving gaat over de mogelijkheden van het model. De via Ailoot beschikbare invoer, uitvoer en opties staan hieronder voor de geselecteerde methode.
Z.ai GLM 5.3 is een grootschalig tekstredeneermodel dat ontworpen is voor complexe software-engineering en langdurig agentwerk. De fabrikant stelt dat het hetzelfde basismodel gebruikt als GLM 5.2 en dat de nieuwe verbeteringen uit natraining komen. De release richt zich op sterker programmeren, terminalbewerkingen en bredere taken met meerdere afhankelijke stappen. Het aanvaardt tekst en produceert tekst, waaronder code, uitleg, plannen en verzoeken om toolaanroepen in een toepassing met gekoppelde tools.
De gedocumenteerde redeneermodus is altijd ingeschakeld. GLM 5.3 biedt drie inspanningsniveaus: low, high en max, met max als standaard. De maker raadt max aan voor complex programmeerwerk; low biedt een lichtere redeneeroptie voor eenvoudigere stappen. Gebruik het gekozen niveau samen met een duidelijk eindresultaat en voltooiingscriteria. Bijvoorbeeld: “Onderzoek deze bestanden en falende resultaten, achterhaal de oorzaak in de betrokken modules, stel een correctie voor die de publieke interface behoudt en leg uit welke controles aantonen dat de regressie is opgelost.”
De maker specificeert een contextvenster van 1M tokens en een maximale uitvoerlengte van 128K tokens. Orden lang materiaal rond de relatie die het model moet onderzoeken. Behoud bestandsnamen, relevante definities, bronlabels en de volgorde van waarnemingen en laat binnen de toepasselijke werkcontext ruimte voor de redenering en het eindantwoord. Een groot venster is bruikbaar voor afhankelijkheden tussen modules of een lange reeks agentwaarnemingen; het maakt een ongericht archief van losstaand materiaal niet tot een duidelijk omschreven taak.
Geef bij werk in een repository het verwachte gedrag, de relevante brontekst, afhankelijkheidsversies en werkelijke foutuitvoer mee. Vraag het model het betrokken gedrag te identificeren voordat het een patch voorstelt. Benoem bij een refactoring de interface en invarianten die intact moeten blijven. Een bruikbaar antwoord bevat de herziene code, waarom de wijziging het waargenomen probleem aanpakt en de gevallen die nodig zijn om het resultaat te controleren. Voer werkelijke resultaten terug in een werkwijze met gekoppelde tools, zodat de volgende stap op de gewijzigde toestand berust in plaats van op het eerdere voorstel.
Geef bij prestatiewerk een werklast, een uitgangsmeting en metingen zoals tijdsmetingen, profielen of allocatieregistraties mee. Z.ai beschrijft trainingstaken rond het vaststellen van knelpunten, optimalisatie, experimenten en resultaten die de correctheid behouden. Een praktisch verzoek is: “Gebruik dit profiel om het knelpunt met de grootste impact te identificeren, stel één meetbare wijziging voor en leg uit welk resultaat het behoud ervan zou rechtvaardigen.” Onderscheid een prestatiehypothese van een vastgelegde verbetering. Behoud dezelfde werklast en relevante omstandigheden wanneer u een resultaat onderzoekt.
De release ontwikkelt ook mogelijkheden voor kwetsbaarheidsanalyse. Geef voor defensieve broncodecontrole de relevante code, de bedoelde vertrouwensgrenzen en de omstandigheden waarin ze draait mee. Vraag om een bevinding die een vermoedelijk probleem verbindt met de betrokken invoer, het gedrag en een gerichte oplossing. Onderscheid een mogelijke zwakte van een gereproduceerde fout en bewaar de waarneming die gebruikt is om die te valideren. Een verslag is bruikbaarder wanneer het concreet bewijs en voorgestelde correcties voorrang geeft, in plaats van elk verdacht patroon als een bevestigde kwetsbaarheid te behandelen.
Function calling laat een omringende toepassing externe bewerkingen aan het model beschikbaar stellen. Definieer het doel, de argumenten en het verwachte resultaat van elke tool en geef vervolgens de werkelijke toolwaarneming terug voor de volgende stap. Het model kan over dat resultaat redeneren en bepalen hoe het de taak verandert. Zorg dat voorgestelde acties, uitgevoerde bewerkingen en onopgeloste controles van elkaar te onderscheiden blijven. De maker documenteert ook streamingantwoorden, die redeneer- en antwoordfragmenten afzonderlijk teruggeven; voeg het voltooide antwoord samen voordat u het als eindverslag of code-uitleg behandelt.
De lokale modelkaart geeft een specifiek detail over de geschiedenisinstelling: de chatsjabloon behoudt standaard eerdere redeneringen, terwijl de maker voor gewone chatscenario's aanbeveelt oude redeneringen expliciet te wissen. Pas de geschikte gespreksstructuur toe voor het gebruiksdoel, met behoud van de werkelijk voltooide antwoorden en toolresultaten die voor voortzetting nodig zijn. Behandel redeneerinstellingen uit GLM 5.2 of de afzonderlijke GLM 5.3 Flash-edities niet als uitwisselbaar met de instellingen low/high/max van dit model.
Specificeer voor gestructureerde resultaten de verwachte velden, typen en bronregels. Een bruikbaar resultaat kan een defectentabel, wijzigingsplan of JSON-object met een samenvatting van waarnemingen zijn. Valideer zowel de structuur als de waarden voordat een toepassing ze gebruikt. Het eindresultaat moet het antwoord of herziene resultaat, het ondersteunende bewijsmateriaal en de resterende aannames benoemen. Meer redeneerinspanning bewijst niet dat een tool is uitgevoerd, dat een voorgestelde patch de controles heeft doorstaan of dat een feitelijke bewering onderbouwing heeft buiten het aangeleverde materiaal.
Ailoot Ultra · Batchverwerking POST /v1/batches z-ai/glm-5.3:batch
z-ai/glm-5.3:batchAan de slag
Z.ai GLM 5.3 is een tekstredeneermodel voor complexe software-engineering, terminalwerk en agents die langdurige taken uitvoeren. Het ondersteunt een door de maker gedocumenteerde context van 1M tokens, maximaal 128K uitvoertokens, function calling en redeneerinspanning low/high/max, waarbij redeneren voortdurend ingeschakeld blijft.
- Toegestane invoer
- Tekst
- Resultaten
- Tekst
Beschikbaar in Ailoot · invoer en methoden
Ailoot Ultra · Batchverwerking POST /v1/batches
- Invoer
text- Uitvoer
text- Uitvoerformaat
- inline JSON uit results[].response.body
| Veld | Type | Vereiste | Waarden en limieten | Standaard |
|---|---|---|---|---|
Veldendpoint | Typestring | VereisteVereist | Waarden en limieten /v1/chat/completions | Standaard— |
Veldmodel | Typestring | VereisteVereist | Waarden en limieten z-ai/glm-5.3:batch | Standaard— |
Veldrequests | Typebatch_item[] | VereisteVereist | Waarden en limieten Minimumaantal items: 1 | Standaard— |
Veldrequests[].custom_id | Typestring | VereisteVereist | Waarden en limieten | Standaard— |
Veldrequests[].body.messages | Typemessage[] | VereisteVereist | Waarden en limieten | Standaard— |
Veldcompletion_window | Typestring | VereisteOptioneel | Waarden en limieten 24h | Standaard— |
Veldprovider | Typeobject|null | VereisteOptioneel | Waarden en limieten | Standaard— |
Veldrequests[].body.model | Typestring | VereisteOptioneel | Waarden en limieten z-ai/glm-5.3:batch, z-ai/glm-5.3 | Standaard— |
Veldprovider.only | Typestring[] | VereisteOptioneel | Waarden en limieten deepinfra/fp4 | Standaard— |
Veldprovider.allow_fallbacks | Typeboolean|null | VereisteOptioneel | Waarden en limieten false, null | Standaard— |
Methodeparameters en levenscyclus
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractendpoint, model, requests |
Parametermaterial_types | Contracttext |
Parameterrepresentation | Contractinline requests[]; elk item bevat custom_id en body |
Parameterrequest_endpoint_profile | Contract/v1/chat/completions |
Parameterfile_material | ContractDe aanroeper kan de daadwerkelijke UTF-8 JSONL lokaal in requests[] inlezen. Er wordt geen uploaddoel, input_file_id of bestandsverwijzing gebruikt. Ontbrekend of leeg klantmateriaal stopt de voorbereiding vóór POST. |
Parameterserialization_order | Contractendpoint, model, provider (indien opgegeven), completion_window (indien opgegeven), requests als laatste |
Parameteroptional_controls | Contractprovider.only, provider.allow_fallbacks, completion_window |
Parameterschema_scope | ContractAanvraagbodies voor tekst via Chat Completions in de gedocumenteerde inline Batch-structuur. |
Levenscyclus: asynchronous
GET /v1/batches/{operation_id} · daadwerkelijke response.id uit de oorspronkelijke aanmaakrespons; dezelfde gebruiker/sleutel/groep
Tarieven
Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.
- Snelle modus
- Niet opgegeven Wanneer de snelle modus geselecteerd is
- Flex-modus
- Niet opgegeven Wanneer de flex-modus geselecteerd is
- Maximale redeneerinspanning
- Niet opgegeven Wanneer voor maximale redeneerinspanning de default-aanpassing wordt gebruikt
- Tarieven voor expliciete caching
- Niet ingeschakeld Wanneer expliciete caching wordt aangevraagd
Ailoot-tarieven
Prijzen per configuratie
Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.
| Configuratie | Tariefstaffel | Contexttokens, meer dan | Contexttokens, tot en met | Kosten |
|---|---|---|---|---|
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Contexttokens, meer dan— | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens $0.0009 / 1K tokens Uitvoer · Uitvoertokens $0.004 / 1K tokens Invoer · Cache lezen $0.0002 / 1K tokens Invoer · Cache schrijven — / 1K tokens Invoer · Cache schrijven, 1 uur — / 1K tokens |
| ConfiguratieAanvraaglengte · niveau 1 | Tariefstaffel— | Contexttokens, meer dan0 | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens $0.0009 / 1K tokens Uitvoer · Uitvoertokens $0.004 / 1K tokens Invoer · Cache lezen $0.0002 / 1K tokens Invoer · Cache schrijven — / 1K tokens Invoer · Cache schrijven, 1 uur — / 1K tokens |
Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. Zo werken reservering en afrekening →
Voorbeeldverzoeken
Ailoot Ultra · Batchverwerking
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.
Resultaten ophalen en opslaan
Ailoot Ultra · Batchverwerking
inline JSON uit results[].response.body
GET /v1/batches/{operation_id}
Taakstatus controleren
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
Alle voltooide resultaten bewaren
Bewaar elk volledig teruggegeven antwoord, bestand en inhoudsonderdeel.
Bewaar de volledige oorspronkelijke status-JSON, elk resultaat/custom_id en de volledige respons- of foutbody. Sla voltooide results[] op als JSONL, zonder te filteren.
Als het oorspronkelijke antwoord moet worden gecontroleerd
Bewaar de oorspronkelijke bewerkings-ID. 503 result_pending_check bevat X-Should-Retry:false; dien een oorspronkelijke batch met onbekende status nooit opnieuw in.
Antwoordvelden
| Veld | Type |
|---|---|
Veldresults[].custom_id | Typestring |
Veldresults[].response.body.choices[].message.content | Typestring|null |
Veldresults[].error | Typeobject|null |
Veldusage | Typeobject|null |
Veldid | Typestring |
Veldmodel | Typestring |
Veldendpoint | Typestring |
Veldstatus | Typestring |
Veldrequest_counts | Typeobject |
Veldresults[].id | Typestring |
Veldresults[].response.status_code | Typeinteger |
Veldresults[].response.request_id | Typestring |
Fouten en vervolgstappen
| Antwoord | Voorwaarde | Volgende stap |
|---|---|---|
Antwoord400 · invalid_request_error | VoorwaardeOngeldige gedocumenteerde inline structuur, dubbele sleutels, ongeldige itemidentiteit of conflict met de geconfigureerde modelmogelijkheden. | Volgende stapCorrigeer de aangegeven velden vóór elke nieuwe indiening. |
Antwoord401 · authentication_error | VoorwaardeOngeldige API-sleutel. | Volgende stapGebruik de geautoriseerde Ailoot-sleutel. |
Antwoord403 · permission_error | VoorwaardeBatch-groep niet beschikbaar. | Volgende stapControleer de toegangsrechten van de sleutel/groep. |
Antwoord422 · invalid_request_error | VoorwaardeBatch wordt via het saldo gefactureerd; aanmaken via een abonnement wordt geweigerd. | Volgende stapGebruik de geautoriseerde groep die via het saldo wordt gefactureerd. |
Antwoord422 · price_unavailable | VoorwaardeVoor de Batch-invoer kan geen prijsraming worden gemaakt. | Volgende stapBewaar de respons; gebruik de gedocumenteerde invoer voor deze familie. |
Antwoord402 · billing_error | VoorwaardeReservering voor Batch niet beschikbaar. | Volgende stapLos het toelatingsprobleem op vóór een nieuwe aanvraag. |
Antwoord503 · price_unavailable | VoorwaardePrijs voor de Batch-methode/native tarieven niet beschikbaar. | Volgende stapBewaar de respons; vervang de prijzen niet. |
Antwoord503 · api_error | VoorwaardeDe exacte leveranciersroute is niet beschikbaar. | Volgende stapBewaar de respons voor het herstel van de route. |
Antwoord503 · result_pending_check | VoorwaardeHet oorspronkelijke resultaat moet gecontroleerd worden; X-Should-Retry:false. | Volgende stapBewaar de oorspronkelijke operation_id/id en lees de status ervan uit; herhaal de oorspronkelijke POST nooit. |
Antwoord404 · not_found | VoorwaardeBewerking voor de Batch-status ontbreekt of behoort toe aan een andere identiteit. | Volgende stapGebruik de exacte oorspronkelijke id en dezelfde gebruiker/sleutel/groep. |
Aliasnamen
Modelaliasnamen
Ailoot Ultra z-ai/glm-5.3:batch
Aliasnamen voor methodepaden
Gebruik de hierboven getoonde methodepaden.
Gerelateerde aanroeper-ID’s
FAQ · Z.ai: GLM 5.3 (batch)
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/batches·z-ai/glm-5.3:batch:text→text- Welke velden gebruikt het verzoek?
POST /v1/batches·z-ai/glm-5.3:batch:endpoint,model,requests,completion_window,provider- Welke limieten gelden?
POST /v1/batches·z-ai/glm-5.3:batch:requests.min_items:1