Migrácia
Základná URL a kľúč presunú klienta OpenAI. Táto stránka tiež uvádza, čo API nerobí, pretože migrácia, ktorá to zistí v produkcii, nie je migrácia.
Tvar drop-in
Nastavte základnú URL adresu klienta na https://api.llmeu.com/v1 a dajte mu API kľúč z konzoly. Tvar požiadavky sa nemení.
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)
Čo akceptuje koncový bod chatu
Validátor požiadaviek v apps/api/src/app.mjs kontroluje nasledujúce; čo nekontroluje, sa prepúšťa alebo ignoruje namiesto odmietnutia, takže novší klient funguje ďalej.
- model a messages sú povinné; messages musí byť neprázdne pole.
- Každá správa potrebuje rolu (system, user, assistant, tool alebo developer) a obsah ako reťazec alebo pole častí.
- stream musí byť boolean, ak je uvedený.
- temperature, top_p, max_tokens, presence_penalty, frequency_penalty, seed a n musia byť čísla, ak sú uvedené.
- max_tokens musí byť aspoň 1.
- n musí byť presne 1; čokoľvek iné je odmietnuté.
- stop môže byť reťazec alebo pole reťazcov.
- tools musí byť pole, ak je uvedené.
- llmeu musí byť objekt; nikdy nie je povinné.
- tool_choice a response_format sa posielajú do backendu spolu s vyššie uvedenými poľami; neznáme extra pole nie je odmietnuté.
Doplnky požiadavky pod llmeu
Objekt llmeu s menným priestorom v tele požiadavky; klient, ktorý ignoruje neznáme polia, ho môže bezpečne poslať.
| Pole | Hodnota | Účinok |
|---|---|---|
| residency | eu-hosted | eu-owned | de | any | Zužuje smerovanie na koncové body v tejto rezidencii; prázdna vyhovujúca množina vráti 409 no_endpoint_for_policy namiesto rozšírenia filtra. |
| task | názov úlohy | Úloha, na ktorú router prispôsobuje model. |
| retention | zero | Implementovaná je iba nula. Požiadanie o viac, než politika povoľuje, vráti 403 retention_exceeds_policy; povolená efektívna hodnota iná ako nula vráti 501 retention_not_implemented. |
| data_class | public | internal | confidential | restricted | Kontroluje sa voči povoleným triedam údajov politiky: trieda mimo nich vráti 403 data_class_not_allowed a neznáma trieda vráti 400 invalid_data_class. |
| policy_id | uuid | Pomenúva politiku tej istej organizácie; neznáme id vráti 404 policy_not_found. |
| max_usd_per_1m | číslo | Strop ceny za milión tokenov pre túto požiadavku. |
| allow_partners | true | false | Či sa pre túto požiadavku môžu použiť partnerské koncové body. |
Neznáme kľúče v llmeu sa ignorujú; známy kľúč s neplatnou hodnotou je odmietnutý, pretože zlý data_class musí zlyhať zatvorene, a nie ticho znamenať žiadnu triedu údajov.
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"}
}'
Čo neexistuje
Tieto odpovede sú zámerné a klient, ktorý ich očakáva, vidí kód chyby namiesto tichej náhrady.
| Požiadavka | Výsledok |
|---|---|
| POST /v1/completions | 501 not_implemented — starší koncový bod completions sa neponúka; použite /v1/chat/completions. |
| n > 1 | 400 unsupported_n — podporuje sa iba n = 1. |
| POST /v1/embeddings | Embeddings potrebujú model pre vklady a predvolené požadované id je bge-m3. Momentálne ich poskytuje deterministický lokálny backend, ktorého odpoveď nesie llmeu.mock: true a poznámku, že sa vracajú deterministické zástupné vektory a v tomto nasadení sa neposkytujú žiadne váhy pre vklady. |
| /v1/files, /v1/batches, /v1/assistants, /v1/fine_tuning, /v1/audio, /v1/images | 404 unknown_route — vôbec sa nesmeruje; cesta /v1, ktorú router nepozná, odpovedá 404 unknown_route a akákoľvek iná cesta odpovedá 404 not_found. |
Získanie vašich dát
Export účtu me.json obsahuje vybrané polia účtu, organizácie, metadáta API kľúčov bez tajomstiev, aktuálne politiky, najnovšie 200 trás na organizáciu a denné agregáty používania za 365 dní. Nie je to úplná kópia všetkých osobných údajov ani historický záznam politík.
NDJSON export auditu má predvolených 7 dní, povoľuje najviac 90 dní a obmedzuje trasy na 5000; jeho manifest nesie counts.truncated, čo označuje export, ktorý dosiahol limit.
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
Vymazanie samotného účtu sa vykonáva na stránke profilu a podlieha pravidlu vlastníctva na stránke konzoly.
Relácia cookie nie je API prihlasovací údaj
Relácia prehliadača autentifikuje konzolu, nie API. Klient OpenAI, ktorý ju pošle, je odmietnutý s 403 api_key_required a musí namiesto toho použiť API kľúč.
Odmietnutie tu pomenúva kód, takže migrácia sa naň môže vetviť, a blok llmeu v každej odpovedi hovorí, čo sa skutočne stalo.