Ключевые тезисы
- •«Self-hosted на Yandex Cloud» — это не одна архитектура, а 4 разных слоя (inference, embedding/retrieval, оркестрация, данные), каждый из которых конфигурируется отдельно
- •Для типовой нагрузки агентства A10G с Qwen 2.5 7B даёт качество, сопоставимое с GPT-4o-mini, окупается на 6-8M output-токенов в месяц
- •YandexGPT API закрывает большинство сценариев по 152-ФЗ через managed-сервис — чистый self-hosted нужен только для специальных категорий ПД или госконтрактов
- •Гибридная архитектура (embedding+retrieval self-hosted, генерация через YandexGPT API) — самый распространённый production-паттерн в 2026
- •Главный финансовый сдвиг — с per-token billing на GPU-hours: точное планирование бюджета, но фиксированный CAPEX независимо от нагрузки
Канонический обзор: этот пост — архитектурный deep-dive по слоям self-hosted AI-стека на Yandex Cloud. Концептуальное обоснование «зачем суверенитет вообще» — на странице Суверенный AI для российских предприятий. Решение «можно/нельзя выгружать конкретные данные» — в посте 152-ФЗ и AI. Какой уровень суверенности вообще выбирать — в путеводителе «Суверенный AI-стек».
«Self-hosted AI на российской инфраструктуре» — фраза, которую агентства произносят на каждой второй презентации в 2026 году. Под ней скрывается четыре разных архитектурных слоя, и в каждом есть выбор, который определяет стоимость, скорость и фактическую суверенность. Этот текст — про то, что именно вы покупаете, когда говорите «self-hosted на Yandex Cloud», и что вам это даст по сравнению с прямым вызовом OpenAI API из n8n.
Что значит «self-hosted» в контексте Yandex Cloud
В разговорах с агентствами «self-hosted на Yandex Cloud» означает четыре разных вещи в зависимости от собеседника. Прежде чем обсуждать архитектуру, стоит зафиксировать определения — иначе спор о цене и сроках идёт мимо.
Полностью self-hosted на собственных GPU. Вы арендуете GPU-инстансы Yandex Compute Cloud (или ставите свои на co-location), разворачиваете на них open-weights модель (Qwen 2.5, Llama 3, Mistral), сами управляете весами, скейлингом и обновлениями. Максимальный контроль, максимальный CAPEX/OPEX.
Managed self-hosted через Yandex Cloud GenAI. Yandex предоставляет GPU-инстансы с предустановленными моделями и SDK для развёртывания собственных весов. Вы выбираете модель из каталога или загружаете свою, Yandex берёт на себя инфраструктуру inference. Это всё ещё «self-hosted» в смысле обработки данных внутри РФ-периметра, но без операционной нагрузки на собственную DevOps-команду.
YandexGPT API. Это не self-hosted — это managed-сервис со своей моделью. Данные обрабатываются в РФ-юрисдикции, но модель и инфраструктура — Yandex. Юридически — обработка через лицо, осуществляющее обработку (ст. 6 152-ФЗ). По 152-ФЗ закрывает большинство кейсов, кроме специальных категорий ПД.
Гибрид. Embedding + retrieval self-hosted внутри периметра, генерация — через YandexGPT API. Самый распространённый сценарий в наших продуктах: индекс с ПД клиента не покидает периметр, финальная генерация ответа делается через managed-сервис. Подходит для большинства production-нагрузок без heavyweight DevOps.
Дальше по тексту «self-hosted» = первые два варианта. Гибрид и API — отдельные сценарии с другой экономикой.
Четыре слоя стека
Self-hosted AI-стек на Yandex Cloud — это не «одна большая коробка», а четыре независимых слоя, каждый из которых конфигурируется отдельно.
1. Слой инференса. GPU-инстанс или кластер с развёрнутой LLM. Загружает веса, принимает запросы, возвращает токены. На Yandex Cloud это либо самостоятельно запущенный vLLM/Ollama/TGI на инстансе с GPU, либо managed-deployment через Yandex GenAI Studio.
2. Слой эмбеддингов и retrieval. Векторный индекс с базой документов клиента. Может быть pgvector в Yandex Managed PostgreSQL, Qdrant в Yandex Cloud Containers, или собственная инсталляция Milvus. Векторизация — отдельная модель (e5, bge-m3, Qwen-embedding), запускается на том же GPU-инстансе что и inference, или на CPU при низкой нагрузке.
3. Слой оркестрации. Логика «пользователь задал вопрос → найти релевантные документы → собрать промпт → отправить в LLM → отформатировать ответ». В наших продуктах это n8n внутри периметра (Yandex Cloud Containers или собственный compute). Альтернатива — кастомный код на FastAPI/Express; используется когда нужны нестандартные интеграции.
4. Слой данных. Object Storage для исходных документов, Managed Database для метаданных, Yandex Lockbox для секретов. Это собственно то, что нужно держать в российском периметре — всё остальное может быть в managed-сервисах с сертификатами ФСТЭК.
Когда собеседник говорит «мы строим self-hosted AI», правильный вопрос — «какие из четырёх слоёв self-hosted, а какие managed». Большинство «суверенных» внедрений 2025-2026 годов на самом деле гибрид: слои 2 и 4 self-hosted (потому что там ПД клиента), слой 1 — managed через YandexGPT API, слой 3 — managed через Yandex Cloud Functions.
Выбор GPU-инстансов для inference
GPU — самый дорогой компонент стека. Конкретные SKU Yandex Cloud Compute (2026) и что на них имеет смысл запускать:
| Инстанс | GPU | VRAM | Что туда влезает | Стоимость порядка |
|---|---|---|---|---|
gpu-standard-v3-nvidia-t4 | NVIDIA T4 | 16 GB | Эмбеддинги (bge-m3, e5), малые модели (Qwen 0.5B-3B) | низкий |
gpu-standard-v3-nvidia-a10g | NVIDIA A10G | 24 GB | Qwen 2.5 7B (FP16), Mistral 7B, эмбеддинги + retrieval ranker | средний |
gpu-standard-v3-nvidia-a100-40gb | NVIDIA A100 | 40 GB | Qwen 2.5 14B (FP16) или 32B (Q4), Llama 3 8B (FP16) | высокий |
gpu-standard-v3-nvidia-a100-80gb | NVIDIA A100 | 80 GB | Qwen 2.5 32B (FP16), Llama 3 70B (Q4) | очень высокий |
Эти цифры — для inference-нагрузки. Для fine-tuning или RAG с большим контекстом VRAM-требования удваиваются.
Рабочий минимум для агентства. Для большинства задач PR/маркетинга (генерация комментариев, классификация, суммаризация) Qwen 2.5 7B или Mistral 7B на A10G дают качество, неотличимое от GPT-4o-mini для не-творческих задач. CAPEX порядка $1000-1500 в месяц за единственный инстанс, доступный 24/7. Сравнить с per-token billing OpenAI API при той же нагрузке полезно — обычно self-hosted окупается на отметке 10-15M токенов в месяц.
Когда нужен A100. Большой контекст (>32K токенов), кодогенерация, мультимодальные модели (vision), сложные reasoning-задачи. Для типового агентства это редкие сценарии — A10G покрывает 85% потребностей.
Когда GPU не нужен вообще. Эмбеддинги маленьких объёмов (<10K документов в индексе) — спокойно живут на CPU-инстансе с 16 ГБ RAM. Reranker — то же самое. Только генерация и обработка очень больших датасетов требуют GPU.
YandexGPT API vs self-hosted open-weights
Главное архитектурное решение — какую модель использовать. Сравнение по 6 параметрам, релевантным для агентств:
| Параметр | YandexGPT 5 Pro API | Qwen 2.5 / Mistral self-hosted | Llama 3 self-hosted |
|---|---|---|---|
| Качество на RU | Высокое (топовое для RU задач) | Высокое (Qwen 2.5 ≥ GPT-4o-mini) | Среднее (Llama слабее на RU) |
| Юрисдикция данных | РФ (managed) | РФ (self-hosted) | РФ (self-hosted) |
| Лицензия для коммерции | Yandex Terms | Apache 2.0 / Apache 2.0 | Llama Community License¹ |
| Стоимость на типовую нагрузку² | Per-token | GPU-hours (фиксированно) | GPU-hours (фиксированно) |
| Кастомизация (fine-tune) | Ограниченная | Полная | Полная |
| Vendor-lock-in | Yandex | Нет | Нет |
¹ Llama Community License разрешает коммерческое использование до определённого DAU-порога — для агентства это обычно не проблема, но при росте надо проверять отдельно.
² «Типовая нагрузка» — порядка 5M токенов в месяц на агентство. Self-hosted фиксированно $1000-1500 в месяц (один A10G 24/7), YandexGPT API — порядка $300-800 в месяц на том же объёме. Self-hosted окупается с роста нагрузки или когда нужно гарантировать ноль трансграничной передачи.
Практический выбор. Для production-нагрузок мы рекомендуем гибридный путь — YandexGPT 5 Pro как «дефолтный» инференс через API, self-hosted Qwen 2.5 на отдельном инстансе для задач с особо чувствительными данными или когда нужен fine-tune. Чистый self-hosted-only имеет смысл когда регулятор уже на горизонте (банки, госконтракты) или когда DAU настолько высок, что per-token billing проигрывает GPU-аренде даже на A100.
n8n как оркестратор внутри периметра
Слой оркестрации — самый недооценённый компонент стека. Без него у вас есть LLM и индекс, но нет продукта.
Мы используем n8n для всех workflow-продуктов Кельва — tender-docs-app, media-comment-generator, case-study-generator. Причины:
- Self-hostable. n8n работает на Yandex Cloud Containers или на одном инстансе с inference-моделью. Workflows не покидают периметр.
- Визуальный редактор. Не-инженер в команде клиента (маркетолог, PR-директор) может прочитать пайплайн и понять, что происходит. Сценарий «через 4 месяца после внедрения никто не помнит как это работает» закрывается планировкой воркфлоу.
- HTTP-агностик. Любой шаг — это HTTP-вызов к LLM, к векторному индексу, к Google Docs API, к CRM. Поменять YandexGPT на self-hosted Qwen — это правка URL и заголовков в одной ноде, не переписывание оркестратора.
- State + retry без кода. Сложные сценарии с retry-логикой, ветвлением и асинхронными ожиданиями описываются нодами, а не Python-кодом, который никто не поддержит через год.
Альтернативы. LangGraph, Temporal, кастомный FastAPI. LangGraph чаще нужен для агентских сценариев с многоступенчатым reasoning — для линейных пайплайнов (документ → LLM → форматирование) он overkill. Temporal — для production-нагрузок с миллионами заданий в день, не наш случай. Кастомный FastAPI имеет смысл когда n8n не закрывает требования к производительности или нужны нестандартные интеграции.
Что меняется в экономике
Главная финансовая разница self-hosted vs облачного API — переход с per-token billing на GPU-hours billing. Это меняет всё в operating model.
Per-token (OpenAI / Anthropic / YandexGPT API). Стоимость растёт линейно с использованием. На малом DAU дёшево, на крупном — взрывается. Прогнозирование затрат — функция от непредсказуемого input от пользователей. Преимущество — нулевой CAPEX, мгновенный старт.
GPU-hours (self-hosted). Стоимость фиксированная — вы платите за инстанс 24/7 независимо от нагрузки. На малом DAU дорого (платите за пустой GPU), на крупном — дёшево (один инстанс обрабатывает любой объём в рамках своей пропускной способности). Прогнозирование точное.
Точка окупаемости. Эмпирическая для агентства с Qwen 2.5 7B на A10G ($1200/мес) против GPT-4o-mini ($0.15/1M input + $0.60/1M output): self-hosted выходит дешевле начиная с 6-8M output-токенов в месяц. Это примерно 20-30K длинных запросов в месяц — типовая нагрузка для крупного PR-агентства с 5-10 активными клиентами.
Скрытые расходы self-hosted. DevOps на поддержку (обновления модели, мониторинг GPU, downtime при апгрейдах) — реально часов 8-12 в месяц инженерного времени. На начальных этапах эта стоимость недооценивается.
Скрытые расходы API. Невозможность чёткого планирования бюджета. Один промпт-баг, который начинает выгружать огромные контексты, может за неделю сжечь месячный лимит. Скорость роста счёта непропорциональна скорости роста продукта.
Когда self-hosted — не нужен
Архитектурные решения должны открывать опции, а не закрывать их. Список случаев, когда self-hosted на Yandex Cloud — переоптимизация:
- Pilot-проект на 2-3 месяца. CAPEX не окупится, оверхед DevOps замедлит итерации. Используйте YandexGPT API напрямую, мигрируйте позже если продукт пошёл.
- DAU <1000 в первый год. Per-token economy не догонит GPU-аренду. Self-hosted имеет смысл с роста нагрузки.
- Нет в команде ML-операций. Поддержка inference-стека — это отдельная инженерная компетенция. Без неё self-hosted превращается в «GPU простаивает половину времени, никто не знает почему».
- Нет ПД клиента в потоке. Публичные пресс-релизы, открытые отчёты, общие маркетинговые материалы — обработка через зарубежный API формально не нарушает 152-ФЗ. Гибкость и стоимость API в этом случае выигрывают.
Когда self-hosted — единственный путь
И обратный список — случаи, когда self-hosted это не выбор, а требование:
- Контракты с государственными заказчиками. Большинство госконтрактов в РФ требуют локализации обработки на сертифицированной инфраструктуре. YandexGPT API проходит через большинство таких проверок, но в чувствительных секторах (МЧС, оборона, медицина) требуется собственный self-hosted-инстанс на инфраструктуре с сертификатом ФСТЭК.
- Специальные категории ПД (ст. 10 152-ФЗ). Медицинские данные, биометрия, политические взгляды — managed-сервисы без специальной сертификации не закрывают требования.
- Fine-tuned модели с проприетарными данными. Если вы обучили модель на своих кейсах или клиентских данных, веса нельзя загружать в чужую инфраструктуру.
- Vendor-independence как стратегическое требование. Если ваш контракт с клиентом включает оговорку «инфраструктура не зависит от одного вендора», вы обязаны иметь open-weights fallback. YandexGPT не выполняет это требование — нужен self-hosted Qwen или Llama как минимум как hot-standby.
Наш Tender Docs App — пример продукта, изначально построенного по полностью суверенной архитектуре: документы хранятся в Yandex Object Storage (ru-central1), индекс на pgvector self-hosted внутри Yandex Managed PostgreSQL, инференс — гибрид YandexGPT 5 Pro + Qwen 2.5 self-hosted, оркестрация — n8n в Yandex Cloud Containers. Промпт с ПД клиента никогда не покидает российский периметр — потому что физически некуда покидать. На этом же стеке построена обработка тендерной документации — тот же периметр, только другой тип документов на входе.
Закрыть архитектурный вопрос один раз
Если вы оцениваете AI-стек для агентства и хотите перейти от презентаций «суверенный AI» к конкретной архитектуре под ваш сценарий — поговорим. Мы соберём четырёхслойный стек с понятным OPEX, опишем точку окупаемости и предложим конкретные SKU Yandex Cloud.
