Fejl
Hver fejlkode, som denne API kan svare med, den HTTP-status, der bærer den, og hvad du skal gøre ved det. Envelope er OpenAI-formet med én namespaced tilføjelse.
Envelope
error.message er skrevet til en person, der læser en log, error.type navngiver fejlklassen, og error.code er den stabile identifikator at forgrene på — meddelelsestekst er ikke en kontrakt. Hvor API'en har strukturerede detaljer (hvilken politik, hvilket endpoint, hvilken model), ankommer de i error.llmeu og erstatter aldrig de tre standardfelter.
{
"error": {
"message": "No endpoint satisfies residency eu-owned. Residency is never relaxed silently.",
"type": "conflict_error",
"code": "no_endpoint_for_policy",
"llmeu": { "requested": "llmeu-auto" }
}
}
type følger status
Mappingen nedenfor er den, API'en anvender, gengivet fra den samme tabel, som bygger dens svar.
| HTTP | type |
|---|---|
| 400 | invalid_request_error |
| 401 | authentication_error |
| 402 | insufficient_quota |
| 403 | permission_error |
| 404 | not_found_error |
| 409 | conflict_error |
| 413 | invalid_request_error |
| 422 | invalid_request_error |
| 429 | rate_limit_error |
| 500 | api_error |
| 501 | api_error |
| 502 | api_error |
| 503 | api_error |
Koder
Hver kode, der kan nå en klient. En test gennemgår API-kilden og fejler, når denne tabel og koden er uenige i begge retninger, så en kode kan ikke opfindes her eller tilføjes der uden at være dokumenteret.
| HTTP | code | Hvad det betyder, og hvad man skal gøre |
|---|---|---|
| 400 | invalid_request | Anmodningens body fejlede validering. |
| 400 | invalid_json | Bodyen var ikke gyldig JSON. |
| 400 | invalid_llmeu | llmeu-objektet var ikke et objekt, eller indeholdt et ukendt felt. |
| 400 | invalid_residency | Den ønskede residency er ikke en af de fire hosting-klasser. |
| 400 | invalid_data_class | Den ønskede data_class er ikke en af de fire klasser. |
| 400 | invalid_retention | Den ønskede retention er ikke zero, 24h, 7d eller 30d. |
| 400 | invalid_max_tokens | max_tokens var ikke et positivt heltal. |
| 400 | invalid_stream | stream var ikke en boolean. |
| 400 | invalid_stop | stop var hverken en streng eller et array af strenge. |
| 400 | invalid_role | En besked indeholdt en rolle uden for system, user, assistant og tool. |
| 400 | invalid_tools | tools eller tool_choice var fejlbehæftet. |
| 400 | missing_model | Feltet model er påkrævet. |
| 400 | missing_messages | messages er påkrævet og må ikke være tom. |
| 400 | missing_input | input er påkrævet for embeddings. |
| 400 | missing_name | name er påkrævet. |
| 401 | invalid_api_key | Nøglen mangler, er ukendt, tilbagekaldt eller udløbet. |
| 402 | budget_exceeded | Organisationens daglige budget er brugt. Forhøj max_usd_per_day, eller vent på, at vinduet ruller. |
| 403 | api_key_required | Anmodningen brugte en konsol-session. Opret en API-nøgle, og send den i stedet. |
| 403 | insufficient_scope | Nøglen er gyldig, men mangler det scope, som dette endpoint kræver. |
| 403 | no_organization | Legitimationsoplysningerne er ikke knyttet til en organisation. |
| 403 | model_denied | Organisationens politik afviser denne model eller dens udbyder. |
| 403 | policy_violation | Anmodningen overtræder en regel i organisationens politik. |
| 403 | retention_exceeds_policy | Den ønskede retention er længere, end politikken tillader. Dette kontrolleres før noget andet vedrørende anmodningen. |
| 403 | data_class_not_allowed | Anmodningens data_class er ikke en, som politikken tillader. |
| 404 | model_not_found | Ingen sådan model for denne organisation. |
| 404 | hosted_unavailable | Modellen findes i kataloget, men hostes ikke på LLM EU, så den kan ikke kaldes. |
| 404 | not_found | Ruten findes, men objektet gør ikke. |
| 404 | unknown_route | Ingen rute er monteret på denne sti. Hvert OpenAI-endpoint, der ikke er listet under Endpoints, svarer dette. |
| 404 | policy_not_found | policy_id i llmeu tilhører ikke denne organisation. |
| 409 | no_endpoint_for_policy | Intet opfylder politikken og residency sammen, og ingen af dem slækkes stille. |
| 409 | not_a_text_model | Den navngivne model kan ikke generere tekst: den er en talegenkendelses-, embedding- eller reranker-model. |
| 409 | conflict | Anmodningen er i konflikt med objektets aktuelle tilstand. |
| 413 | request_too_large | Bodyen overskred endepunktets størrelsesgrænse. |
| 429 | rate_limit_exceeded | En grænse fra hastighedsgrænsetabellen blev nået. Meddelelsen angiver vinduets nulstillingstidspunkt. |
| 500 | internal_error | En uventet fejl på vores side. |
| 501 | not_implemented | Endepunktet tilbydes ikke med vilje, eller den ønskede funktion findes ikke i denne udrulning. |
| 501 | retention_not_implemented | Politikken tillader en opbevaring på andet end nul, og kun nul er implementeret, så anmodningen afvises i stedet for at blive gemt. |
| 501 | unsupported_n | n større end 1 understøttes ikke. |
| 502 | upstream_error | Intet endepunkt kunne betjene anmodningen efter failover. Sporet registrerer hvert forsøg. |
| 502 | stream_failed | Streamingen mislykkedes, efter den allerede var startet. |
no_endpoint_for_policy er produktet, der virker
En 409 med denne kode betyder, at politikken og anmodningen sammen ikke tillader nogen endpoint, og routeren nægtede at slække på nogen af dem stille. Det er ikke forbigående: at prøve igen uden at ændre anmodningen, politikken eller residency fejler på samme måde. Fejlen indeholder den ønskede residency, og sporet registrerer, hvorfor hvert endpoint blev afvist.
Fejl i en stream
En streaming-anmodning, der fejler, efter at headere er sendt, skriver fejlen som en sidste SSE-frame og derefter terminatoren, så en klient, der følger formatet, ser en fejl i stedet for en afkortet succes.
data: {"error":{"message":"No endpoint could start the stream.","type":"api_error","code":"upstream_error"}}
data: [DONE]