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 konzolból. A kérés szerkezete 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 kérés-érvényesítője a következőket ellenőrzi; amit nem ellenőriz, az átengedésre kerül vagy figyelmen kívül marad, 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 kell egy szerep (system, user, assistant, tool vagy developer) és a tartalom szövegként vagy részek tömbjeként.
  • A stream logikai érték kell legyen, ha jelen van.
  • A temperature, top_p, max_tokens, presence_penalty, frequency_penalty, seed és n számok kell legyenek, ha jelen vannak.
  • 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 szöveg vagy szövegek tömbje.
  • A tools egy tömb kell legyen, 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ásra kerül a háttérrendszer felé; egy ismeretlen extra mező nem kerül elutasításra.

Kérés-kiegészítők az llmeu alatt

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

Mező Érték Hatás
residencyeu-hosted | eu-owned | de | anyLeszűkíti az útvonalválasztást az adott rezidenciában lévő végpontokra; egy üres megfelelő halmaz 409 no_endpoint_for_policy hibát ad vissza a szűrő kiszélesítése helyett.
taskegy feladatnévA feladat, amelyhez az útválasztó illeszti a modellt.
retentionzeroCsak a nulla van implementálva. A szabályzat által engedélyezettnél nagyobb érték kérése 403 retention_exceeds_policy hibát ad vissza; egy engedélyezett, nullától eltérő 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: egy azokon kívüli osztály 403 data_class_not_allowed hibát ad vissza, egy ismeretlen osztály pedig 400 invalid_data_class hibát.
policy_iduuidUgyanazon szervezet egyik szabályzatát nevezi meg; egy ismeretlen azonosító 404 policy_not_found hibát ad vissza.
max_usd_per_1megy számÁrplafon millió tokenenként ehhez a kéréshez.
allow_partnerstrue | falseHogy a partner végpontok használhatók-e ehhez a kéréshez.

Az llmeu-n belüli ismeretlen kulcsok figyelmen kívül maradnak; egy ismert kulcs érvénytelen értékkel elutasításra kerül, mert egy hibás data_class-nek zártan kell meghibásodnia, nem pedig csendben 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 a kliens, amelyik ezeket várja, a hibakódot látja, nem pedig egy csendes helyettesítést.

Kérés Eredmény
POST /v1/completions501 not_implemented — a legacy completions végpont nem érhető el; használja a /v1/chat/completions végpontot.
n > 1400 unsupported_n — csak n = 1 támogatott.
POST /v1/embeddingsA beágyazásokhoz beágyazási modell kell, és az alapértelmezett kért azonosító a bge-m3. Ezen a telepítésen egyik sincs kiszolgálva, ezért ez az útvonal itt nem érhető el, ahelyett hogy helyőrző vektorokat adna vissza.
/v1/files, /v1/batches, /v1/assistants, /v1/fine_tuning, /v1/audio, /v1/images404 unknown_route — egyáltalán nincs útvonalazva; a /v1 útvonal, amelyet a router nem ismer, 404 unknown_route választ ad, és bármely más útvonal 404 not_found választ ad.

Adatok kivitele

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

Az NDJSON audit export alapértelmezésben 7 napot tartalmaz, legfeljebb 90 napot engedélyez, és a nyomkövetéseket 5000-re korlátozza; a manifestje tartalmazza a counts.truncated értéket, amely jelöli, ha egy export elérte a korlátot.

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

A fiók törlése a profiloldalon történik, és a konzololdalon lévő tulajdonosi szabály vonatkozik rá.

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

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

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