Fehler 504: was tun, wenn glm-5.1 fehlschlägt

Ein 504 bedeutet, dass das Gateway beim Warten auf das vorgelagerte Modell in einen Timeout gelaufen ist: Die Anfrage wurde gesendet, aber der vorgelagerte Dienst antwortete nicht innerhalb des Gateway-Timeouts.

504 Gateway Timeout bedeutet, dass das Gateway das Warten auf die Upstream-Antwort aufgegeben hat. Die Anfrage wurde weitergeleitet, aber innerhalb des Gateway-Limits kam kein Ergebnis zurück. Kürzere Ausgabe, Streaming oder ein niedrigeres max_tokens lösen das meist.

glm-5.1 wird von Z.AI bereitgestellt. Alles auf dieser Seite — Ursachen, Lösungen und gemessene Daten — basiert auf dem tatsächlichen Laufzeitverhalten dieses Modells auf der Gatewayschicht.

An diesem Gateway ist die häufigste Ursache: Der vorgelagerte Dienst brauchte länger als das Gateway-Timeout erlaubt. Empfohlene erste Maßnahme: Wechseln Sie zur Streaming-Ausgabe.

Häufige Ursachen

  • Der vorgelagerte Dienst brauchte länger als das Gateway-Timeout erlaubt
  • Ein langer Kontext hat die Inferenzzeit erhöht
  • Ein vorgelagerter Knoten hängt
  • Eine nicht gestreamte Anfrage mit sehr langer Ausgabe

So beheben Sie es

  • Wechseln Sie zur Streaming-Ausgabe
  • Kürzen Sie den Kontext und senken Sie max_tokens
  • Versuchen Sie es nach kurzer Wartezeit erneut
  • Nutzen Sie ein Modell mit schnellerer Inferenz

Wiederholung mit exponentiellem Backoff

Der folgende Code wiederholt den Aufruf, wenn glm-5.1 504 liefert: bis zu 5 Versuche, mit wachsender Wartezeit und zufälligem Jitter, damit parallele Anfragen nicht gleichzeitig wiederholen. Base-URL und API-Key werden aus Umgebungsvariablen gelesen — nicht hart codieren.

import os, time, random
import requests

BASE  = os.getenv("OPENAI_BASE_URL")   # e.g. https://<your-gateway>/v1
KEY   = os.getenv("OPENAI_API_KEY")
MODEL = 'glm-5.1'


def chat(messages, retries=5):
    """Retry with exponential backoff + jitter."""
    for i in range(retries):
        try:
            r = requests.post(
                BASE + "/chat/completions",
                headers={"Authorization": "Bearer " + KEY},
                json={"model": MODEL, "messages": messages, "stream": True},
                timeout=60,
            )
            if r.status_code == 429 or r.status_code >= 500:
                time.sleep(min(2 ** i + random.uniform(0, 1), 30))
                continue
            r.raise_for_status()
            return r.json()
        except requests.exceptions.Timeout:
            time.sleep(min(2 ** i + random.uniform(0, 1), 30))
    raise RuntimeError("gave up after " + str(retries) + " retries")


print(chat([{"role": "user", "content": "hello"}]))

Wichtige Daten zu diesem Modell

API-Endpunkthttps://api.airai.cc/v1
OpenAI-kompatibelOpenAI-compatible
AnbieterZ.AI
Kontext200K
FunktionenReasoning, Tools, Open Weights
API-Formateopenai, openai-response, openai-response-compact, anthropic, gemini, openai-alpha-search
Abrechnungsformelp * 1.4 + cr * 0.26 + cc * 0 + c * 4.4

Häufige Fragen

Welche Felder im Response-Body sind bei 504 von glm-5.1 entscheidend?

Tritt es nur in Produktion auf, ist es meist eine Umgebungsdifferenz, kein Modellfehler. Das Modell wird von Z.AI bereitgestellt, der Upstream-Status richtet sich nach den Ankündigungen des Anbieters. Protokollieren Sie bei jedem Fehler die Request-ID — sie hilft mehr als der Statuscode. Reproduzieren Sie es zuerst in der Testumgebung mit demselben Request-Body.

Führt ein Retry dazu, dass die Anfrage doppelt ausgeführt wird?

Business-Code muss meist nicht geändert werden, nur der Aufruftakt. Ein Retry ist der wirksamste erste Schritt. Bei der Abrechnung p * 1.4 + cr * 0.26 + cc * 0 + c * 4.4 werden fehlgeschlagene Anfragen nicht angerechnet. Wiederholbare Fehler mit exponentiellem Backoff, der Rest sofort als Fehler zurückgeben.

Lassen sich 504 durch asynchrone oder Batch-Verarbeitung vermeiden?

Parallelität und Timeouts sind hier die eigentlichen Variablen, nicht das Modell. Senken Sie zuerst die Parallelität — die meisten Durchsatzprobleme verschwinden dann. Dieses Modell hat ein Kontextfenster von 200K und stammt von Z.AI. Ein 200K-Kontext bedeutet, dass lange Eingaben die First-Token-Latenz deutlich erhöhen. Bei langen Ausgaben erhöhen Sie den Timeout auf 60 Sekunden oder mehr. Starten Sie mit niedriger Parallelität, beobachten Sie einige Minuten, dann steigern.

Wird mir etwas berechnet, wenn glm-5.1 504 liefert?

Keine Berechnung: Nur tatsächlich erzeugter Output zählt zum Verbrauch. Berechnet wird nur der bereits erzeugte Output, der fehlgeschlagene Teil nicht. Der Eingabepreis liegt bei etwa $1.40 pro Million Tokens. Bei Abrechnung nach p * 1.4 + cr * 0.26 + cc * 0 + c * 4.4 stammen die Kosten langer Ausgaben vor allem aus Output-Tokens. Prüfen Sie zuerst Guthaben und Rate-Limits in der Konsole, dann den Code. Wenn Sie Kosten nach p * 1.4 + cr * 0.26 + cc * 0 + c * 4.4 schätzen, rechnen Sie das Retry-Budget mit ein.

Weitere Fehler bei diesem Modell

Andere Modelle mit demselben Fehler

Daten aktualisiert: 2026-10-10 12:10

Technischer SupportLive-Support
Nach oben