Fehler timeout: was tun, wenn claude-sonnet-4-5 fehlschlägt
Ein Timeout bedeutet, dass der Client aufgegeben hat, bevor die Antwort ankam. Streaming-Anfragen an LLMs trifft das am häufigsten, weil das Modell vor dem ersten Token nachdenkt und diese Denkphase keine Bytes liefert.
Ein Timeout ist kein HTTP-Statuscode, sondern eine clientseitige Wartegrenze. Die Anfrage erreichte meist das Gateway und wurde weitergeleitet, doch das Modell lieferte innerhalb der von Ihnen gesetzten Zeit kein Ergebnis. Langer Kontext, lange Ausgabe und nicht-streamende Aufrufe sind die drei häufigsten Auslöser.
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: Das Client-Timeout ist zu niedrig gesetzt. Empfohlene erste Maßnahme: Erhöhen Sie das Client-Timeout auf 300 Sekunden oder mehr.
Häufige Ursachen
- Das Client-Timeout ist zu niedrig gesetzt
- Ein langer Prompt oder Kontext erhöht die Latenz des ersten Tokens
- Das Modell bearbeitet eine lange Reasoning-Aufgabe
- Netzwerkschwankungen
So beheben Sie es
- Erhöhen Sie das Client-Timeout auf 300 Sekunden oder mehr
- Aktivieren Sie Streaming, damit Sie nicht auf die ganze Antwort warten
- Kürzen Sie den Kontext oder nutzen Sie ein schnelleres Modell
- Senken Sie max_tokens
Wiederholung mit exponentiellem Backoff
Der folgende Code wiederholt den Aufruf, wenn claude-sonnet-4-5 timeout 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
Hängt timeout mit der Abrechnung von claude-sonnet-4-5 zusammen?
Berechnet wird nur der bereits erzeugte Output, der fehlgeschlagene Teil nicht. Bei Abrechnung nach p * 3 + cr * 0.3 + cc * 3.75 + cc1h * 6 + c * 15 stammen die Kosten langer Ausgaben vor allem aus Output-Tokens. Prüfen Sie zuerst Guthaben und Rate-Limits in der Konsole, dann den Code.
Reduziert ein kleineres Modell timeout?
Halten Sie zusätzlich ein Ausweichmodell bereit. Dieses Modell von Anthropic hat mehrere Upstream-Knoten, zwischen denen das Gateway wechseln kann. Legen Sie den Modellnamen in die Konfiguration, dann braucht ein Upstream-Wechsel keine Codeänderung.
Wie lang sollte das Retry-Intervall sein, wenn claude-sonnet-4-5 timeout liefert?
Business-Code muss meist nicht geändert werden, nur der Aufruftakt. 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.
Muss ich den Tarif upgraden, um timeout bei claude-sonnet-4-5 zu beheben?
Es geht vor allem um das Kontingent, nicht um einen Defekt des Modells. Sowohl ein höheres Tariflimit als auch eine niedrigere Aufruffrequenz helfen. Die Abrechnung folgt p * 3 + cr * 0.3 + cc * 3.75 + cc1h * 6 + c * 15, ohne Ausgabe also keine Kosten. 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 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 504 — 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-10 18:30