Fehler
Die zwei Fehlerformen je Oberfläche, In-Stream-Fehler und die vollständige Statuscode-Tabelle
Die API gibt je nach aufgerufener Oberfläche zwei unterschiedliche Fehlerformen zurück. Stimmen Sie Ihren Handler auf die Oberfläche ab.
Der Fehler-Body im OpenAI-Stil ist ein flaches Objekt, nicht das OpenAI-kanonische verschachtelte error-Objekt. Parsen Sie ihn nicht als error.message. Siehe die Form unten.
Fehler im OpenAI-Stil
Die Endpunkte im OpenAI-Stil (Chat Completions und Files) geben auf dem Standard-Fehlerpfad ein flaches JSON-Objekt zurück.
{
"error": "Invalid request: messages is required",
"code": "HTTP_400",
"request_id": "req_..."
}errorist die Nachrichtenzeichenkette.codeistHTTP_<status>, zum BeispielHTTP_400.request_identspricht demX-Request-Id-Response-Header.
Dies ist nicht das OpenAI-kanonische verschachtelte Fehlerobjekt. Ein OpenAI-Client, der error.message erwartet, findet es hier nicht.
In-Stream-Fehler
Wenn mitten im Stream ein Inferenzfehler auftritt, gibt der Stream einen Fehler-Chunk aus und schließt dann mit [DONE].
{
"error": {
"message": "inference backend unavailable",
"type": "service_unavailable",
"code": "inference_error"
}
}data: [DONE]Fehler im Anthropic-Stil
Die Endpunkte im Anthropic-Stil (Messages und Batches) geben die Anthropic-Fehlerform zurück.
{
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "max_tokens is required"
}
}Der error.type wird aus dem HTTP-Status abgeleitet.
| Status | error.type |
|---|---|
| 400 | invalid_request_error |
| 422 | invalid_request_error |
| 401 | authentication_error |
| 403 | permission_error |
| 404 | not_found_error |
| 413 | request_too_large |
| 429 | rate_limit_error |
| 500 | api_error |
| 503 | overloaded_error |
| 529 | overloaded_error |
Statuscodes
| Code | Wann er auftritt |
|---|---|
| 200 | Erfolg |
| 201 | Ressource erstellt (zum Beispiel eine Datei oder ein Batch) |
| 204 | Erfolg ohne Body (zum Beispiel ein Löschvorgang) |
| 400 | Fehlerhafte oder ungültige Anfrage |
| 401 | Fehlender oder ungültiger API-Schlüssel |
| 403 | Schlüssel ohne Berechtigung oder 0 Agent-Slots |
| 404 | Unbekannter Pfad oder Ressource |
| 413 | Anfrage-Body überschreitet das Kontextlimit |
| 415 | Nicht unterstützter Medientyp |
| 422 | Anfrage hat die Validierung nicht bestanden |
| 429 | Rate-Limit, Concurrency, Slot oder Budget überschritten |
| 500 | Interner Fehler |
| 502 | Upstream-Gateway-Fehler |
| 503 | Dienst nicht verfügbar. Trägt Retry-After |