Często zadawane pytania

Większość stron w tej witrynie coś twierdzi. Ta odpowiada na dziesięć pytań, o które kupujący zwykle musi do nas napisać e-mailem. Tam, gdzie odpowiedź brzmi "jeszcze nie", strona mówi "jeszcze nie" — strona, która by przesadzała, byłaby warta mniej niż żadna, bo każda inna strona tutaj jest napisana tak, by dało się ją sprawdzić.

Gdzie są przetwarzane prompty i uzupełnienia?

Na endpointcie, który wybierze router, a jest to nazwany region, i odpowiedź mówi, który to: blok llmeu przy każdym uzupełnieniu zawiera inference_region, endpoint_id i sovereignty_class. Wartość rezydencji w Twojej polityce ogranicza ten zbiór przed wyborem; jest stosowana jako filtr, a nie jako preferencja, a catalogue_unknown nigdy nie podlega routingowi. Dwa zastrzeżenia do tego zdania. Po pierwsze, wiersze regionów to dane konfiguracyjne, a nie dowód działających maszyn czy potwierdzonych umów z operatorami — dokument o rezydencji mówi to własnymi słowami, a my powtarzamy to tutaj, a nie tylko tam. Po drugie, w tym wdrożeniu nie ma GPU: domyślnym backendem jest mock, którego region to dev-mock, a mock nie reprezentuje miejsca. Zobacz "Co się dzieje, gdy nie ma GPU?" poniżej. API, które to robi, to proces Node, a nie część tej statycznej witryny — sam llmeu.com odpowiada stronami, nie przetwarza zapytań.

apps/api/src/inference.mjs:457 (blok odpowiedzi llmeu), packages/router/src/engine.mjs:467 (rezydencja jest stosowana przed punktacją), packages/inference/src/mock.mjs:7 (MOCK_REGION = dev-mock), packages/shared/src/catalog-schema.mjs:64 (klasy podlegające routingowi)

Czy prompty i uzupełnienia są przechowywane?

Nie. Treści promptów i uzupełnień nie są zapisywane w bazie danych. Każde wywołanie zapisuje metadane — żądany i użyty model, wersję, endpoint, region, klasę suwerenności, powód routera, liczby tokenów, opóźnienie, koszt, status — a prompt_stored w wierszu wynosi 0. Dwie kolumny na treści istnieją w schemacie i są puste (null). Egzekwowanie to kod, a nie proza polityki: żądanie, którego skuteczna retencja jest inna niż zerowa, jest odrzucane, z 403 retention_exceeds_policy, jeśli żąda więcej, niż pozwala Twoja polityka, i 501 retention_not_implemented, jeśli jest dozwolone, ale niezaimplementowane. Polityki mogą przechowywać 24h, 7d lub 30d jako wybory; zapisanie wyboru nie włącza zapisywania treści. Jeśli ślad kiedykolwiek pokaże prompt_stored inne niż 0, to jest jednostronicowa odpowiedź na pytanie "co przechowaliście" — i możesz to sprawdzić samodzielnie za pomocą jq, jak pokazuje strona z dowodami.

packages/shared/src/db/schema.sql:295 (prompt_stored i dwie kolumny na treści), 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)

Czy trenujecie na danych klientów?

Nie — nic w tym produkcie nie jest w stanie tego robić. W API, procesie webowym, routerze ani współdzielonych pakietach nie ma ścieżki kodu do trenowania ani dostrajania. API organizuje zapytanie do backendu i je rozlicza; nie ma wczytywania zbiorów danych, magazynu korpusów ani zadania dostrajania. Treści promptów i uzupełnień nie są zapisywane w bazie danych, więc nie ma nawet zapisanego korpusu, na którym można by trenować. To stwierdzenie o naszym kodzie, a nie o danych treningowych każdego modelu u dostawcy. Modele, które trenowano na danych innych osób lub które ujawniają swoje dane treningowe, są opisane na własnych kartach, ze źródłami, a niektóre z tych kart mówią, że dane treningowe nie są publikowane.

apps/api/src/inference.mjs (cała ścieżka zapytania: organizacja, rozliczanie, nigdy brak zapisu), packages/shared/src/db/schema.sql (brak tabeli zbiorów danych lub korpusów), packages/content/models.mjs:196 (karta, która mówi, że dane treningowe nie są publikowane)

Co się dzieje, gdy żaden endpoint nie spełnia mojej polityki rezydencji?

Zapytanie kończy się niepowodzeniem. Nie jest degradowane do pobliskiego regionu ani wysyłane gdzie indziej: 409 no_endpoint_for_policy, z powodem w treści błędu i wykluczonymi endpointami wymienionymi w śladzie. Rezydencja jest stosowana przed punktacją, a przełączenie awaryjne porusza się wyłącznie w obrębie zbioru, który router już przefiltrował — dlatego ponowna próba nie może po cichu ominąć ustawionej reguły. Kod mówi to jednym zdaniem: "Żaden endpoint nie spełnia rezydencji {x}. Rezydencja nigdy nie jest łagodzona po cichu." Co z tym zrobić: wskaż region lub klasę, które Twoja polityka dopuszcza, świadomie rozszerz politykę (decyzja, z wpisem w historii zmian) albo zaakceptuj, że dla tego modelu w ramach tej reguły nie istnieje żadna trasa. 409 to produkt działający zgodnie z projektem; tryb awarii, któremu zapobiega, to zapytanie, które "powiodło się" gdzieś, gdzie na to nie pozwoliłeś.

packages/shared/src/errors.mjs:59 (no_endpoint_for_policy), packages/router/src/engine.mjs:370 (niepowodzenie, przed punktacją), packages/router/src/engine.mjs:507 (przełączenie awaryjne nie może opuścić przefiltrowanego zbioru), apps/api/src/inference.mjs:137 (retencja jest sprawdzana przed routingiem)

Czy to jest zgodne z RODO lub certyfikowane?

Nie składamy takiego twierdzenia i nie złożymy go — ani "zgodne z AI Act", ani "certyfikowane", ani "Official EU". LLM EU jest prywatną spółką. Nie jest instytucją UE ani jednostką oceniającą zgodność. "Zweryfikowane" w tej witrynie oznacza udokumentowane, a nie prawnie certyfikowane: to lista kontrolna ujawnień, oceniana po tym, czy karta podaje swoją rezydencję, dostawcę, wersję, retencję, podprocesorów i licencję, wraz z linkami. Możemy stwierdzić, co robi kod i gdzie są luki: zerowa retencja wymuszana w kodzie; klucze API przechowywane jako skróty scrypt, a sekret pokazywany raz; każde zapytanie klienta ograniczone identyfikatorem organizacji; limity szybkości na IP, na klucz i na organizację; treści zapytań ograniczane i walidowane. Czego nie zrobiono: brak niezależnego testu penetracyjnego; brak audytu strony trzeciej; nota o prywatności i warunki to podsumowania; DPA to niesprawdzony, niepodpisany szablon; wykaz podprocesorów jest niekompletny. Strona bezpieczeństwa i indeks prawny wymieniają te luki we własnych sekcjach; ta odpowiedź na nie wskazuje, zamiast parafrazować je na coś łagodniejszego.

docs/product/decisions.md:115 (ADR-006 — żadnej pieczęci zgodności, w żadnym łańcuchu), apps/web/server/pages/docs.mjs:537 (SECURITY_COPY: lista mechanizmów kontroli i luk), apps/web/server/pages/docs.mjs:643 (LEGAL_READINESS: gotowość poszczególnych dokumentów)

Czy API jest zgodne z OpenAI i co musi zmienić klient?

Adres bazowy i nic więcej. /v1/chat/completions przyjmuje oficjalny kształt żądania i zwraca oficjalny kształt odpowiedzi — choices, usage, strumieniowanie jako SSE — więc oficjalne SDK działają po wskazaniu nas. Dodatkowe pola treści są ignorowane, a nie odrzucane, więc nowsze SDK nie może zepsuć starszej trasy. To, co dodano, jest opcjonalne i addytywne: obiekt llmeu w przestrzeni nazw w żądaniu (residency, task, retention, data_class, policy_id, max_usd_per_1m, allow_partners) oraz blok llmeu w odpowiedzi zawierający trace_id, model_used, model_version, provider, endpoint_id, inference_region, sovereignty_class, route_reason, policy_id, retention i szacunki kosztów. Świadomie nie oferujemy: /v1/completions (501), n > 1 (400), embeddings, chyba że model embeddingowy jest faktycznie hostowany. Blok llmeu może zyskać pola; usunięcie któregoś byłoby zmianą niekompatybilną i pojawiłoby się w historii zmian.

docs/product/decisions.md:78 (ADR-004), apps/api/src/app.mjs:554 (odpowiedź, którą czyta klient), apps/api/src/app.mjs:255 (501 na /v1/completions), apps/web/server/pages/docs.mjs:403 (spisany kontrakt zgodności)

Co się dzieje, gdy nie ma GPU?

Odpowiada MockBackend i mówi o tym w swoim własnym wyniku: uzupełnienie podaje nazwę modelu i region, stwierdza, że nie uruchomiono prawdziwych wag, i mówi, jak włączyć wnioskowanie własne (VLLM_BASE_URL, potem flaga gpu_enabled). Jego region to dev-mock, który nie jest miejscem, a przy wywołaniu mocka nie ma opłaty. GET /readyz informuje, które backendy działają, a gotowości nie spełnia wiersz endpointu, który mówi "up" — zarządzane środowisko uruchomieniowe musi faktycznie zgłaszać stan zdrowy, bo cały sens tego sondowania polega na wychwyceniu węzła, którego wagi wciąż się ładują. Rejestr backendów odmawia podstawienia mocka za endpoint, którego środowisko uruchomieniowe to vllm; zamiast tego zgłasza wyjątek. Uczciwe podsumowanie jest niewygodne i warto je podać wprost: to wdrożenie nie ma GPU, więc wywołanie tutaj jest demonstracją potoku, a nie uruchomieniem modelu. Sukces mocka to sukces na łączu; nigdy nie jest przedstawiany jako prawdziwe uruchomienie modelu.

packages/inference/src/mock.mjs:49 (odpowiedź, która wskazuje mocka), apps/api/src/app.mjs:157 (gotowość obejmuje zarządzane backendy), docs/product/decisions.md:131 (ADR-007 — rejestr odmawia udawania środowiska uruchomieniowego GPU)

Co oznacza karta modelu oznaczona catalogue_only?

Oznacza to, że katalogujemy model, ale go nie obsługujemy. Karta to informacja referencyjna — dostawca, licencja, okno kontekstu, gdzie według dostawcy działa, źródła każdej liczby — i żaden endpoint LLM EU za niego nie odpowiada. Zapytaj o niego API, a otrzymasz 404 hosted_unavailable z notą "tylko w katalogu — jeszcze nie hostowane na LLM EU"; strona dla niego nie podaje ceny, bo cena za coś, czego nikt nie może wywołać, to twierdzenie bez pokrycia. Zapytania do tego modelu trafiają bezpośrednio do jego dostawcy, na warunkach tego dostawcy, i karta modelu mówi dokładnie to. Przeciwna plakietka też nie jest silniejszą obietnicą: model, który hostujemy, jest hostowany w nazwanym regionie o nazwanej klasie suwerenności, i to jest twierdzenie, które możesz sprawdzić w śladzie. Żadna z plakietek nie jest stwierdzeniem zgodności.

packages/router/src/engine.mjs:325 (router odrzuca ten rodzaj), apps/api/src/app.mjs:235 (404 hosted_unavailable z notą), apps/web/server/pages/docs.mjs:446 (cennik pomija catalogue_only)

Jak dziś działają ceny i środki na koncie?

Ceny są za milion tokenów na wejściu i wyjściu, przechowywane na endpoint i pokazywane na stronie cennika oraz na kartach modeli, w EUR, wyliczane z jednego publikowanego kursu USD; sam rejestr przechowuje mikrounitki USD i zapisuje kurs w każdym wierszu, więc przeszłą fakturę można odtworzyć dokładnie. Każde uzupełnienie zwraca cost_estimate_usd i cost_estimate_eur, a ślad zapisuje koszt w obu. Limity polityki — pułap na milion i pułap dzienny — są sprawdzane przed routingiem, więc zapytanie przekraczające budżet jest odrzucane, a nie uruchamiane. Płatności kartą nie są włączone w tym wdrożeniu i nic nie dodaje środków automatycznie: nie ma jeszcze uruchamiania faktur ani ścieżki doładowania przez operatora. Konsola pokazuje, ile wydano i ile pozostało. Jeśli flaga stripe_enabled zostanie włączona, obsługa środków przyjmuje zgłoszoną kwotę bez weryfikacji, że płatność nastąpiła — dlatego flaga musi pozostać wyłączona, dopóki weryfikacja płatności nie zostanie zaimplementowana i przetestowana, i dlatego mówimy o tym tutaj, zamiast oferować przycisk płatności.

docs/product/decisions.md:148 (ADR-008 — przechowywane mikrounitki, wyświetlane EUR), apps/api/src/inference.mjs:457 (szacunki kosztów na zapytanie), apps/web/server/pages/docs.mjs:463 (strona cennika informuje, że płatności są wyłączone), apps/web/server/pages/docs.mjs:559 (obsługa środków nie weryfikuje płatności)

Czy możemy hostować samodzielnie?

Nie poprzez nic, co dziś dostarczamy. Nie ma dystrybucji do samodzielnego hostowania: brak obrazu kontenera, brak instalatora, brak licencji na środowisko lokalne, brak umowy wsparcia na uruchamianie tego we własnej infrastrukturze, a to repozytorium nie jest oferowane jako wspierane wdrożenie. Powierzchnia zespołowa w konsoli istnieje, ale role organizacyjne nie są pełną kontrolą dostępu opartą na rolach, i jest to udokumentowane, a nie przemilczane. Katalog zawiera natomiast klasę rezydencji o nazwie on_prem_customer — "model działa w infrastrukturze kontrolowanej przez klienta" — i jest to klasyfikacja własności i eksploatacji endpointu, a nie nasza oferta. Wiele modeli w katalogu publikuje otwarte wagi, a ich licencje (niektóre niekomercyjne, niektóre tylko do badań) są na kartach wraz z linkiem, więc możesz ocenić samodzielne uruchomienie ich; to decyzja o cudzych wagach i cudzej licencji, a nie produkt LLM EU do samodzielnego hostowania. Do rozmowy o środowisku lokalnym właściwymi drzwiami jest strona dla przedsiębiorstw i uczciwie jest powiedzieć, że takie rozwiązanie jeszcze nie istnieje.

packages/router/src/engine.mjs:12 (on_prem_customer występuje tylko w mapowaniach rezydencji), packages/shared/src/catalog-schema.mjs:84 (jego definicja), apps/web/server/pages/docs.mjs:517 (niekompletny RBAC, wprost podany), packages/content/models.mjs:695 (licencja na otwarte wagi na karcie)

Jeśli którakolwiek odpowiedź tutaj jest błędna, to jest to defekt i traktujemy go jak defekt. Tam, gdzie kod i ta strona się nie zgadzają, wygrywa kod — a strona z dowodami, strona bezpieczeństwa i indeks prawny to miejsca, w których trzymamy resztę niewygodnych szczegółów, zamiast powtarzać je dziesięć razy.

Pytania, na które ta strona nie odpowiada: mail@llmeu.com

Dowody i weryfikacja · Bezpieczeństwo · Prawne · Dostępność