Migracija

Osnovni URL in ključ premakneta odjemalca OpenAI. Ta stran tudi navaja, česa API ne počne, ker migracija, ki to odkrije v produkciji, ni migracija.

Oblika za takojšnjo zamenjavo

Nastavite osnovni URL odjemalca na https://api.llmeu.com/v1 in mu dodelite API ključ iz konzole. Oblika zahteve se ne spremeni.

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)

Kaj sprejme končna točka za klepet

Preverjevalnik zahtev v apps/api/src/app.mjs preveri naslednje; kar ne preveri, se posreduje ali prezre, ne pa zavrne, tako da novejši odjemalec še naprej deluje.

  • model in messages sta obvezna; messages mora biti neprazna matrika.
  • Vsako sporočilo potrebuje vlogo (system, user, assistant, tool ali developer) in vsebino kot niz ali matriko delov.
  • stream mora biti logična vrednost, kadar je prisoten.
  • temperature, top_p, max_tokens, presence_penalty, frequency_penalty, seed in n morajo biti števila, kadar so prisotni.
  • max_tokens mora biti vsaj 1.
  • n mora biti natanko 1; vse drugo je zavrnjeno.
  • stop je lahko niz ali matrika nizov.
  • tools mora biti matrika, kadar je prisoten.
  • llmeu mora biti objekt; nikoli ni obvezen.
  • tool_choice in response_format se posredujeta v zaledje skupaj z zgornjimi polji; neznano dodatno polje ni zavrnjeno.

Dodatki zahteve pod llmeu

Objekt llmeu z imenskim prostorom v telesu zahteve; odjemalec, ki prezre neznana polja, ga lahko varno pošlje.

Polje Vrednost Učinek
residencyeu-hosted | eu-owned | de | anyZoži usmerjanje na končne točke v tej rezidenci; prazen nabor upravičenih vrne 409 no_endpoint_for_policy, namesto da bi razširil filter.
taskime nalogeNaloga, ki ji usmerjevalnik prilagodi model.
retentionzeroImplementirana je samo ničla. Zahteva za več, kot dovoljuje politika, vrne 403 retention_exceeds_policy; dovoljena dejanska vrednost, ki ni nič, vrne 501 retention_not_implemented.
data_classpublic | internal | confidential | restrictedPreverjeno glede na dovoljene razrede podatkov politike: razred zunaj njih vrne 403 data_class_not_allowed, neznan razred pa vrne 400 invalid_data_class.
policy_iduuidImenuje politiko iste organizacije; neznan id vrne 404 policy_not_found.
max_usd_per_1mšteviloZgornja meja cene na milijon žetonov za to zahtevo.
allow_partnerstrue | falseAli se za to zahtevo lahko uporabijo partnerske končne točke.

Neznani ključi znotraj llmeu se prezrejo; znan ključ z neveljavno vrednostjo je zavrnjen, ker mora slab data_class odpovedati zaprto, namesto da tiho pomeni, da ni razreda podatkov.

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"}
  }'

Kaj ne obstaja

Ti odgovori so namerni in odjemalec, ki jih pričakuje, vidi kodo napake, ne pa tihe zamenjave.

Zahteva Rezultat
POST /v1/completions501 not_implemented — starejša končna točka completions ni na voljo; uporabite /v1/chat/completions.
n > 1400 unsupported_n — podprt je samo n = 1.
POST /v1/embeddingsVdelave potrebujejo model za vdelave, privzeti zahtevani id pa je bge-m3. Na tej namestitvi ni serviran noben, zato ta pot tukaj ni na voljo, namesto da bi vračala nadomestne vektorje.
/v1/files, /v1/batches, /v1/assistants, /v1/fine_tuning, /v1/audio, /v1/images404 unknown_route — sploh ni usmerjeno; pot /v1, ki je usmerjevalnik ne pozna, vrne 404 unknown_route, vsaka druga pot pa vrne 404 not_found.

Izvoz vaših podatkov

Izvoz računa me.json vsebuje izbrana polja računa, organizacije, metapodatke API ključev brez skrivnosti, trenutne politike, najnovejše 200 sledi na organizacijo in dnevne agregate uporabe za 365 dni. To ni popolna kopija vseh osebnih podatkov in ne zgodovinski zapis politik.

Izvoz revizije NDJSON privzeto zajema 7 dni, dovoljuje največ 90 dni in omeji sledi na 5000; njegov manifest vsebuje counts.truncated, kar označuje izvoz, ki je dosegel omejitev.

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

Brisanje računa samega se izvede na strani profila in je predmet pravila o lastništvu na strani konzole.

Sejni piškotek ni API poverilnica

Brskalniška seja overi konzolo, ne API-ja. Odjemalec OpenAI, ki jo pošlje, je zavrnjen s 403 api_key_required in mora namesto tega uporabiti API ključ.

Zavrnitev tukaj navede kodo, tako da se lahko migracija razveji glede na njo, in blok llmeu v vsakem odgovoru pove, kaj se je dejansko zgodilo.