RAG-бот на основе базы данных
Что такое RAG простыми словами
Представьте, что вы сдаёте экзамен. Есть два варианта: отвечать только по памяти — или открыть шпаргалку с конкретными фактами прямо перед ответом. Первый вариант ненадёжен: можно перепутать или додумать. Второй — точный: отвечаешь строго по тому, что написано.
Канал с гайдами и контентом по claude code, выкладываем новости (когда режут лимиты в 10 раз) и какие инструменты через claude реализуем для проектов, канал: https://t.me/claudedevolper
Именно так работает RAG (Retrieval-Augmented Generation) — технология, которая добавляет языковой модели «шпаргалку» из ваших документов.
Суть в двух предложениях
Перед тем как ответить, RAG-система находит самые релевантные фрагменты из вашей базы знаний. Потом ИИ формулирует ответ на основе этих фрагментов — а не выдумывает из головы.
Это решает главную проблему ИИ-ботов — галлюцинации. Обычная языковая модель не знает, что творится у вас в компании: какие у вас цены, какие условия договора, какие регламенты. Она начинает фантазировать. RAG-бот этого не делает: если информации в базе нет — он честно скажет «не нашёл», вместо того чтобы сочинить что-то похожее на правду.
Термин появился в 2020 году в исследовании Facebook AI (Meta). Сегодня RAG — промышленный стандарт для любого бота, который должен работать с корпоративными знаниями: документами, регламентами, прайсами, базами клиентов.
Как работает RAG-бот изнутри
Процесс делится на два этапа: индексация (подготовка базы) и поиск + генерация (когда пользователь задаёт вопрос).
Этап 1: Индексация документов
Когда вы загружаете документ в RAG-систему, происходит следующее:
- Нарезка на фрагменты (чанкинг) — документ режется на небольшие куски по 200–500 токенов. Слишком большой чанк плохо ищется, слишком маленький — теряет контекст.
- Векторизация (embedding) — каждый фрагмент превращается в числовой вектор с помощью модели embeddings. Похожие по смыслу тексты получают похожие векторы.
- Хранение в векторной базе — векторы сохраняются (PostgreSQL + pgvector, Pinecone, Weaviate и т.д.) вместе с исходным текстом.
Этап 2: Поиск и ответ
Когда пользователь задаёт вопрос:
- Вопрос тоже векторизируется — превращается в числовой вектор той же моделью.
- Векторный поиск — система находит N самых «близких» фрагментов по математическому сходству векторов.
- Формирование контекста — найденные фрагменты вставляются в промпт к LLM вместе с вопросом.
- Генерация ответа — языковая модель формулирует ответ, опираясь на переданный контекст.
Продвинутый режим: RAG + SQL
Для таблиц и баз данных векторный поиск работает плохо. Умные RAG-агенты умеют сами выбирать: если вопрос про «найди все дома до 5 млн с тремя комнатами» — используется SQL-запрос. Если вопрос смысловой («расскажи про преимущества этого объекта») — векторный поиск. Такой подход показан в туториале ниже.
Где применяют RAG-ботов
RAG-боты используются везде, где нужно отвечать на вопросы по конкретным данным, а не в общем.
🏢 Корпоративная база знаний
HR-бот, который отвечает по регламентам и политикам компании. Сотрудник спрашивает «сколько дней отпуска?» — бот находит нужный абзац в PDF и отвечает точно, не по памяти.
🛒 Поддержка клиентов
Бот знает все ваши товары, условия доставки и возврата. Ищет ответ в базе товаров и FAQ, а не выдумывает. Снижает нагрузку на операторов на 60–80%.
🏠 Недвижимость
Загружаете каталог объектов в CSV — и бот умеет искать по параметрам: «двухэтажные дома с видом на реку до 20 млн». Комбинирует векторный поиск с SQL-фильтрацией.
⚖️ Юридические документы
Анализ договоров и регламентов. Юрист загружает договор и задаёт вопросы: «есть ли пункт про форс-мажор?», «какой срок расторжения?». Бот находит нужные места мгновенно.
📚 Обучение и онбординг
Новый сотрудник задаёт вопросы по внутренним инструкциям — бот отвечает по актуальным документам компании, а не по устаревшим скриптам, вшитым три года назад.
💊 Медицина и страхование
Поиск по нормативным актам, справочникам препаратов, условиям страховых полисов. RAG гарантирует точность там, где галлюцинация может причинить реальный вред.
RAG-бот vs обычный чат-бот
Когда RAG не нужен
Если ваш бот ведёт простые диалоги по скриптам («выбери тему» → «вот ответ»), RAG избыточен. Он нужен тогда, когда вопросы непредсказуемы и ответы должны браться из конкретных источников.
Видео: RAG-агент за 0 рублей на n8n и Л.И.С.А.
Я записал пошаговый туториал — полный цикл от нуля до работающего RAG-агента. Показываю как загрузить текстовый документ и CSV-таблицу, настроить векторный поиск и SQL-запросы, и задавать боту вопросы в чате.
Стек полностью self-hosted и бесплатный: n8n как оркестратор, PostgreSQL + pgvector как векторная база, Ollama для локальных embeddings, OpenRouter для подключения любой LLM.
Канал с гайдами и контентом по claude code, выкладываем новости (когда режут лимиты в 10 раз) и какие инструменты через claude реализуем для проектов, канал: https://t.me/claudedevolper