RAG дома: подключаем свою базу знаний к локальной модели

29 мая 2026 г. · 7 мин чтения · Максим Космов

RAG дома: подключаем свою базу знаний к локальной модели
Содержание

RAG (Retrieval-Augmented Generation) - это способ дать языковой модели доступ к вашим документам. Модель не просто генерирует ответ из своей памяти - она сначала ищет нужный кусок в вашей базе, а потом отвечает на основе реальных данных.

Результат: AI-ассистент, который знает содержимое ваших PDF, заметок, инструкций, базы знаний. Никаких выдуманных фактов - только то, что вы ему загрузили.

Эта инструкция проведёт через установку Ollama (локальная языковая модель) и AnythingLLM (интерфейс с RAG) на Windows, Mac или Linux без облака и без платной подписки.

Что такое RAG и зачем он нужен

Обычная языковая модель знает только то, на чём её обучили - данные до определённой даты. Она не знает вашу внутреннюю документацию, ваши заметки или ваши корпоративные правила. Если попросить её ответить по конкретному документу, придётся каждый раз вставлять этот документ в чат.

RAG решает это элегантно. Все ваши документы заранее разбиваются на куски и превращаются в векторы (числовые представления смысла - об этом подробнее в гайде про эмбеддинги). Когда вы задаёте вопрос, система сначала ищет наиболее релевантные куски в вашей базе, добавляет их в промпт модели, и только потом модель генерирует ответ.

Схема работает так:

  1. Вопрос пользователя превращается в вектор
  2. Векторная база ищет ближайшие куски из документов
  3. Найденные куски + вопрос отправляются в языковую модель
  4. Модель отвечает на основе найденного контекста

Ключевой момент: модель видит реальный текст из ваших документов и отвечает по нему. Это сильно снижает галлюцинации.

Что устанавливаем

Ollama - инструмент для запуска языковых моделей локально. Работает на Windows, Mac (включая Apple Silicon), Linux. Поддерживает десятки моделей: Llama 3, Mistral, Gemma, Phi, Qwen и другие. Установка занимает 5 минут.

AnythingLLM - веб-приложение с красивым интерфейсом для работы с документами и RAG. Можно подключить к Ollama (локально, бесплатно) или к облачным API. Есть desktop-версия для Windows/Mac и Docker-версия для сервера.

Всё это бесплатно и с открытым кодом.

Шаг 1: установка Ollama

Перейдите на ollama.com и скачайте установщик для вашей операционной системы.

Для Windows: скачайте OllamaSetup.exe, запустите, установите. Ollama будет работать в фоне как системный сервис.

Для Mac: скачайте Ollama.dmg, перетащите в Applications. При запуске иконка появится в строке меню.

Для Linux: в терминале выполните:

curl -fsSL https://ollama.com/install.sh | sh

После установки откройте терминал и проверьте:

ollama --version

Должна вывестись версия.

Шаг 2: скачать языковую модель

Ollama скачивает модели по команде ollama pull имя_модели. Модели хранятся локально на вашем диске.

Выбор модели зависит от вашего железа:

Если у вас 8 GB оперативной памяти: используйте Llama 3.2 3B или Phi-3 mini. Небольшие модели, работают быстро.

ollama pull llama3.2:3b

Если 16 GB RAM: Llama 3.1 8B или Mistral 7B. Хороший баланс качества и скорости.

ollama pull llama3.1:8b

Если 32 GB RAM или хорошая видеокарта (8+ GB VRAM): Llama 3.1 70B (потребует 40+ GB), или Qwen 2.5 14B для баланса.

ollama pull qwen2.5:14b

Размер модели в гигабайтах примерно равен числу параметров (7B = ~4 GB, 14B = ~8 GB, 70B = ~40 GB). Скачивание занимает несколько минут в зависимости от скорости интернета.

После скачивания проверьте что модель работает:

ollama run llama3.1:8b

Откроется диалог в терминале. Напишите любой вопрос, получите ответ. Для выхода - /bye.

Шаг 3: установка AnythingLLM

Самый простой способ - desktop-версия.

Перейдите на anythingllm.com/desktop и скачайте версию для вашей ОС. Установите как обычную программу.

Альтернатива для тех у кого есть Docker:

docker run -d -p 3001:3001 -v ~/.anythingllm:/app/server/storage mintplexlabs/anythingllm

Потом откройте http://localhost:3001.

Шаг 4: подключение к Ollama

При первом запуске AnythingLLM предложит настройку. Выберите LLM-провайдер "Ollama". В поле URL укажите http://localhost:11434 (это стандартный адрес Ollama). В поле Model выберите модель которую скачали.

Для эмбеддингов (создания векторов документов) тоже выберите Ollama и укажите модель для эмбеддингов. Хорошо работает nomic-embed-text:

ollama pull nomic-embed-text

Нажмите "Save changes". Теперь AnythingLLM будет использовать вашу локальную модель. Никакие данные не покидают компьютер.

Шаг 5: создание воркспейса и загрузка документов

В AnythingLLM создайте workspace (рабочее пространство) - кнопка "New workspace". Дайте имя, например "База знаний".

В левой панели нажмите на иконку загрузки документов (стопка бумаг). Откроется файловый менеджер AnythingLLM.

Загружайте документы через кнопку "Upload file" или просто перетащите файлы в окно. Поддерживаются форматы: PDF, DOCX, TXT, MD (Markdown), HTML, CSV, JSON.

После загрузки выберите файлы и нажмите "Move to workspace". AnythingLLM начнёт обработку: разобьёт документы на куски и создаст векторы. Для документа на 50 страниц это занимает 1-3 минуты на средней машине.

Когда обработка завершится - документы появятся в воркспейсе с зелёной галочкой.

Шаг 6: первый разговор с базой знаний

Перейдите в чат воркспейса. Задайте вопрос по содержимому ваших документов.

AnythingLLM справа показывает "Citations" - какие именно куски документов были использованы для ответа. Это позволяет проверить источник и убедиться что ответ не выдуман.

Если ответ неточный:

  • Попробуйте переформулировать вопрос - добавьте больше конкретики
  • Зайдите в настройки воркспейса, увеличьте "Context window slots" - система будет брать больше кусков текста
  • Проверьте что документы действительно загружены (зелёная галочка в файловом менеджере)

Практические сценарии применения

Личная база знаний. Загрузите заметки из Obsidian или Notion, PDF-книги, сохранённые статьи. Задавайте вопросы по содержимому: «что было написано про управление проектами» или «какие книги рекомендовали по теме X».

Рабочая документация. Загрузите инструкции, регламенты, договорные шаблоны. Сотрудник задаёт вопрос - система ищет в документах и отвечает по ним. Не нужно помнить где что лежит.

Анализ больших документов. Загрузите годовой отчёт на 200 страниц и задавайте вопросы по конкретным показателям. Быстрее чем читать целиком.

Помощник по кодовой базе. Загрузите md-файлы с документацией проекта. Разработчики спрашивают как что работает - система отвечает по документам.

Ограничения

Размер базы. Чем больше документов, тем больше дискового пространства и тем медленнее обработка новых файлов. На обычном ноутбуке комфортно работать с базой до нескольких тысяч документов.

Качество зависит от модели. Небольшая модель (3B) делает ошибки чаще, может неверно интерпретировать сложные запросы. Для серьёзного использования нужна модель 7B и выше.

Контекстное окно. Если нужный ответ зашит в середину длинного документа, а кусок разбивки туда не попал - система не найдёт. Можно подстроить размер кусков (chunk size) в настройках.

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

Гибридный поиск: векторный плюс ключевые слова

Чисто векторный поиск хорошо находит семантически близкие куски, но иногда пропускает точные совпадения. Если пользователь пишет «статья 214 НК РФ», векторный поиск может найти «похожие по теме» тексты вместо точного попадания.

Гибридный поиск комбинирует два подхода: векторный (семантическое сходство) и BM25 (полнотекстовый поиск по ключевым словам). Результаты ранжируются по обоим методам и объединяются через взвешенную формулу.

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

AnythingLLM в актуальных версиях поддерживает гибридный поиск как опцию в настройках воркспейса. Qdrant и Weaviate как отдельные векторные базы тоже предоставляют гибридный поиск из коробки.

Тонкая настройка: как улучшить качество ответов

Если ответы расплывчаты или система не находит нужное - есть несколько ручек для настройки.

Размер чанка (chunk size). По умолчанию AnythingLLM разбивает документы на куски по 1000 символов. Для технической документации с короткими абзацами лучше уменьшить до 500. Для длинных нарративных текстов - увеличить до 1500. Это влияет на точность поиска.

Overlap (перекрытие). Смежные куски могут перекрываться на несколько предложений, чтобы информация на границах кусков не терялась. Значение 200-300 символов перекрытия обычно улучшает качество.

Топ-K результатов. Сколько кусков брать из базы для ответа. По умолчанию 4-6. Если ответы неполные - увеличить до 8-10. Если модель «путается» в большом контексте - уменьшить до 3.

Temperature. Для ответов по документам температуру лучше снизить до 0.1-0.3. Тогда модель меньше фантазирует и строго держится найденного в базе.

Пересоздать индекс. Если документ был обновлён или добавлен с ошибками - удалите его из воркспейса и загрузите заново. AnythingLLM пересоздаст векторы.

Итог: когда что использовать

RAG через AnythingLLM + Ollama подходит если:

  • есть собственные документы которые нужно сделать «интерактивными»
  • важна конфиденциальность (всё локально, без облака)
  • хочется не платить за облачный API
  • нужен быстрый старт без программирования

Не подходит если:

  • нужна максимальная точность ответов (лучше облачные модели GPT-4, Claude)
  • маломощное железо - минимум 8 GB RAM
  • большой объём данных требует серверного решения

Первые 30 минут уходят на установку. Потом - загрузка документов и первые вопросы. Большинство людей сразу видят ценность когда система находит нужный абзац в 200-страничном PDF за 3 секунды.

Разборы свежих AI-новостей - в канале AI Компас.

Больше гайдов - guides.kosmoslab.dev/guides.

Читайте дальше