Migratsioon

Baas-URL ja võti viivad OpenAI kliendi üle. See leht ütleb ka, mida API ei tee, sest migratsioon, mis avastab selle toodangus, ei ole migratsioon.

Otseasendatav kuju

Suunake kliendi baas-URL-ile https://api.llmeu.com/v1 ja andke talle konsoolist API-võti. Päringu kuju ei muutu.

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)

Mida vestluslõpp-punkt vastu võtab

Päringu valideerija failis apps/api/src/app.mjs kontrollib järgmist; seda, mida see ei kontrolli, edastatakse või eiratakse, mitte ei lükata tagasi, nii et uuem klient jääb tööle.

  • model ja messages on nõutud; messages peab olema mittetühi massiiv.
  • Iga sõnum vajab rolli (system, user, assistant, tool või developer) ja sisu stringina või osade massiivina.
  • stream peab olema tõeväärtus, kui see on olemas.
  • temperature, top_p, max_tokens, presence_penalty, frequency_penalty, seed ja n peavad olema arvud, kui need on olemas.
  • max_tokens peab olema vähemalt 1.
  • n peab olema täpselt 1; kõik muu lükatakse tagasi.
  • stop võib olla string või stringide massiiv.
  • tools peab olema massiiv, kui see on olemas.
  • llmeu peab olema objekt; see ei ole kunagi nõutud.
  • tool_choice ja response_format edastatakse taustsüsteemile koos ülaltoodud väljadega; tundmatut lisavälja tagasi ei lükata.

Päringu lisad llmeu all

Nimeruumiga llmeu objekt päringu kehas; klient, mis eirab tundmatuid välju, võib selle turvaliselt saata.

Väli Väärtus Mõju
residencyeu-hosted | eu-owned | de | anyKitsendab marsruutimise selle asukohapiirkonna lõpp-punktidele; tühi sobivate kogum tagastab 409 no_endpoint_for_policy, mitte ei laienda filtrit.
taskülesande nimiÜlesanne, mille jaoks marsruuter mudeli sobitab.
retentionzeroRakendatud on ainult null. Poliitika lubatust suurema küsimine tagastab 403 retention_exceeds_policy; lubatud tegelik väärtus, mis ei ole null, tagastab 501 retention_not_implemented.
data_classpublic | internal | confidential | restrictedKontrollitakse poliitika lubatud andmeklasside vastu: väljaspool neid olev klass tagastab 403 data_class_not_allowed ja tundmatu klass tagastab 400 invalid_data_class.
policy_iduuidNimetab sama organisatsiooni poliitikat; tundmatu ID tagastab 404 policy_not_found.
max_usd_per_1marvHinnalagi miljoni tokeni kohta selle päringu jaoks.
allow_partnerstrue | falseKas selle päringu jaoks võib kasutada partneri lõpp-punkte.

Tundmatud võtmed llmeu sees jäetakse tähelepanuta; teadaolev võti kehtetu väärtusega lükatakse tagasi, sest vigane data_class peab ebaõnnestuma suletult, mitte vaikselt tähendama andmeklassi puudumist.

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

Mida ei ole olemas

Need vastused on teadlikud ja klient, kes neid ootab, näeb veakoodi, mitte vaikset asendust.

Päring Tulemus
POST /v1/completions501 not_implemented — pärandi completions lõpp-punkti ei pakuta; kasutage /v1/chat/completions.
n > 1400 unsupported_n — toetatud on ainult n = 1.
POST /v1/embeddingsEmbeddings vajavad embeddimismudelit ja vaikimisi küsitud ID on bge-m3. Neid teenindab praegu deterministlik kohalik taustsüsteem, mille vastus sisaldab llmeu.mock: true ja märget, et tagastatakse deterministlikud kohatäitevektorid ning selles juurutuses ei pakuta embeddimise kaale.
/v1/files, /v1/batches, /v1/assistants, /v1/fine_tuning, /v1/audio, /v1/images404 unknown_route — ei ole üldse marsruuditud; /v1 tee, mida marsruuter ei tunne, vastab 404 unknown_route ja iga muu tee vastab 404 not_found.

Andmete väljavõtmine

Konto eksport me.json sisaldab valitud konto välju, organisatsioone, API-võtme metaandmeid ilma saladusteta, kehtivaid poliitikaid, uusimaid 200 jälge organisatsiooni kohta ja päevase kasutuse koondandmeid 365 päeva kohta. See ei ole kõigi isikuandmete täielik koopia ega ajalooline poliitikakirje.

NDJSON-auditi eksport on vaikimisi 7 päeva, lubab kõige rohkem 90 päeva ja piirab jälgi arvuga 5000; selle manifest sisaldab counts.truncated, mis märgib eksporti, mis jõudis ülempiirini.

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

Konto enda kustutamine toimub profiililehel ja selle suhtes kehtib konsooli lehel kirjeldatud omandireegel.

Sessiooniküpsis ei ole API-mandaat

Brauseri sessioon autendib konsooli, mitte API-t. OpenAI klient, mis selle saadab, lükatakse tagasi koodiga 403 api_key_required ja peab selle asemel kasutama API-võtit.

Keeldumine siin nimetab koodi, nii et migratsioon saab selle alusel harusid valida, ja iga vastuse llmeu plokk ütleb, mis tegelikult juhtus.