Fehlercodes
Wenn eine API-Anfrage fehlschlägt, enthält die Antwort einen HTTP-Statuscode und eine Fehlermeldung. Hier finden Sie die häufigsten Fehler und deren Behebung.
Diese Seite beschreibt die API unter https://llm-server.llmhub.t-systems.net/v2. Wie sich Codes und Fehlerformat während der API-Umstellung unterscheiden, lesen Sie unter API-Umstellung: Fehlerbehandlung.
HTTP-Statuscodes
Abschnitt betitelt „HTTP-Statuscodes“Während Phase 1 der API-Umstellung liefert der Host das Format der Legacy-API. Die Codes und Antworten unten sind das, was er heute zurückgibt.
| Code | Name | Beschreibung | Lösung |
|---|---|---|---|
400 | Bad Request | Ungültiges Anfrageformat oder ungültige Parameter | Prüfen Sie den Anfragekörper und die Parameter |
401 | Unauthorized | Ungültiger API-Schlüssel | Prüfen Sie den Schlüssel im Authorization: Bearer-Header |
403 | Forbidden | Fehlender API-Schlüssel, oder der Schlüssel hat keinen Zugriff auf diese Ressource | Senden Sie Ihren Schlüssel im Authorization: Bearer-Header; ist er gesetzt, prüfen Sie Ihren Tarif oder kontaktieren Sie den Support |
404 | Not Found | Unbekannter Pfad oder ein Modellname, den es auf diesem Host nicht gibt | Prüfen Sie die URL und den Modellnamen |
405 | Method Not Allowed | Den Pfad gibt es, aber nicht mit dieser Methode | Nutzen Sie die Methode aus API-Endpunkte |
429 | Too Many Requests | Rate-Limit oder Budget überschritten | Bei einem Rate-Limit warten und mit exponentiellem Backoff erneut versuchen; bei einem Budget Ihren Tarif prüfen |
500 | Internal Server Error | Serverseitiger Fehler, oder der Modellanbieter war nicht erreichbar oder hat nicht rechtzeitig geantwortet | Nach kurzer Verzögerung erneut versuchen |
503 | Service Unavailable | Modell ist vorübergehend nicht verfügbar | Modellstatus prüfen und erneut versuchen |
Die neue API beantwortet einige dieser Fälle mit anderen Codes (401 bei fehlendem Schlüssel, 400 bei unbekanntem Modell, 402 bei überschrittenem Budget, 502 und 504 bei Problemen des Anbieters). Siehe API-Umstellung: Fehlerbehandlung.
Fehlerantwort-Format
Abschnitt betitelt „Fehlerantwort-Format“Fehler kommen als detail-String zurück. Bei einem unbekannten Modell nennt er das Modell und listet die Modelle, die Ihr Schlüssel nutzen kann:
{ "detail": "The model my-model does not exist or discontinued or you might using wrong api. Available models are: [...]" }Lehnt der Modellanbieter eine Anfrage ab, enthält detail dessen Status und Fehlerobjekt als Text:
{ "detail": "Error: 400 - Bad Request - {\"error\": {\"message\": \"Unsupported parameter: 'max_tokens' is not supported with this model. Use 'max_completion_tokens' instead. \" , \"type\": \"invalid_request_error \", \"param\": \"max_tokens \", \"code\": \"unsupported_parameter \"}}" }Nutzen Sie den HTTP-Status als wichtigstes Signal. Lesen Sie detail für den Grund, werten Sie den Text aber nicht maschinell aus: Er hat kein festes Format.
Umgang mit Rate-Limits (429)
Abschnitt betitelt „Umgang mit Rate-Limits (429)“Die OpenAI-SDKs wiederholen ein 429 bereits zweimal mit Backoff und beachten einen Retry--Header, wenn einer gesendet wird. Bei Rate-Limits auf Service-Ebene gibt es keinen Retry--Header. Für mehr Wiederholungen umschließen Sie den Aufruf mit einem eigenen exponentiellen Backoff:
import timefrom openai import OpenAI, RateLimitError
client = OpenAI()
def call_with_retry (messages, max_retries =3 ): for attempt in range(max_retries + 1): try: return client.chat.completions.create( model="gpt-oss-120b" , messages=messages, ) except RateLimitError: if attempt == max_retries: raise wait = 2 ** attempt print( f"Rate limited. Retrying in {wait}s..." ) time.sleep(wait) Ein 429 kann auch ein überschrittenes Budget bedeuten. Das ist kein Rate-Limit, und eine Wiederholung hilft nicht: Prüfen Sie die Fehlermeldung und dann das Budget Ihres Tarifs.
Häufige Probleme
Abschnitt betitelt „Häufige Probleme“Modell nicht gefunden (404)
Abschnitt betitelt „Modell nicht gefunden (404)“- Prüfen Sie, ob der Modellname exakt übereinstimmt (Groß-/Kleinschreibung beachten)
- Verwenden Sie die Modelle-API, um verfügbare Modelle zu prüfen; auch die
404-Antwort listet sie - Ist der Name richtig und Sie erhalten
403, enthält Ihr Tarif das Modell nicht
Ungültiger oder fehlender API-Schlüssel (401, 403)
Abschnitt betitelt „Ungültiger oder fehlender API-Schlüssel (401, 403)“- Ein ungültiger Schlüssel ergibt
401, eine Anfrage ohne Schlüssel403 - Stellen Sie sicher, dass der Schlüssel korrekt in Ihrer Umgebung gesetzt ist
- Prüfen Sie, ob der Schlüssel abgelaufen ist
- Besuchen Sie das API-Schlüssel-Portal, um Schlüssel zu verwalten
Kontextlänge überschritten (400)
Abschnitt betitelt „Kontextlänge überschritten (400)“- Kürzen Sie die Eingabe oder setzen Sie einen niedrigeren Wert für
max_tokens - Prüfen Sie
meta_des Modells in der Modelle-API oder sein Kontextfenster im Katalogdata. max_ sequence_ length
Nächste Schritte
Abschnitt betitelt „Nächste Schritte“- Zuverlässigkeit und Wiederholungen für 429, 500 und 503.
- Rate-Limits für RPM und TPM.
- Authentifizierung für 401 und 403.
- API-Umstellung zu den Codes der neuen API.