Migráció

Egy alap URL és egy kulcs átvisz egy OpenAI klienst. Ez az oldal azt is elmondja, mit nem tesz az API, mert egy migráció, amely ezt éles környezetben fedezi fel, nem migráció.

A beilleszthető forma

Állítsa a kliens alap URL-jét a https://api.llmeu.com/v1 címre, és adjon neki egy API-kulcsot a konzolról. A kérés formája nem változik.

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)

Mit fogad el a csevegővégpont

Az apps/api/src/app.mjs fájlban lévő kérésérvényesítő a következőket ellenőrzi; amit nem ellenőriz, az átengedésre vagy figyelmen kívül hagyásra kerül, nem pedig elutasításra, így egy újabb kliens továbbra is működik.

  • A model és a messages kötelező; a messages-nek nem üres tömbnek kell lennie.
  • Minden üzenethez szerepkör (system, user, assistant, tool vagy developer) és tartalom szükséges, amely lehet sztring vagy részek tömbje.
  • A stream értékének logikai értéknek kell lennie, ha jelen van.
  • A temperature, top_p, max_tokens, presence_penalty, frequency_penalty, seed és n értékének számnak kell lennie, ha jelen van.
  • A max_tokens értékének legalább 1-nek kell lennie.
  • Az n értéke pontosan 1 kell legyen; bármi más elutasításra kerül.
  • A stop lehet sztring vagy sztringek tömbje.
  • A tools értékének tömbnek kell lennie, ha jelen van.
  • Az llmeu-nak objektumnak kell lennie; soha nem kötelező.
  • A tool_choice és a response_format a fenti mezőkkel együtt továbbítódik a háttérrendszernek; az ismeretlen extra mező nem kerül elutasításra.

Kéréskiegészítők az llmeu alatt

Névtérrel ellátott llmeu objektum a kérés törzsében; az ismeretlen mezőket figyelmen kívül hagyó kliens biztonságosan küldheti.

Mező Érték Hatás
residencyeu-hosted | eu-owned | de | anyAz útvonalválasztást az adott rezidenciában lévő végpontokra szűkíti; üres jogosult halmaz esetén 409 no_endpoint_for_policy hibát ad vissza, nem tágítja a szűrőt.
taskegy feladatnévA feladat, amelyhez az útválasztó illeszti a modellt.
retentionzeroCsak a nulla van megvalósítva. A szabályzat által engedélyezettnél nagyobb érték kérése 403 retention_exceeds_policy hibát ad vissza; a nullától eltérő engedélyezett effektív érték 501 retention_not_implemented hibát ad vissza.
data_classpublic | internal | confidential | restrictedA szabályzat engedélyezett adatosztályaihoz ellenőrizve: a rajtuk kívüli osztály 403 data_class_not_allowed hibát ad vissza, az ismeretlen osztály pedig 400 invalid_data_class hibát.
policy_iduuidUgyanazon szervezet egy szabályzatát nevezi meg; ismeretlen azonosító esetén 404 policy_not_found hibát ad vissza.
max_usd_per_1megy számÁrplafon millió tokenenként erre a kérésre.
allow_partnerstrue | falseHogy használhatók-e partner végpontok ehhez a kéréshez.

Az llmeu-n belüli ismeretlen kulcsok figyelmen kívül maradnak; az ismert kulcs érvénytelen értékkel elutasításra kerül, mert a hibás data_class-nek zártan kell meghibásodnia, nem pedig csendesen azt jelentenie, hogy nincs adatosztály.

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

Mi nem létezik

Ezek a válaszok szándékosak, és az ezeket váró kliens a hiba kódját látja, nem pedig csendes helyettesítést.

Kérés Eredmény
POST /v1/completions501 not_implemented — A régi completions végpont nem elérhető; használja a /v1/chat/completions végpontot.
n > 1400 unsupported_n — csak az n = 1 támogatott.
POST /v1/embeddingsA beágyazásokhoz beágyazási modell szükséges, és az alapértelmezett kért azonosító a bge-m3. Ezeket jelenleg a determinisztikus helyi háttérrendszer szolgálja ki, amelynek válasza tartalmazza az llmeu.mock: true értéket és azt a megjegyzést, hogy determinisztikus helyőrző vektorok kerülnek visszaadásra, és ezen a telepítésen nem szolgálnak ki beágyazási súlyokat.
/v1/files, /v1/batches, /v1/assistants, /v1/fine_tuning, /v1/audio, /v1/images404 unknown_route — egyáltalán nincs útvonalválasztás; a /v1 útvonal, amelyet az útválasztó nem ismer, 404 unknown_route választ ad, minden más útvonal pedig 404 not_found választ.

Az adatok kivitele

A me.json fiókexport kiválasztott fiókmezőket, szervezeteket, titkok nélküli API-kulcs metaadatokat, aktuális szabályzatokat, szervezetenként a legutóbbi 200 nyomkövetést és a 365 napra vonatkozó napi használati összesítéseket tartalmazza. Ez nem minden személyes adat teljes másolata, és nem történelmi szabályzatnyilvántartás.

Az NDJSON audit export alapértelmezésben 7 napot tartalmaz, legfeljebb 90 napot engedélyez, és a nyomkövetéseket 5000 értékre korlátozza; a jegyzékfájlja tartalmazza a counts.truncated mezőt, amely a korlátot elért exportot jelöli.

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

Magának a fióknak a törlése a profiloldalon történik, és a konzololdalon található tulajdonosi szabály vonatkozik rá.

A munkamenet-süti nem API-hitelesítő adat

A böngésző munkamenet a konzolt hitelesíti, nem az API-t. Az OpenAI kliens, amely ilyet küld, 403 api_key_required hibát kap, és API-kulcsot kell használnia helyette.

Az elutasítás itt megnevez egy kódot, így a migráció elágazhat rá, és minden válasz llmeu blokkja elmondja, mi történt valójában.