Ofte stillede spørgsmål
De fleste sider på dette websted fremsætter en påstand. Denne besvarer ti spørgsmål, som en køber normalt skal sende os en e-mail for at få svar på. Hvor svaret er "ikke endnu", står der "ikke endnu" — en side, der overdriver, ville være mindre værd end ingen side, fordi alle andre sider her er skrevet for at kunne kontrolleres.
Hvor behandles prompts og completions?
På det endpoint, routeren vælger, som er en navngivet region, og svaret fortæller dig hvilken: llmeu-blokken på hver completion indeholder inference_region, endpoint_id og sovereignty_class. En residency-værdi i din politik begrænser det sæt før valget; den anvendes som et filter, ikke som en præference, og catalogue_unknown er aldrig routbar. To begrænsninger ved den sætning. For det første er regionsrækker konfigurationsdata, ikke bevis for kørende maskiner eller bekræftede operatørkontrakter — residency-dokumentet siger dette med sine egne ord, og vi gentager det her i stedet for kun der. For det andet er der ingen GPU i denne implementering: standard-backenden er mock'en, hvis region er dev-mock, og mock'en repræsenterer ikke et sted. Se "Hvad sker der, hvis der ikke er nogen GPU?" nedenfor. API'en, der gør dette, er en Node-proces, ikke en del af dette statiske websted — llmeu.com svarer selv på sider, det behandler ikke anmodninger.
apps/api/src/inference.mjs:457 (llmeu-svarsblokken), packages/router/src/engine.mjs:467 (residency anvendes før scoring), packages/inference/src/mock.mjs:7 (MOCK_REGION = dev-mock), packages/shared/src/catalog-schema.mjs:64 (de routbare klasser)
Gemmes prompts og completions?
Nej. Prompt- og completion-bodies skrives ikke til databasen. Hvert kald gemmer metadata — model anmodet om og brugt, version, endpoint, region, sovereignty-klasse, routerens begrundelse, tokenantal, latens, omkostning, status — og rækkens prompt_stored er 0. De to body-kolonner findes i skemaet og er null. Håndhævelsen er kode, ikke policy-prosa: en anmodning, hvis effektive opbevaring er andet end nul, afvises, med 403 retention_exceeds_policy, hvis den beder om mere, end din politik tillader, og 501 retention_not_implemented, hvis den er tilladt, men ikke implementeret. Politikker kan gemme 24h, 7d eller 30d som valgmuligheder; at gemme valget aktiverer ikke lagring af body'en. Hvis en trace nogensinde viser prompt_stored anderledes end 0, er det det enkeltsides svar på "hvad gemte I" — og du kan selv kontrollere det med jq, som evidenssiden viser.
packages/shared/src/db/schema.sql:295 (prompt_stored og de to body-kolonner), apps/api/src/inference.mjs:83 (IMPLEMENTED_RETENTION = zero), apps/api/src/inference.mjs:89 (403 retention_exceeds_policy), apps/api/src/inference.mjs:97 (501 retention_not_implemented), docs/product/decisions.md:62 (ADR-003)
Træner I på kundedata?
Nej — intet i dette produkt er i en position til det. Der er ingen trænings- eller finjusteringskodevej i API'en, webprocessen, routeren eller de delte pakker. API'en orkestrerer en anmodning til en backend og måler den; der er ingen datasætindlæsning, intet korpuslager og intet finjusteringsjob. Prompt- og completion-bodies skrives ikke til databasen, så der er ikke engang et lagret korpus at træne på. Det er en udtalelse om vores kode, ikke om enhver models upstream-træningsdata. Modeller, der blev trænet på andres data, eller som oplyser deres træningsdata, er beskrevet på deres egne kort, med kilder, og nogle af disse kort siger, at træningsdataene ikke er offentliggjort.
apps/api/src/inference.mjs (hele anmodningsstien: orkestrer, mål, aldrig persist), packages/shared/src/db/schema.sql (ingen datasæt- eller korpustabel), packages/content/models.mjs:196 (et kort, der siger, at træningsdataene ikke er offentliggjort)
Hvad sker der, når intet endpoint opfylder min residency-politik?
Anmodningen fejler. Den nedgraderes ikke til en nærliggende region, og den sendes ikke andre steder hen: 409 no_endpoint_for_policy, med årsagen i fejlbodyen og de udelukkede endpoints nævnt på trace'en. Residency anvendes før scoring, og failover bevæger sig kun inden for det sæt, routeren allerede har filtreret — hvilket er grunden til, at et retry ikke stille kan undslippe den regel, du har sat. Koden siger det i én sætning: "No endpoint satisfies residency {x}. Residency is never relaxed silently." Hvad du kan gøre: navngiv en region eller klasse, som din politik tillader, udvid politikken bevidst (en beslutning, med en changelog-post), eller accepter, at der ikke findes nogen rute for den model under den regel. En 409 er produktet, der fungerer som designet; den fejltilstand, den forhindrer, er en anmodning, der "lykkedes" et sted, du ikke tillod.
packages/shared/src/errors.mjs:59 (no_endpoint_for_policy), packages/router/src/engine.mjs:370 (fejlen, før scoring), packages/router/src/engine.mjs:507 (failover kan ikke forlade det filtrerede sæt), apps/api/src/inference.mjs:137 (opbevaring kontrolleres før routing)
Er dette GDPR-kompatibelt eller certificeret?
Vi fremsætter ikke den påstand, og det vil vi ikke — ikke "AI Act-kompatibel", ikke "certificeret", ikke "Official EU". LLM EU er en privat virksomhed. Det er ikke en EU-institution og ikke et organ for overensstemmelsesvurdering. "Verificeret" på dette websted betyder dokumenteret, ikke juridisk certificeret: det er en tjekliste for oplysninger, scoret efter, om et kort angiver sin residency, udbyder, version, opbevaring, underdatabehandlere og licens, med links. Det, vi kan sige, er, hvad koden gør, og hvor hullerne er: nul-opbevaring håndhævet i kode; API-nøgler gemt som scrypt-hashes med hemmeligheden vist én gang; hver kundeanmodning afgrænset af organization id; rate limits pr. IP, pr. nøgle og pr. organisation; anmodnings-bodies begrænset og valideret. Hvad der ikke er gjort: ingen uafhængig penetrationstest; ingen tredjepartsrevision; privatlivserklæringen og vilkårene er oversigter; DPA'en er en ikke-gennemgået, uunderskrevet skabelon; fortegnelsen over underdatabehandlere er ufuldstændig. Sikkerhedssiden og det juridiske indeks lister disse huller i deres egne afsnit; dette svar henviser til dem i stedet for at omskrive dem til noget blødere.
docs/product/decisions.md:115 (ADR-006 — intet compliance-stempel, i nogen streng), apps/web/server/pages/docs.mjs:537 (SECURITY_COPY: listen over kontroller og huller), apps/web/server/pages/docs.mjs:643 (LEGAL_READINESS: parathed pr. dokument)
Er API'en OpenAI-kompatibel, og hvad skal en kunde ændre?
Base-URL'en, og intet andet. /v1/chat/completions accepterer den officielle anmodningsform og returnerer den officielle svarform — choices, usage, streaming som SSE — så de officielle SDK'er virker, efter du peger dem på os. Ekstra body-felter ignoreres i stedet for at blive afvist, så et nyere SDK ikke kan bryde en ældre rute. Det, der tilføjes, er valgfrit og additivt: et namespaced llmeu-objekt i anmodningen (residency, task, retention, data_class, policy_id, max_usd_per_1m, allow_partners) og en llmeu-blok i svaret med trace_id, model_used, model_version, provider, endpoint_id, inference_region, sovereignty_class, route_reason, policy_id, retention og omkostningsestimater. Ikke tilbudt, bevidst: /v1/completions (501), n > 1 (400), embeddings medmindre en embedding-model faktisk hostes. llmeu-blokken kan få felter tilføjet; at fjerne et ville være en breaking change og ville fremgå af changelog'en.
docs/product/decisions.md:78 (ADR-004), apps/api/src/app.mjs:554 (svaret, som klienten læser), apps/api/src/app.mjs:255 (501 på /v1/completions), apps/web/server/pages/docs.mjs:403 (den skriftlige kompatibilitetskontrakt)
Hvad sker der, hvis der ikke er nogen GPU?
MockBackend svarer, og det siger det i sit eget output: completion'en navngiver modellen og regionen, oplyser, at ingen rigtige vægte kørte, og siger, hvordan man slår first-party-inferens til (VLLM_BASE_URL, derefter gpu_enabled-flaget). Dens region er dev-mock, som ikke er et sted, og ved et mock-kald er der ingen omkostning. GET /readyz rapporterer, hvilke backends der er oppe, og parathed opfyldes ikke af en endpoint-række, der siger up — en managed runtime skal faktisk rapportere healthy, fordi hele pointen med den probe er at fange en node, hvis vægte stadig indlæses. Backend-registret nægter at erstatte mock'en for et endpoint, hvis runtime er vllm; det kaster i stedet. Den ærlige opsummering er ubehagelig og værd at sige direkte: denne implementering har ingen GPU, så et kald her er en demonstration af pipelinen, ikke en modelkørsel. En mock-succes er en succes på wire'en; den præsenteres aldrig som en rigtig modelkørsel.
packages/inference/src/mock.mjs:49 (svaret, der navngiver mock'en), apps/api/src/app.mjs:157 (parathed inkluderer managed backends), docs/product/decisions.md:131 (ADR-007 — registret nægter at efterligne en GPU-runtime)
Hvad betyder et modelkort markeret catalogue_only?
Det betyder, at vi katalogiserer modellen og ikke betjener den. Kortet er referenceinformation — udbyder, licens, kontekstvindue, hvor udbyderen siger, den kører, kilder til hvert tal — og intet LLM EU-endpoint svarer for det. Bed API'en om det, og du får 404 hosted_unavailable, med noten "catalogue only — not hosted on LLM EU yet"; en side for det angiver ingen pris, fordi en pris for noget, ingen kan kalde, er en påstand uden noget bag. Anmodninger til den model går direkte til dens udbyder, under den udbyders egne vilkår, og modelkortet siger præcis det. Det modsatte badge er heller ikke et stærkere løfte: en model, vi hoster, hostes i en navngivet region med en navngivet sovereignty-klasse, og det er den påstand, du kan kontrollere på trace'en. Intet af badge'erne er en compliance-erklæring.
packages/router/src/engine.mjs:325 (routeren afviser kind), apps/api/src/app.mjs:235 (404 hosted_unavailable med noten), apps/web/server/pages/docs.mjs:446 (prissætning springer catalogue_only over)
Hvordan fungerer prissætning og kredit i dag?
Priser er per million tokens ind og ud, gemt per endpoint og vist på prissiden og modelkortene, i EUR, afledt af én offentliggjort USD-kurs; selve ledgeren gemmer USD-micros og skriver kursen på hver række, så en tidligere faktura kan rekonstrueres præcist. Hver completion returnerer cost_estimate_usd og cost_estimate_eur, og en trace registrerer omkostningen i begge. Politikgrænser — et loft per million og et dagligt loft — kontrolleres før routing, så en anmodning over budget afvises i stedet for at blive kørt. Kortbetalinger er ikke aktiveret i denne implementering, og intet tilføjer kredit automatisk: der er ingen fakturakørsel og ingen operatørkreditvej endnu. Konsollen viser, hvad der er brugt, og hvad der resterer. Hvis et stripe_enabled-flag slås til, accepterer kredithåndteringen et indsendt beløb uden at bekræfte, at en betaling er sket — hvilket er grunden til, at flaget skal forblive slukket, indtil betalingsbekræftelse er implementeret og testet, og hvorfor vi siger det her i stedet for at tilbyde en checkout-knap.
docs/product/decisions.md:148 (ADR-008 — micros gemt, EUR vist), apps/api/src/inference.mjs:457 (omkostningsestimater pr. anmodning), apps/web/server/pages/docs.mjs:463 (prissiden angiver, at betalinger er slukket), apps/web/server/pages/docs.mjs:559 (kredithåndteringen bekræfter ikke betaling)
Kan vi selv hoste?
Ikke gennem noget, vi udgiver i dag. Der er ingen selvhostet distribution: intet container-image, ingen installationsprogram, ingen on-premise-licens, ingen supportkontrakt til at køre dette i dit eget miljø, og dette repository tilbydes ikke som en understøttet implementering. Konsollens team-flade findes, men organisationsroller er ikke fuldstændig rollebaseret adgangskontrol, og det er dokumenteret i stedet for at blive tilsløret. Det, kataloget indeholder, er en residency-klasse kaldet on_prem_customer — "modellen kører inde i infrastruktur, som kunden kontrollerer" — og det er en klassificering af et endpoints ejerskab og drift, ikke et tilbud fra os. Mange af modellerne i kataloget offentliggør åbne vægte, og deres licenser (nogle ikke-kommercielle, nogle kun til forskning) er på kortene med et link, så du kan vurdere selv at køre dem; det er en beslutning om andres vægte og andres licens, ikke et selvhostingprodukt fra LLM EU. Til en on-premise-samtale er enterprise-siden den rigtige indgang, og det er ærligt, at ordningen ikke findes endnu.
packages/router/src/engine.mjs:12 (on_prem_customer optræder kun i residency-mappings), packages/shared/src/catalog-schema.mjs:84 (dens definition), apps/web/server/pages/docs.mjs:517 (ufuldstændig RBAC, oplyst), packages/content/models.mjs:695 (en open-weight-licens på et kort)
Hvis et svar her er forkert, er det en fejl, og vi behandler det som en fejl. Hvor koden og denne side er uenige, vinder koden — og evidenssiden, sikkerhedssiden og det juridiske indeks er de steder, hvor vi opbevarer resten af de ubehagelige detaljer i stedet for at gentage dem ti gange.
Spørgsmål, som denne side ikke besvarer: mail@llmeu.com
Bevis og verifikation · Sikkerhed · Juridisk · Tilgængelighed