Често задавани въпроси
Повечето страници на този сайт правят твърдение. Тази отговаря на десет въпроса, за които купувачът обикновено трябва да ни пише по имейл. Когато отговорът е „още не“, се казва „още не“ — страница, която преувеличава, би струвала по-малко от липса на страница, защото всяка друга страница тук е написана така, че да бъде проверима.
Къде се обработват подканите и отговорите?
На крайната точка, която рутерът избере, която е именуван регион, и отговорът Ви казва кой: блокът llmeu във всеки отговор съдържа inference_region, endpoint_id и sovereignty_class. Стойност за местоположение във Вашата политика ограничава този набор преди избора; прилага се като филтър, а не като предпочитание, и catalogue_unknown никога не е маршрутизируем. Две ограничения на това изречение. Първо, редовете за региони са конфигурационни данни, а не доказателство за работещи машини или потвърдени договори с оператори — документът за местоположението казва това със свои думи и ние го повтаряме тук, а не само там. Второ, при това внедряване няма GPU: подразбиращият се бекенд е mock, чийто регион е dev-mock, и mock не представлява място. Вижте „Какво се случва, ако няма GPU?“ по-долу. API-то, което прави това, е Node процес, а не част от този статичен сайт — самият llmeu.com отговаря на страници, не обработва заявки.
apps/api/src/inference.mjs:457 (блокът llmeu в отговора), packages/router/src/engine.mjs:467 (местоположението се прилага преди оценяването), packages/inference/src/mock.mjs:7 (MOCK_REGION = dev-mock), packages/shared/src/catalog-schema.mjs:64 (маршрутизируемите класове)
Запазват ли се подканите и отговорите?
Не. Телата на подканите и отговорите не се записват в базата данни. Всяко извикване съхранява метаданни — поискан и използван модел, версия, крайна точка, регион, клас на суверенитет, причината на рутера, брой токени, латентност, цена, статус — и полето prompt_stored на реда е 0. Двете колони за тела съществуват в схемата и са null. Прилагането е код, а не текст на политика: заявка, чието ефективно задържане е различно от нула, се отказва, с 403 retention_exceeds_policy, ако иска повече, отколкото Вашата политика позволява, и 501 retention_not_implemented, ако е позволено, но не е внедрено. Политиките могат да съхраняват 24h, 7d или 30d като избори; съхраняването на избора не позволява съхраняване на тялото. Ако проследяване някога покаже prompt_stored различно от 0, това е отговорът на една страница на „какво запазихте“ — и можете да го проверите сами с jq, както показва страницата с доказателства.
packages/shared/src/db/schema.sql:295 (prompt_stored и двете колони за тела), 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)
Обучавате ли върху клиентски данни?
Не — нищо в този продукт не е в позиция да го прави. Няма път в кода за обучение или донастройка в API-то, уеб процеса, рутера или споделените пакети. API-то оркестрира заявка към бекенд и я измерва; няма поглъщане на набори от данни, няма хранилище за корпус и няма задача за донастройка. Телата на подканите и отговорите не се записват в базата данни, така че няма дори съхранен корпус, върху който да се обучава. Това е твърдение за нашия код, а не за upstream данните за обучение на всеки модел. Моделите, които са били обучени върху чужди данни или които разкриват данните си за обучение, са описани в собствените си карти, с източници, и някои от тези карти казват, че данните за обучение не са публикувани.
apps/api/src/inference.mjs (целият път на заявката: оркестриране, измерване, никога запазване), packages/shared/src/db/schema.sql (няма таблица за набор от данни или корпус), packages/content/models.mjs:196 (карта, която казва, че данните за обучение не са публикувани)
Какво се случва, когато никоя крайна точка не удовлетворява политиката ми за местоположение?
Заявката се проваля. Тя не се понижава до близък регион и не се изпраща никъде другаде: 409 no_endpoint_for_policy, с причината в тялото на грешката и изключените крайни точки, посочени в проследяването. Местоположението се прилага преди оценяването и превключването при отказ се движи само в набора, който рутерът вече е филтрирал — затова повторен опит не може тихо да избегне правилото, което сте задали. Кодът го казва в едно изречение: „Никоя крайна точка не удовлетворява местоположение {x}. Местоположението никога не се отпуска мълчаливо.“ Какво да правите: посочете регион или клас, които Вашата политика позволява, разширете политиката умишлено (решение, с запис в дневника на промените) или приемете, че няма маршрут за този модел при това правило. 409 е продуктът, работещ както е проектиран; режимът на отказ, който предотвратява, е заявка, която е „успяла“ някъде, където не сте позволили.
packages/shared/src/errors.mjs:59 (no_endpoint_for_policy), packages/router/src/engine.mjs:370 (провалът, преди оценяване), packages/router/src/engine.mjs:507 (превключването при отказ не може да напусне филтрирания набор), apps/api/src/inference.mjs:137 (задържането се проверява преди маршрутизиране)
Това съответства ли на GDPR или е сертифицирано?
Ние не правим такова твърдение и няма да го направим — нито „съответства на Акта за ИИ“, нито „сертифицирано“, нито „официално от ЕС“. LLM EU е частна компания. Тя не е институция на ЕС и не е орган за оценка на съответствието. „Проверено“ на този сайт означава документирано, а не правно сертифицирано: това е контролен списък за разкрития, оценяван по това дали дадена карта посочва местоположението, доставчика, версията, задържането, подизпълнителите и лиценза си, с връзки. Това, което можем да заявим, е какво прави кодът и къде са пропуските: нулево задържане, наложено в код; API ключове, съхранявани като scrypt хешове, като тайната се показва веднъж; всяка клиентска заявка, ограничена по идентификатор на организация; ограничения на скоростта на IP, на ключ и на организация; телата на заявките са ограничени по размер и валидирани. Какво не е направено: няма независим тест за проникване; няма одит от трета страна; известието за поверителност и условията са обобщения; DPA е непрегледан, неподписан образец; инвентарът на подизпълнителите е непълен. Страницата за сигурност и правният указател изброяват тези пропуски в собствените си раздели; този отговор сочи към тях, вместо да ги преразказва в нещо по-меко.
docs/product/decisions.md:115 (ADR-006 — без печат за съответствие, във всеки низ), apps/web/server/pages/docs.mjs:537 (SECURITY_COPY: списъкът с контроли и пропуски), apps/web/server/pages/docs.mjs:643 (LEGAL_READINESS: готовност по документи)
Съвместимо ли е API-то с OpenAI и какво променя клиентът?
Базовия URL и нищо друго. /v1/chat/completions приема официалната форма на заявката и връща официалната форма на отговора — choices, usage, стрийминг като SSE — така че официалните SDK работят, след като ги насочите към нас. Допълнителните полета в тялото се игнорират, вместо да се отхвърлят, така че по-нов SDK не може да счупи по-стар маршрут. Добавеното е незадължително и допълващо: llmeu обект с пространство от имена в заявката (residency, task, retention, data_class, policy_id, max_usd_per_1m, allow_partners) и блок llmeu в отговора, носещ trace_id, model_used, model_version, provider, endpoint_id, inference_region, sovereignty_class, route_reason, policy_id, retention и оценки на разходите. Не се предлага, умишлено: /v1/completions (501), n > 1 (400), embeddings, освен ако модел за embedding всъщност не се хоства. Блокът llmeu може да придобива полета; премахването на поле би било breaking change и би се появило в дневника на промените.
docs/product/decisions.md:78 (ADR-004), apps/api/src/app.mjs:554 (отговорът, който клиентът чете), apps/api/src/app.mjs:255 (501 при /v1/completions), apps/web/server/pages/docs.mjs:403 (писменият договор за съвместимост)
Какво се случва, ако няма GPU?
MockBackend отговаря и го казва в собствения си изход: отговорът посочва модела и региона, заявява, че не са изпълнявани реални тегла, и казва как да се включи инференция от първа страна (VLLM_BASE_URL, след това флагът gpu_enabled). Регионът му е dev-mock, което не е място, и при mock извикване няма такса. GET /readyz отчита кои бекендове са активни и готовността не се удовлетворява от ред за крайна точка, който казва up — управлявана среда за изпълнение трябва действително да отчита healthy, защото цялата цел на тази проверка е да хване възел, чиито тегла още се зареждат. Регистърът на бекендовете отказва да замести mock за крайна точка, чиято среда за изпълнение е vllm; вместо това хвърля грешка. Честното обобщение е неудобно и си струва да се каже направо: това внедряване няма GPU, така че извикване тук е демонстрация на pipeline-а, а не изпълнение на модел. Успехът на mock е успех по мрежата; той никога не се представя като реално изпълнение на модел.
packages/inference/src/mock.mjs:49 (отговорът, който посочва mock), apps/api/src/app.mjs:157 (готовността включва управлявани бекендове), docs/product/decisions.md:131 (ADR-007 — регистърът отказва да имитира GPU среда за изпълнение)
Какво означава карта на модел, отбелязана с catalogue_only?
Означава, че каталогизираме модела и не го обслужваме. Картата е справочна информация — доставчик, лиценз, контекстен прозорец, къде доставчикът казва, че работи, източници за всяка цифра — и никоя крайна точка на LLM EU не отговаря за нея. Попитайте API-то за него и получавате 404 hosted_unavailable, с бележката „само каталог — още не се хоства на LLM EU“; страница за него не цитира цена, защото цена за нещо, което никой не може да извика, е твърдение без нищо зад него. Заявките към този модел отиват директно при неговия доставчик, при собствените условия на този доставчик, и картата на модела казва точно това. Обратната значка също не е по-силно обещание: модел, който хостваме, се хоства в именуван регион с именуван клас на суверенитет и това е твърдението, което можете да проверите в проследяването. Нито една от двете значки не е изявление за съответствие.
packages/router/src/engine.mjs:325 (рутерът отхвърля вида), apps/api/src/app.mjs:235 (404 hosted_unavailable с бележката), apps/web/server/pages/docs.mjs:446 (ценообразуването пропуска catalogue_only)
Как работят ценообразуването и кредитът днес?
Цените са на милион токени вход и изход, съхранявани за всяка крайна точка и показани на страницата с цени и в картите на моделите, в EUR, изведени от един публикуван курс USD; самият регистър съхранява USD микро и записва курса на всеки ред, така че минала фактура може да бъде възстановена точно. Всеки отговор връща cost_estimate_usd и cost_estimate_eur, а проследяването записва цената и в двете. Ограниченията на политиката — таван на милион и дневен таван — се проверяват преди маршрутизиране, така че заявка над бюджета се отказва, вместо да бъде изпълнена. Плащанията с карта не са включени при това внедряване и нищо не добавя кредит автоматично: още няма изпълнение на фактури и няма операторски път за кредит. Конзолата показва какво е изразходвано и какво остава. Ако флагът stripe_enabled бъде включен, манипулаторът на кредит приема подадена сума, без да проверява дали е извършено плащане — затова флагът трябва да остане изключен, докато проверката на плащанията не бъде внедрена и тествана, и затова казваме това тук, вместо да предлагаме бутон за плащане.
docs/product/decisions.md:148 (ADR-008 — съхраняват се микро, показват се EUR), apps/api/src/inference.mjs:457 (оценки на разходите за заявка), apps/web/server/pages/docs.mjs:463 (страницата с цени посочва, че плащанията са изключени), apps/web/server/pages/docs.mjs:559 (манипулаторът на кредит не проверява плащането)
Можем ли да го хостваме сами?
Не чрез нещо, което предоставяме днес. Няма разпространение за самостоятелно хостване: няма контейнерен образ, няма инсталатор, няма лиценз за локална инсталация, няма договор за поддръжка за работа с това във Вашата среда и това хранилище не се предлага като поддържано внедряване. Секцията за екип в конзолата съществува, но ролите в организацията не са пълен контрол на достъпа, базиран на роли, и това е документирано, а не премълчано. Това, което каталогът съдържа, е клас на местоположение, наречен on_prem_customer — „моделът работи в инфраструктура, контролирана от клиента“ — и това е класификация на собствеността и работата на крайна точка, а не оферта от нас. Много от моделите в каталога публикуват отворени тегла и техните лицензи (някои некомерсиални, някои само за изследвания) са в картите с връзка, така че можете да прецените дали да ги изпълнявате сами; това е решение за чужди тегла и чужд лиценз, а не продукт за самостоятелно хостване от LLM EU. За разговор за локална инсталация правилната врата е страницата за предприятия и е честно, че такава договорка още не съществува.
packages/router/src/engine.mjs:12 (on_prem_customer се появява само в съпоставянията за местоположение), packages/shared/src/catalog-schema.mjs:84 (дефиницията му), apps/web/server/pages/docs.mjs:517 (непълен RBAC, посочено), packages/content/models.mjs:695 (лиценз за отворени тегла в карта)
Ако отговор тук е грешен, това е дефект и ние го третираме като такъв. Когато кодът и тази страница се разминават, кодът печели — а страницата с доказателства, страницата за сигурност и правният указател са местата, където държим останалите неудобни подробности, вместо да ги повтаряме десет пъти.
Въпроси, на които тази страница не отговаря: mail@llmeu.com
Доказателства и проверка · Сигурност · Правна информация · Достъпност