Fehler timeout: was tun, wenn claude-sonnet-4-6 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-6 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-6 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-6'


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
AnbieterAnthropic
Kontext1M
FunktionenReasoning, Tools, Files, Vision
API-Formateopenai, openai-response, openai-response-compact, anthropic, gemini, openai-alpha-search
Abrechnungsformelp * 3 + cr * 0.3 + cc * 3.75 + cc1h * 6 + c * 15

Häufige Fragen

Hängt timeout bei claude-sonnet-4-6 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. Die Abrechnung folgt p * 3 + cr * 0.3 + cc * 3.75 + cc1h * 6 + c * 15, ohne Ausgabe also keine Kosten. Der Eingabepreis liegt bei etwa $3.00 pro Million Tokens. 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.

Lässt sich timeout bei claude-sonnet-4-6 durch ein anderes Modell umgehen?

Halten Sie zusätzlich ein Ausweichmodell bereit. 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.

Welche Statuscodes lohnen einen Retry, welche nie?

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. Setzen Sie die Obergrenze auf 3–5 Versuche und ergänzen Sie Jitter.

Lassen sich timeout 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 1M und stammt von Anthropic. Ein 1M-Kontext bedeutet, dass lange Eingaben die First-Token-Latenz deutlich erhöhen. Starten Sie mit niedriger Parallelität, beobachten Sie einige Minuten, dann steigern. Fügen Sie eine Cache-Schicht ein, damit wiederholte Anfragen nicht alle das Modell treffen.

Weitere Fehler bei diesem Modell

Andere Modelle mit demselben Fehler

Daten aktualisiert: 2026-10-11 13:20

Technischer SupportLive-Support
Nach oben