Fehler 504: was tun, wenn claude-sonnet-4-5 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.
claude-sonnet-4-5 wird von Anthropic 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 claude-sonnet-4-5 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 = 'claude-sonnet-4-5'
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-Endpunkt | https://api.airai.cc/v1 |
|---|---|
| OpenAI-kompatibel | OpenAI-compatible |
| Anbieter | Anthropic |
|---|---|
| Kontext | 1M |
| Funktionen | Reasoning, Tools, Files, Vision |
| API-Formate | openai, openai-response, openai-response-compact, anthropic, gemini, openai-alpha-search |
| Abrechnungsformel | p * 3 + cr * 0.3 + cc * 3.75 + cc1h * 6 + c * 15 |
Häufige Fragen
Reduziert der Wechsel auf Streaming 504?
Das ist ein clientseitiges Konfigurationsproblem; serverseitig ändert sich nichts. Das Kontextfenster 1M bestimmt die maximale Eingabe pro Anfrage, darüber wird direkt abgelehnt. Lassen Sie Parameterfehler sofort fehlschlagen, statt Retries zu verschwenden.
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 * 3 + cr * 0.3 + cc * 3.75 + cc1h * 6 + c * 15 werden fehlgeschlagene Anfragen nicht angerechnet. Wiederholbare Fehler mit exponentiellem Backoff, der Rest sofort als Fehler zurückgeben.
Wie kann ich 504 bei claude-sonnet-4-5 vorbeugend vermeiden?
Ein Fallback in der Architektur ist verlässlicher als jede Fehlermeldung einzeln zu flicken. Dieses Modell von Anthropic hat mehrere Upstream-Knoten, zwischen denen das Gateway wechseln kann. Halten Sie ein leichteres Ersatzmodell bereit, damit der Hauptfluss nicht abbricht. Legen Sie den Modellnamen in die Konfiguration, dann braucht ein Upstream-Wechsel keine Codeänderung.
Hängt 504 bei claude-sonnet-4-5 mit meinem Kontingent zusammen?
Es geht vor allem um das Kontingent, nicht um einen Defekt des Modells. Sowohl ein höheres Tariflimit als auch eine niedrigere Aufruffrequenz helfen. Der Eingabepreis liegt bei etwa $3.00 pro Million Tokens. Prüfen Sie zuerst Guthaben und Rate-Limits in der Konsole, dann den Code. Wenn Sie Kosten nach p * 3 + cr * 0.3 + cc * 3.75 + cc1h * 6 + c * 15 schätzen, rechnen Sie das Retry-Budget mit ein.
Weitere Fehler bei diesem Modell
- claude-sonnet-4-5: Fehler 429 — Ursachen und Lösungen
- claude-sonnet-4-5: Fehler timeout — Ursachen und Lösungen
- claude-sonnet-4-5: Fehler 500 — Ursachen und Lösungen
- claude-sonnet-4-5: Fehler 502 — Ursachen und Lösungen
- claude-sonnet-4-5: Fehler 503 — Ursachen und Lösungen
- claude-sonnet-4-5: Fehler 401 — Ursachen und Lösungen
- claude-sonnet-4-5: Fehler 403 — Ursachen und Lösungen
- claude-sonnet-4-5: Fehler 400 — Ursachen und Lösungen
Andere Modelle mit demselben Fehler
- gpt-5
- claude-opus-5
- gemini-2.5-pro
- deepseek-v4-pro
- grok-4.3
- llama-3.3-70b-instruct
- qvq-max
- qwq-32b
- glm-5
- MiniMax-M3
- kimi-k3
- hy3
- doubao-seed-evolving
- mimo-v2.5
- gpt-4o
- claude-opus-4-6
Daten aktualisiert: 2026-10-11 13:20