Migrācija
Bāzes URL un atslēga pārvieto OpenAI klientu. Šī lapa arī norāda, ko API nedara, jo migrācija, kas to atklāj ražošanā, nav migrācija.
Tiešas aizstāšanas forma
Norādiet klienta bāzes URL uz https://api.llmeu.com/v1 un piešķiriet tam API atslēgu no konsoles. Pieprasījuma forma nemainās.
from openai import OpenAI
client = OpenAI(base_url="https://api.llmeu.com/v1", api_key="llmeu_live_xxxxxxxx.your-secret")
resp = client.chat.completions.create(
model="llmeu-auto",
messages=[{"role": "user", "content": "Say hello from EU hosting."}],
)
print(resp.choices[0].message.content)
Ko pieņem tērzēšanas galapunkts
Pieprasījumu validators failā apps/api/src/app.mjs pārbauda tālāk minēto; tas, ko tas nepārbauda, tiek nodots tālāk vai ignorēts, nevis noraidīts, tāpēc jaunāks klients turpina darboties.
- model un messages ir obligāti; messages ir jābūt netukšam masīvam.
- Katrai ziņai ir nepieciešama loma (system, user, assistant, tool vai developer) un saturs kā virkne vai daļu masīvs.
- stream, ja tas ir norādīts, ir jābūt Būla vērtībai.
- temperature, top_p, max_tokens, presence_penalty, frequency_penalty, seed un n, ja tie ir norādīti, ir jābūt skaitļiem.
- max_tokens ir jābūt vismaz 1.
- n ir jābūt tieši 1; viss cits tiek noraidīts.
- stop var būt virkne vai virkņu masīvs.
- tools, ja tas ir norādīts, ir jābūt masīvam.
- llmeu ir jābūt objektam; tas nekad nav obligāts.
- tool_choice un response_format tiek pārsūtīti uz aizmugursistēmu kopā ar iepriekš minētajiem laukiem; nezināms papildu lauks netiek noraidīts.
llmeu pieprasījuma papildinājumi
Nosaukumtelpā ievietots llmeu objekts pieprasījuma pamattekstā; klients, kas ignorē nezināmus laukus, to var droši nosūtīt.
| Lauks | Vērtība | Ietekme |
|---|---|---|
| residency | eu-hosted | eu-owned | de | any | Sašaurina maršrutēšanu uz galapunktiem attiecīgajā rezidencē; tukša atbilstošu galapunktu kopa atgriež 409 no_endpoint_for_policy, nevis paplašina filtru. |
| task | uzdevuma nosaukums | Uzdevums, kam maršrutētājs pielāgo modeli. |
| retention | zero | Ir ieviesta tikai nulle. Ja tiek prasīts vairāk, nekā politika atļauj, tiek atgriezts 403 retention_exceeds_policy; atļauta faktiskā vērtība, kas nav nulle, atgriež 501 retention_not_implemented. |
| data_class | public | internal | confidential | restricted | Pārbaudīts pret politikas atļautajām datu klasēm: klase, kas nav starp tām, atgriež 403 data_class_not_allowed, un nezināma klase atgriež 400 invalid_data_class. |
| policy_id | uuid | Nosauc tās pašas organizācijas politiku; nezināms id atgriež 404 policy_not_found. |
| max_usd_per_1m | skaitlis | Cenas griesti uz miljonu tokenu šim pieprasījumam. |
| allow_partners | true | false | Vai šim pieprasījumam drīkst izmantot partneru galapunktus. |
Nezināmas atslēgas llmeu iekšienē tiek ignorētas; zināma atslēga ar nederīgu vērtību tiek noraidīta, jo kļūdainam data_class ir jāizraisa atteikums, nevis klusi jāinterpretē kā datu klases neesamību.
curl https://api.llmeu.com/v1/chat/completions \
-H "Authorization: Bearer $LLMEU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "llmeu-auto",
"messages": [{"role": "user", "content": "Summarise this contract."}],
"llmeu": {"residency": "eu-owned", "data_class": "confidential", "retention": "zero"}
}'
Kas neeksistē
Šīs atbildes ir apzinātas, un klientam, kas tās gaida, tiek parādīts kļūdas kods, nevis klusa aizstāšana.
| Pieprasījums | Rezultāts |
|---|---|
| POST /v1/completions | 501 not_implemented — vecais completions galapunkts netiek piedāvāts; izmantojiet /v1/chat/completions. |
| n > 1 | 400 unsupported_n — tiek atbalstīts tikai n = 1. |
| POST /v1/embeddings | Iegultnes ir nepieciešams iegulšanas modelis, un pēc noklusējuma pieprasītais id ir bge-m3. Šajā izvietojumā neviens netiek apkalpots, tāpēc maršruts šeit netiek piedāvāts, nevis atgriež viettura vektorus. |
| /v1/files, /v1/batches, /v1/assistants, /v1/fine_tuning, /v1/audio, /v1/images | 404 unknown_route — netiek maršrutēts vispār; /v1 ceļš, ko maršrutētājs nezina, atbild ar 404 unknown_route, un jebkurš cits ceļš atbild ar 404 not_found. |
Savu datu izgūšana
Konta eksports me.json satur atlasītus konta laukus, organizācijas, API atslēgu metadatus bez noslēpumiem, pašreizējās politikas, jaunākos 200 izsekojumus katrā organizācijā un dienas lietojuma apkopojumus par 365 dienām. Tas nav pilnīga visu personas datu kopija un nav vēsturisks politikas ieraksts.
NDJSON audita eksports pēc noklusējuma ir 7 dienas, pieļauj ne vairāk kā 90 dienas un ierobežo izsekojumus līdz 5000; tā manifests satur counts.truncated, kas norāda eksportu, kas sasniedza ierobežojumu.
GET /app/exports/me.json
GET /app/exports/audit.ndjson?days=7
GET /app/exports/traces.json
GET /app/exports/usage.json
GET /app/exports/policies.json
Pati konta dzēšana notiek profila lapā, un uz to attiecas īpašumtiesību noteikums konsoles lapā.
Sesijas sīkdatne nav API akreditācijas dati
Pārlūkprogrammas sesija autentificē konsoli, nevis API. OpenAI klients, kas nosūta sesijas sīkdatni, tiek noraidīts ar 403 api_key_required un tā vietā ir jāizmanto API atslēga.
Atteikums šeit nosauc kodu, tāpēc migrācija var pēc tā sazaroties, un llmeu bloks katrā atbildē norāda, kas faktiski notika.