сайт в бете
нашли баг? напишите
левин. записаться
весь блог

ИИ на своём железе: как скормить модели свой контекст мимо облака

Разбираю на своих кейсах, зачем держать модель локально, когда данные жалко отдавать наружу, и как подложить ей свой контекст — от вставки в промпт до RAG и агентов.

Л
Проект Левин
автор
ИИ на своём железе: как скормить модели свой контекст мимо облака

Почему я вообще полез в локаль

Когда я разбирал для проекта RFMT вопрос «скрапить или покупать данные», уперся в ФЗ-152. Как только ты хранишь контакт конкретного человека — телефон или почту, привязанные к имени, — на тебе висит обязанность по уведомлению (ст. 18 ч. 3). Метод получения тут роли не играет. И вот такие данные я не хочу гонять через чужой API. Одно дело отправить в облако обезличенную метрику канала, другое — прогнать через него базу с реальными владельцами. Отсюда и запрос: держать модель у себя, кормить её своим контекстом, ничего наружу не отдавать.

Локальная модель без выхода в облако

Что «локальная модель» реально означает

Локально — это модель с открытыми весами, которая крутится на твоём железе. Ты скачиваешь файл весов, поднимаешь рантайм, шлёшь запросы на localhost. Дальше два уровня приватности:

  • Веса на диске — трафик не покидает машину.
  • Контекст в оперативке — твои документы модель видит только в момент запроса и забывает после.

Порог входа ниже, чем кажется. Модели уровня 7B (я гонял Qwen 3.5 7B) запускаются на потребительской видеокарте, а квантованные версии влезают даже туда, где памяти в обрез. Мощный сервер для старта не нужен.

Как дать модели свой контекст

Сама по себе локальная модель знает ровно то, что было в обучении. Твои таблицы, переписки, регламенты она увидит, только если ты их подложишь. Три рабочих способа, от простого к сложному:

  1. Прямо в промпт. Один документ на пару страниц — вставляешь текст в запрос. Дёшево, работает сразу, упирается в размер окна.
  2. RAG. Складываешь базу в векторное хранилище, на каждый вопрос достаёшь релевантные куски и подкладываешь их модели. Это то, что я собирал под RFMT: база живёт локально, модель дёргает из неё нужное.
  3. Агент с инструментами. Модель сама ходит по твоим источникам — файлам, локальной БД, скриптам. Такой стек я поднимал на Smolagents поверх Qwen: агент получает задачу, вызывает инструменты, собирает ответ из твоих данных.

Агент с инструментами достаёт данные из локальных источников

Для большинства бытовых задач хватает первого-второго пункта. Агент нужен, когда шагов много и модель должна сама решать, куда сходить.

Минимальный стек, который я бы советовал

  • Рантайм. Ollama или llama.cpp — поднимается в пару команд, сам тянет веса.
  • Модель. Что-то в районе 7B для старта. Крупнее — если железо позволяет и качество не устраивает.
  • Контекст. На старте — просто вставка в промпт. Когда документов станет много, добавляешь RAG.
  • Оркестрация. Smolagents, если дошёл до агентов. Для одиночных запросов она избыточна.

Такая связка ставится за вечер и уже отвечает на вопросы по твоим файлам.

Где локаль честно проигрывает облаку

Скажу прямо, чтобы потом не было разочарования. 7B-модель слабее топовых облачных: она чаще путается в длинных рассуждениях и хуже держит сложную логику. Скорость упирается в твою видеокарту. За качество уровня near-frontier придётся либо докупать железо, либо мириться с просадкой.

Поэтому я делю работу по типу данных: чувствительное и внутреннее остаётся на локальной модели, обезличенное и неважное спокойно уходит в облако к сильной. Это тот же принцип, к которому я пришёл в истории со скрапингом — граница проходит по слою данных, метод получения вторичен.

С чего начать сегодня

Возьми одну задачу, где данные жалко отдавать наружу. Подними Ollama, скачай 7B-модель, вставь нужный документ прямо в запрос. Если ответы устраивают и документов набирается много — прикручиваешь RAG. Дошёл до многошаговых сценариев — смотришь в сторону агентов. Каждый шаг проверяется руками за вечер, и на любом можно остановиться.

теги #локальный ии#llm#rag#приватность данных#ollama#агенты

один разговор — и поймём, чем я могу помочь.

В эпоху ИИ человеку нужен человек. Сяду рядом и доведу до результата — встреча длится столько, сколько нужно. Без скрипта продаж и пакетов «за 999 000 ₽». Если пойму, что помочь не смогу, — скажу сразу.