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
400invalid_request_error
401authentication_error
402insufficient_quota
403permission_error
404not_found_error
409conflict_error
413invalid_request_error
422invalid_request_error
429rate_limit_error
500api_error
501api_error
502api_error
503api_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]