Migrazzjoni
Base URL u key jittrasferixxu klijent OpenAI. Din il-paġna tgħid ukoll x'ma jagħmilx l-API, għax migrazzjoni li tiskopri dan fil-produzzjoni mhix migrazzjoni.
Il-forma drop-in
Ipponta l-URL bażi tal-klijent fuq https://api.llmeu.com/v1 u agħtih API key mill-konsola. Il-forma tat-talba ma tinbidilx.
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)
X'taċċetta l-endpoint tal-chat
Il-validator tat-talba f'apps/api/src/app.mjs jikkontrolla dan li ġej; dak li ma jikkontrollax jiġi mgħoddi jew injorat minflok ma jiġi rrifjutat, biex klijent aktar ġdid jibqa' jaħdem.
- model u messages huma meħtieġa; messages għandu jkun array mhux vojt.
- Kull messaġġ jeħtieġ rwol (system, user, assistant, tool jew developer) u content bħala string jew array ta' partijiet.
- stream għandu jkun boolean meta jkun preżenti.
- temperature, top_p, max_tokens, presence_penalty, frequency_penalty, seed u n iridu jkunu numri meta jkunu preżenti.
- max_tokens għandu jkun mill-inqas 1.
- n għandha tkun eżattament 1; kull ħaġa oħra tiġi rrifjutata.
- stop jista' jkun string jew array ta' strings.
- tools għandu jkun array meta jkun preżenti.
- llmeu għandu jkun oġġett; qatt mhu meħtieġ.
- tool_choice u response_format jiġu mgħoddija lill-backend flimkien mal-oqsma ta' hawn fuq; qasam żejjed mhux magħruf ma jiġix rrifjutat.
Żidiet tat-talba taħt llmeu
Oġġett llmeu b'namespace fil-body tat-talba; klijent li jinjora oqsma mhux magħrufa jista' jibgħatu bla periklu.
| Qasam | Valur | Effett |
|---|---|---|
| residency | eu-hosted | eu-owned | de | any | Jidjieq ir-routing għal endpoints f'dik ir-residenza; sett eliġibbli vojt jirritorna 409 no_endpoint_for_policy minflok ma jwessa' l-filtru. |
| task | isem ta' kompitu | Il-kompitu li r-router jadatta l-mudell għalih. |
| retention | zero | Jiġi implimentat biss iż-zero. Talba għal aktar milli tippermetti l-politika tirritorna 403 retention_exceeds_policy; valur effettiv permess li mhuwiex zero jirritorna 501 retention_not_implemented. |
| data_class | public | internal | confidential | restricted | Ikkontrollat kontra l-klassijiet tad-dejta permessi mill-politika: klassi barra minnhom tirritorna 403 data_class_not_allowed, u klassi mhux magħrufa tirritorna 400 invalid_data_class. |
| policy_id | uuid | Isemmi politika tal-istess organizzazzjoni; id mhux magħruf jirritorna 404 policy_not_found. |
| max_usd_per_1m | numru | Limitu massimu tal-prezz għal kull miljun token għal din it-talba. |
| allow_partners | true | false | Jekk l-endpoints tal-imsieħba jistgħux jintużaw għal din it-talba. |
Ċwievet mhux magħrufa ġewwa llmeu jiġu injorati; ċavetta magħrufa b'valur invalidu tiġi rrifjutata, għax data_class ħażina trid tfalli magħluqa minflok ma tfisser b'mod sieket li m'hemmx data class.
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"}
}'
Dak li ma jeżistix
Dawn it-tweġibiet huma deliberati, u klijent li jistenna dawn jara l-kodiċi tal-iżball minflok sostituzzjoni silenzjuża.
| Talba | Riżultat |
|---|---|
| POST /v1/completions | 501 not_implemented — l-endpoint tal-kompletamenti legacy mhuwiex offrut; uża /v1/chat/completions. |
| n > 1 | 400 unsupported_n — n = 1 biss huwa appoġġjat. |
| POST /v1/embeddings | L-embeddings jeħtieġu mudell tal-embedding, u l-id mitlub default huwa bge-m3. Ħadd mhu servut fuq dan id-deployment, għalhekk ir-rotta mhix offruta hawn minflok ma tirritorna vettori placeholder. |
| /v1/files, /v1/batches, /v1/assistants, /v1/fine_tuning, /v1/audio, /v1/images | 404 unknown_route — mhux routed xejn; path /v1 li r-router ma jafx iwieġeb 404 unknown_route, u kwalunkwe path ieħor iwieġeb 404 not_found. |
Ħruġ tad-dejta tiegħek
L-esportazzjoni tal-kont me.json iżżomm oqsma magħżula tal-kont, organizzazzjonijiet, metadata tal-API key mingħajr sigrieti, politiki attwali, l-aħħar 200 traċċi għal kull organizzazzjoni u aggregati tal-użu ta' kuljum għal 365 ġranet. Mhijiex kopja kompleta tad-dejta personali kollha u mhix rekord storiku tal-politiki.
L-esportazzjoni tal-awditjar NDJSON għandha default ta' 7 ġranet, tippermetti l-aktar 90 ġranet u tillimita t-traċċi għal 5000; il-manifest tagħha jġorr counts.truncated, li jimmarka esportazzjoni li laħqet il-limitu.
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
It-tħassir tal-kont innifsu jsir fil-paġna tal-profil u huwa suġġett għar-regola tas-sjieda fil-paġna tal-konsola.
Cookie tas-sessjoni mhux kredenzjali tal-API
Sessjoni tal-browser tawtentika l-konsola, mhux l-API. Klijent OpenAI li jibgħat waħda jiġi rrifjutat b'403 api_key_required u jrid juża API key minflok.
Ċaħda hawnhekk issemmi kodiċi, allura migrazzjoni tista' tagħmel branch fuqu, u l-blokk llmeu fuq kull risposta jgħid x'ġara fil-fatt.