Z.ai: GLM 5.3 (batch)
Z.ai GLM 5.3 ist ein Textmodell mit Schlussfolgern für komplexe Softwareentwicklung, Terminalarbeit und langfristig arbeitende Agenten. Es unterstützt einen vom Hersteller dokumentierten Kontext von 1M Tokens, bis zu 128K Ausgabe-Tokens, Funktionsaufrufe und den Denkaufwand low/high/max; der Denkmodus bleibt durchgehend aktiviert.
Über das Modell
Diese Beschreibung erläutert die Fähigkeiten des Modells. Die über Ailoot verfügbaren Eingaben, Ausgaben und Optionen sind unten für die ausgewählte Methode aufgeführt.
Z.ai GLM 5.3 ist ein großes Textmodell mit Schlussfolgern für komplexe Softwareentwicklung und langfristige Agentenarbeit. Der Hersteller gibt an, dass es dasselbe Basismodell wie GLM 5.2 verwendet und die neuen Verbesserungen aus dem Nachtraining stammen. Die Veröffentlichung konzentriert sich auf leistungsfähigere Programmierung, Terminalvorgänge und umfassendere Aufgaben mit mehreren voneinander abhängigen Schritten. Das Modell nimmt Text entgegen und erzeugt Text, einschließlich Code, Erklärungen, Plänen und Werkzeugaufruf-Anfragen in einer Anwendung mit Werkzeuganbindung.
Der dokumentierte Denkmodus ist immer aktiviert. GLM 5.3 bietet drei Aufwandsstufen: low, high und max, wobei max der Standardwert ist. Der Hersteller empfiehlt max für komplexe Programmierarbeit; low bietet eine weniger aufwendige Denkoption für einfachere Schritte. Verwenden Sie die gewählte Stufe gemeinsam mit einem klaren Endergebnis und Abschlusskriterien. Zum Beispiel: „Untersuche diese Dateien und fehlgeschlagenen Ergebnisse, verfolge die Ursache über die betroffenen Module hinweg, schlage eine Korrektur vor, die die öffentliche Schnittstelle bewahrt, und erkläre, welche Prüfungen belegen, dass die Regression behoben ist.“
Der Hersteller nennt ein Kontextfenster von 1M Tokens und eine maximale Ausgabelänge von 128K Tokens. Ordnen Sie umfangreiches Material anhand des Zusammenhangs, den das Modell untersuchen muss. Bewahren Sie Dateinamen, relevante Definitionen, Quellenkennzeichnungen und die Reihenfolge der Beobachtungen und lassen Sie innerhalb des geltenden Arbeitskontexts Platz für den Denkprozess und die endgültige Antwort. Ein großes Fenster ist für modulübergreifende Abhängigkeiten oder eine lange Folge von Agentenbeobachtungen nützlich; es macht ein ungerichtetes Archiv nicht zusammengehörigen Materials jedoch nicht zu einer klar definierten Aufgabe.
Stellen Sie für die Arbeit an einem Repository das erwartete Verhalten, den relevanten Quelltext, Abhängigkeitsversionen und die tatsächliche Fehlerausgabe bereit. Fordern Sie das Modell auf, das betroffene Verhalten zu bestimmen, bevor es einen Patch vorschlägt. Benennen Sie bei einem Refactoring die Schnittstelle und die Invarianten, die erhalten bleiben müssen. Eine zweckmäßige Antwort enthält den überarbeiteten Code, eine Erklärung, warum die Änderung das beobachtete Problem behebt, und die zur Prüfung des Ergebnisses nötigen Fälle. Geben Sie tatsächliche Ergebnisse in einen werkzeuggestützten Ablauf zurück, damit sich der nächste Schritt auf den geänderten Zustand und nicht auf den früheren Vorschlag stützt.
Stellen Sie für Leistungsoptimierungen eine Arbeitslast, einen Ausgangswert und Messungen wie Laufzeiten, Profile oder Aufzeichnungen zu Speicherzuweisungen bereit. Z.ai beschreibt Trainingsaufgaben zur Diagnose von Engpässen, Optimierung, Experimenten und Ergebnissen, welche die Korrektheit bewahren. Eine praktische Anfrage lautet: „Nutze dieses Profil, um den folgenreichsten Engpass zu bestimmen, schlage eine messbare Änderung vor und erkläre, welches Ergebnis rechtfertigen würde, sie beizubehalten.“ Unterscheiden Sie eine Leistungshypothese von einer dokumentierten Verbesserung. Bewahren Sie bei der Untersuchung eines Ergebnisses dieselbe Arbeitslast und die relevanten Bedingungen.
Die Veröffentlichung entwickelt auch Fähigkeiten zur Schwachstellenanalyse weiter. Stellen Sie für eine defensive Quellcodeprüfung den relevanten Code, seine vorgesehenen Vertrauensgrenzen und die Ausführungsbedingungen bereit. Verlangen Sie einen Befund, der ein vermutetes Problem mit der betroffenen Eingabe, dem Verhalten und einer gezielten Behebung verknüpft. Trennen Sie eine mögliche Schwäche von einem reproduzierten Fehler und bewahren Sie die zu ihrer Validierung verwendete Beobachtung auf. Ein Bericht ist nützlicher, wenn er konkrete Belege und Korrekturvorschläge priorisiert, statt jedes verdächtige Muster als bestätigte Sicherheitslücke zu behandeln.
Funktionsaufrufe ermöglichen einer umgebenden Anwendung, dem Modell externe Vorgänge zugänglich zu machen. Definieren Sie Zweck, Argumente und erwartetes Ergebnis jedes Werkzeugs und geben Sie anschließend die tatsächliche Werkzeugbeobachtung für den nächsten Schritt zurück. Das Modell kann über dieses Ergebnis schlussfolgern und entscheiden, wie es die Aufgabe verändert. Halten Sie vorgeschlagene Handlungen, ausgeführte Vorgänge und offene Prüfungen unterscheidbar. Der Hersteller dokumentiert außerdem Streaming-Antworten, die Fragmente des Denkprozesses und der Antwort getrennt zurückgeben; setzen Sie die abgeschlossene Antwort zusammen, bevor Sie sie als endgültigen Bericht oder Codeerklärung behandeln.
Die lokale Modellkarte enthält ein konkretes Detail zur Verlaufseinstellung: Ihre Chatvorlage behält Denkprozesse standardmäßig bei, während der Hersteller empfiehlt, alte Denkprozesse in gewöhnlichen Chatszenarien ausdrücklich zu löschen. Verwenden Sie die zum Anwendungsfall passende Gesprächsstruktur und bewahren Sie die tatsächlich abgeschlossenen Antworten und Werkzeugergebnisse, die zur Fortsetzung benötigt werden. Behandeln Sie Steuerungen des Denkmodus von GLM 5.2 oder den gesonderten Editionen GLM 5.3 Flash nicht als austauschbar mit den Steuerungen low/high/max dieses Modells.
Geben Sie für strukturierte Ergebnisse die erwarteten Felder, Typen und Quellenregeln an. Ein brauchbares Ergebnis könnte eine Fehlertabelle, ein Änderungsplan oder ein JSON-Objekt mit einer Zusammenfassung der Beobachtungen sein. Validieren Sie sowohl die Struktur als auch die Werte, bevor eine Anwendung sie verwendet. Das Endergebnis sollte die Antwort oder das überarbeitete Ergebnis, die stützenden Belege und die verbleibenden Annahmen benennen. Mehr Denkaufwand belegt weder die Ausführung eines Werkzeugs noch, dass ein vorgeschlagener Patch seine Prüfungen bestanden hat oder dass eine Tatsachenbehauptung über das bereitgestellte Material hinaus gestützt ist.
Ailoot Ultra · Stapelverarbeitung POST /v1/batches z-ai/glm-5.3:batch
z-ai/glm-5.3:batchEinstieg
Z.ai GLM 5.3 ist ein Textmodell mit Schlussfolgern für komplexe Softwareentwicklung, Terminalarbeit und langfristig arbeitende Agenten. Es unterstützt einen vom Hersteller dokumentierten Kontext von 1M Tokens, bis zu 128K Ausgabe-Tokens, Funktionsaufrufe und den Denkaufwand low/high/max; der Denkmodus bleibt durchgehend aktiviert.
- Zulässige Eingaben
- Text
- Ergebnisse
- Text
In Ailoot verfügbar · Eingaben und Methoden
Ailoot Ultra · Stapelverarbeitung POST /v1/batches
- Eingabe
text- Ausgabe
text- Ausgabeformat
- eingebettetes JSON unter results[].response.body
| Feld | Typ | Anforderung | Werte und Limits | Standard |
|---|---|---|---|---|
Feldendpoint | Typstring | AnforderungErforderlich | Werte und Limits /v1/chat/completions | Standard— |
Feldmodel | Typstring | AnforderungErforderlich | Werte und Limits z-ai/glm-5.3:batch | Standard— |
Feldrequests | Typbatch_item[] | AnforderungErforderlich | Werte und Limits Mindestanzahl Elemente: 1 | Standard— |
Feldrequests[].custom_id | Typstring | AnforderungErforderlich | Werte und Limits | Standard— |
Feldrequests[].body.messages | Typmessage[] | AnforderungErforderlich | Werte und Limits | Standard— |
Feldcompletion_window | Typstring | AnforderungOptional | Werte und Limits 24h | Standard— |
Feldprovider | Typobject|null | AnforderungOptional | Werte und Limits | Standard— |
Feldrequests[].body.model | Typstring | AnforderungOptional | Werte und Limits z-ai/glm-5.3:batch, z-ai/glm-5.3 | Standard— |
Feldprovider.only | Typstring[] | AnforderungOptional | Werte und Limits deepinfra/fp4 | Standard— |
Feldprovider.allow_fallbacks | Typboolean|null | AnforderungOptional | Werte und Limits false, null | Standard— |
Methodenparameter und Lebenszyklus
| Parameter | Vertrag |
|---|---|
Parametercontent_type | Vertragapplication/json |
Parameterrequired | Vertragendpoint, model, requests |
Parametermaterial_types | Vertragtext |
Parameterrepresentation | Vertrageingebettete requests[]; jedes Element enthält custom_id und body |
Parameterrequest_endpoint_profile | Vertrag/v1/chat/completions |
Parameterfile_material | VertragDer Aufrufer kann tatsächliches UTF-8-JSONL lokal in requests[] einlesen. Es werden weder ein Upload-Zweck noch input_file_id oder eine Dateireferenz verwendet. Fehlendes oder leeres Kundenmaterial stoppt die Vorbereitung vor POST. |
Parameterserialization_order | Vertragendpoint, model, provider (falls angegeben), completion_window (falls angegeben), requests als letztes Feld |
Parameteroptional_controls | Vertragprovider.only, provider.allow_fallbacks, completion_window |
Parameterschema_scope | VertragAnfragekörper für Text Chat Completions in der dokumentierten Inline-Batch-Struktur. |
Lebenszyklus: asynchronous
GET /v1/batches/{operation_id} · die tatsächliche response.id der ursprünglichen Erstellungsantwort; derselbe Nutzer/Schlüssel/dieselbe Gruppe
Tarife
Tarifangaben erweitern die Anfrageoptionen nicht. Unterstützte Parameter stehen bei der ausgewählten Methode.
- Schnellmodus
- Nicht angegeben Wenn der Schnellmodus ausgewählt ist
- Flex-Modus
- Nicht angegeben Wenn der Modus flex ausgewählt ist
- Maximaler Denkaufwand
- Nicht angegeben Wenn beim maximalen Denkaufwand die Standardanpassung (default) verwendet wird
- Preise für explizites Caching
- Nicht aktiviert Wenn explizites Caching angefordert wird
Ailoot-Tarife
Preise nach Konfiguration
Ordnen Sie jede Gebühr den angezeigten Bedingungen zu. Verwenden Sie für jede Gruppe alternativer Konfigurationen einen Tarif.
| Konfiguration | Tarifstaffel | Kontexttoken, mehr als | Kontexttoken, bis einschließlich | Gebühr |
|---|---|---|---|---|
| KonfigurationBasistarife für Token | TarifstaffelGrundtarif | Kontexttoken, mehr als— | Kontexttoken, bis einschließlichKeine Obergrenze | Gebühr Eingabe · Eingabetoken $0.0009 / 1K Tokens Ausgabe · Ausgabetoken $0.004 / 1K Tokens Eingabe · Cache lesen $0.0002 / 1K Tokens Eingabe · In Cache schreiben — / 1K Tokens Eingabe · In Cache schreiben, 1 Stunde — / 1K Tokens |
| KonfigurationAnfragelängenstufe 1 | Tarifstaffel— | Kontexttoken, mehr als0 | Kontexttoken, bis einschließlichKeine Obergrenze | Gebühr Eingabe · Eingabetoken $0.0009 / 1K Tokens Ausgabe · Ausgabetoken $0.004 / 1K Tokens Eingabe · Cache lesen $0.0002 / 1K Tokens Eingabe · In Cache schreiben — / 1K Tokens Eingabe · In Cache schreiben, 1 Stunde — / 1K Tokens |
Ailoot reserviert vor einer Anfrage einen geschätzten Betrag. Nach dem Ergebnis rechnet Ailoot die endgültige Gebühr anhand des gemessenen Verbrauchs ab. Bei Streaming erfolgt die Abrechnung anhand des abschließenden Verbrauchsdatensatzes. So funktionieren Reservierung und Abrechnung →
Beispielanfragen
Ailoot Ultra · Stapelverarbeitung
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.
Ergebnisse abrufen und speichern
Ailoot Ultra · Stapelverarbeitung
eingebettetes JSON unter results[].response.body
GET /v1/batches/{operation_id}
Auftragsstatus prüfen
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 fertiggestellten Ergebnisse aufbewahren
Bewahren Sie jede vollständig zurückgegebene Antwort, Datei und jeden Inhaltsteil auf.
Das vollständige ursprüngliche Status-JSON, jedes Ergebnis/jede custom_id und den vollständigen Antwort- oder Fehlerkörper aufbewahren. Abgeschlossene results[] ohne Filterung als JSONL speichern.
Wenn die ursprüngliche Antwort geprüft werden muss
Die ursprüngliche Vorgangs-ID beibehalten. Bei 503 result_pending_check gilt X-Should-Retry:false; einen ursprünglichen Batch mit unbekanntem Ausgang niemals erneut einreichen.
Antwortfelder
| Feld | Typ |
|---|---|
Feldresults[].custom_id | Typstring |
Feldresults[].response.body.choices[].message.content | Typstring|null |
Feldresults[].error | Typobject|null |
Feldusage | Typobject|null |
Feldid | Typstring |
Feldmodel | Typstring |
Feldendpoint | Typstring |
Feldstatus | Typstring |
Feldrequest_counts | Typobject |
Feldresults[].id | Typstring |
Feldresults[].response.status_code | Typinteger |
Feldresults[].response.request_id | Typstring |
Fehler und nächste Schritte
| Antwort | Bedingung | Nächster Schritt |
|---|---|---|
Antwort400 · invalid_request_error | BedingungUngültige Struktur der dokumentierten Inline-Einbettung, doppelte Schlüssel, ungültige Identitätsangaben zu einem Element oder ein Konflikt mit den konfigurierten Modellfähigkeiten. | Nächster SchrittDie angegebenen Felder vor jeder neuen Einreichung korrigieren. |
Antwort401 · authentication_error | BedingungUngültiger API-Schlüssel. | Nächster SchrittDen autorisierten Ailoot-Schlüssel verwenden. |
Antwort403 · permission_error | BedingungGruppe für Stapelverarbeitung nicht verfügbar. | Nächster SchrittDie Berechtigung des Schlüssels bzw. der Gruppe prüfen. |
Antwort422 · invalid_request_error | BedingungStapelverarbeitung wird über das Guthaben abgerechnet; die Erstellung über ein Abonnement wird abgelehnt. | Nächster SchrittDie autorisierte Gruppe mit Guthabenabrechnung verwenden. |
Antwort422 · price_unavailable | BedingungFür die Batch-Eingabe kann kein Preisangebot erstellt werden. | Nächster SchrittAntwort aufbewahren; die dokumentierte Eingabe der API-Familie verwenden. |
Antwort402 · billing_error | BedingungReservierung für Stapelverarbeitung nicht verfügbar. | Nächster SchrittDie Zulassung klären, bevor eine neue Anfrage gestellt wird. |
Antwort503 · price_unavailable | BedingungMethodenpreis bzw. native Tarife für Stapelverarbeitung nicht verfügbar. | Nächster SchrittAntwort aufbewahren; keine anderen Preise einsetzen. |
Antwort503 · api_error | BedingungDie genaue Anbieterroute ist nicht verfügbar. | Nächster SchrittAntwort zur Reparatur der Route aufbewahren. |
Antwort503 · result_pending_check | BedingungDas ursprüngliche Ergebnis muss geprüft werden; X-Should-Retry:false. | Nächster SchrittDie ursprüngliche operation_id/id beibehalten und ihren Status lesen; den ursprünglichen POST niemals wiederholen. |
Antwort404 · not_found | BedingungDer Batch-Vorgang, dessen Status abgefragt wird, ist nicht vorhanden oder gehört einer anderen Identität. | Nächster SchrittDie genaue ursprüngliche id und denselben Nutzer/Schlüssel/dieselbe Gruppe verwenden. |
Aliasnamen
Modellaliasnamen
Ailoot Ultra z-ai/glm-5.3:batch
Aliasnamen für Methodenpfade
Verwenden Sie die oben angezeigten Methodenpfade.
Zugehörige Aufrufer-IDs
FAQ · Z.ai: GLM 5.3 (batch)
- Welche Eingaben und Ergebnisse sind verfügbar?
POST /v1/batches·z-ai/glm-5.3:batch:text→text- Welche Felder verwendet die Anfrage?
POST /v1/batches·z-ai/glm-5.3:batch:endpoint,model,requests,completion_window,provider- Welche Grenzen gelten?
POST /v1/batches·z-ai/glm-5.3:batch:requests.min_items:1