Fejl
Hver fejlkode, som denne API kan svare med, den HTTP-status, der bærer den, og hvad du kan gøre ved den. Indpakningen er OpenAI-formet med én tilføjelse i et navnerum.
Indpakningen
error.message er skrevet til en person, der læser en log, error.type angiver fejlklassen, og error.code er den stabile identifikator, der kan forgrenes på — meddelelsetekst 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
Tilknytningen nedenfor er den, API'en anvender, gengivet fra den samme tabel, som opbygger 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 én af retningerne, så en kode kan ikke opfindes her eller tilføjes der uden at blive dokumenteret.
| HTTP | code | Hvad det betyder, og hvad du skal gøre |
|---|---|---|
| 400 | invalid_request | Anmodningens krop bestod ikke valideringen. |
| 400 | invalid_json | Kroppen var ikke gyldig JSON. |
| 400 | invalid_llmeu | llmeu-objektet var ikke et objekt eller indeholdt et ukendt felt. |
| 400 | invalid_residency | Det ønskede ophold er ikke en af de fire hostingklasser. |
| 400 | invalid_data_class | Den ønskede data_class er ikke en af de fire klasser. |
| 400 | invalid_retention | Den ønskede opbevaring 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 boolesk værdi. |
| 400 | invalid_stop | stop var hverken en streng eller et array af strenge. |
| 400 | invalid_role | En meddelelse havde en rolle uden for system, user, assistant og tool. |
| 400 | invalid_tools | tools eller tool_choice var forkert formateret. |
| 400 | missing_model | Feltet model er påkrævet. |
| 400 | missing_messages | messages er påkrævet og må ikke være tomt. |
| 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 konsolsession. 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 | Legitimationsoplysningen 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 anmodede opbevaring er længere, end politikken tillader. Dette kontrolleres før alt andet om anmodningen. |
| 403 | data_class_not_allowed | Anmodningens data_class er ikke en, som politikken tillader. |
| 404 | model_not_found | Der findes ingen sådan model for denne organisation. |
| 404 | hosted_unavailable | Modellen er 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 | Der er ikke monteret nogen rute på denne sti. Ethvert OpenAI-endpoint, der ikke er listet under Endpoints, svarer med dette. |
| 404 | policy_not_found | policy_id i llmeu tilhører ikke denne organisation. |
| 409 | no_endpoint_for_policy | Intet opfylder både politikken og residensen, og ingen af dem lempes lydløst. |
| 409 | not_a_text_model | Den navngivne model kan ikke generere tekst: den er en tale-genkendelses-, embedding- eller reranker-model. |
| 409 | conflict | Anmodningen er i konflikt med objektets aktuelle tilstand. |
| 413 | request_too_large | Bodyen overskred endpointets størrelsesgrænse. |
| 429 | rate_limit_exceeded | En grænse fra rate-limit-tabellen blev nået. Meddelelsen angiver vinduets nulstillingstid. |
| 500 | internal_error | En uventet fejl på vores side. |
| 501 | not_implemented | Endpointet tilbydes bevidst ikke, eller den ønskede funktion findes ikke i denne udrulning. |
| 501 | retention_not_implemented | Politikken tillader en anden opbevaring 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 endpoint kunne betjene anmodningen efter failover. Sporet registrerer hvert forsøg. |
| 502 | stream_failed | Streamet fejlede, efter det allerede var begyndt. |
no_endpoint_for_policy er produktet, der virker
En 409 med denne kode betyder, at politikken og anmodningen tilsammen ikke tillader nogen endpoint, og routeren nægtede at lempe nogen af dem stiltiende. Den er ikke forbigående: Hvis du prøver igen uden at ændre anmodningen, politikken eller opholdet, mislykkes det på samme måde. Fejlen bærer det ønskede ophold, og sporet registrerer, hvorfor hvert endpoint blev afvist.
Fejl i en stream
En streaminganmodning, der fejler, efter at headere er sendt, skriver fejlen som en sidste SSE-ramme 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]