Нейросети и данные

RAG простыми словами: что это и как нейросеть отвечает по вашим документам

Коротко
  • RAG — схема, в которой нейросеть сначала находит фрагменты ваших документов, а потом отвечает только по ним и ссылается на источник.
  • Модель при этом не переобучают: обновили документ в базе — бот сразу отвечает по новой версии.
  • Качество ответов чаще упирается в документы и поиск, чем в саму модель.
  • Для подсчётов по всей базе и живых данных вроде остатков RAG не подходит: их берут из учётных систем через API.
  • Начинать стоит с одного сценария, контрольного набора вопросов и прототипа на реальных документах.

RAG (Retrieval-Augmented Generation, «генерация, дополненная поиском») — это схема, в которой нейросеть отвечает не по памяти, а по вашим документам. Сначала система находит в базе знаний фрагменты, которые относятся к вопросу, затем модель формулирует ответ только на их основе и показывает, откуда взяла сведения. Так ИИ подключают к регламентам, прайсам, инструкциям и договорам без дообучения модели.

RAG — что это, если без терминов

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

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

Вторая аналогия — библиотекарь и эксперт. Библиотекарь (поиск) за секунду приносит из тысяч документов пять страниц, которые относятся к вопросу. Эксперт (языковая модель) читает только эти страницы и отвечает своими словами. Если библиотекарь принёс не те страницы, эксперт ответит уверенно, но неправильно. Поэтому в RAG поиск важен не меньше, чем сама модель.

Как работает RAG: пять шагов

  1. Сбор документов. Берут регламенты, ответы на частые вопросы, прайсы, инструкции, шаблоны писем. Убирают дубли и устаревшие версии, сканы переводят в текст.
  2. Нарезка на фрагменты. Документ делят на смысловые куски: раздел, пункт, ответ на один вопрос. Модели не нужно каждый раз читать всю базу — ей нужны несколько подходящих фрагментов.
  3. Индексация. Для каждого фрагмента вычисляют смысловой отпечаток (эмбеддинг) — набор чисел, по которому можно найти близкие по смыслу тексты, даже если слова в них другие. Вопрос «сколько едет посылка» найдёт раздел «Сроки доставки». Отпечатки хранят в векторной базе, например в PostgreSQL с расширением pgvector или в Pinecone.
  4. Поиск. Когда пользователь задаёт вопрос, система находит самые подходящие фрагменты. Обычно смысловой поиск сочетают с поиском по словам: так надёжнее находятся артикулы, номера пунктов и названия.
  5. Ответ. Модель получает вопрос, найденные фрагменты и правила: отвечать только по ним, указывать источник, а если ответа во фрагментах нет — так и сказать. После этого она формулирует ответ.

Важная деталь: сама модель при этом не меняется. Она работает как новый сотрудник, которому выдали папку с документами. Обновили документ — следующий ответ уже будет по новой версии, без переобучения.

Условный пример. Клиент интернет-магазина пишет: «Можно вернуть кроссовки, если я один раз вышел в них на улицу?» Поиск находит в правилах магазина два фрагмента: общий порядок возврата и пункт о товаре со следами носки. Модель отвечает по этим пунктам своими словами и прикладывает ссылку на раздел «Возврат и обмен». Если подходящего пункта в базе нет, бот не придумывает правило, а передаёт вопрос оператору.

Где RAG полезен бизнесу

  • Поддержка клиентов. Интернет-магазин или сервисная компания отвечают на вопросы о доставке, возврате, гарантии и тарифах по актуальным условиям, а не по памяти оператора.
  • Помощник для сотрудников. Ответы по регламентам, кадровым вопросам, инструкциям к учётной системе. Как сделать такой ассистент безопасным, разбираем в статье про корпоративный ИИ-ассистент.
  • Продажи в оптовой торговле. Характеристики и совместимость товаров по каталогу, условия для разных категорий клиентов, подбор аналогов.
  • Производство и сервис. Поиск по техническим инструкциям, паспортам оборудования и картам обслуживания: инженер спрашивает про код ошибки и получает ответ со ссылкой на страницу руководства.
  • Юристы и закупки. Поиск похожих формулировок в договорах и шаблонах, сравнение условий с типовыми.

Во всех этих сценариях ответ можно проверить: рядом с ним стоит ссылка на документ и фрагмент, на который опиралась модель.

Чем RAG отличается от дообучения и промпта

Кроме RAG, нейросеть подстраивают под задачи компании ещё двумя способами. Промпт задаёт модели роль, правила и образцы ответа прямо в запросе. Дообучение меняет саму модель на ваших примерах: так закрепляют стиль и формат, но не актуальные факты.

Подробное сравнение с таблицей — в статье «Дообучение, RAG или промпт». Коротко: когда ответы должны опираться на ваши документы и ссылаться на них, начинают с RAG.

Из чего складывается качество ответов

Ошибки RAG-системы чаще всего возникают не в модели, а раньше — в документах и поиске.

ЗвеноЧто идёт не такЧто помогает
ДокументыУстаревшие версии, противоречия между файламиОдна актуальная версия и ответственный за каждый раздел
НарезкаОтвет разорван между фрагментами, таблица разрезана посерединеРезать по смыслу, сохранять заголовок раздела в каждом фрагменте
ПоискНаходит похожее, но не то; не находит артикулы и кодыСочетать смысловой поиск с поиском по словам, проверять на наборе вопросов
Инструкция моделиМодель дополняет ответ сведениями «от себя»Правило «только по фрагментам» и разрешённый ответ «не знаю»
Права доступаСотрудник получает фрагмент, который ему не положенФильтровать фрагменты по правам пользователя ещё на этапе поиска
КонтрольНикто не знает, как часто бот ошибаетсяКонтрольный набор вопросов и регулярный разбор журнала

Ещё один практический момент — где физически работают компоненты. Документы, векторная база и модель могут находиться в разных местах: например, база — на ваших серверах, а модель — в облаке, и тогда наружу уходят только вопрос и найденные фрагменты. Если в документах есть персональные данные или коммерческая тайна, модель тоже размещают в своём контуре или выбирают провайдера, который обрабатывает данные в России.

Отдельная тема — подготовка самой базы знаний: как структурировать документы и что делать со знаниями, которые есть только в головах сотрудников. Ей посвящена статья «Как подготовить базу знаний для ИИ-бота».

Когда RAG не подходит

RAG хорошо справляется с вопросами, ответ на которые лежит в нескольких фрагментах. У этой схемы есть понятные границы.

  • Подсчёты по всей базе. Вопрос «сколько у нас договоров с отсрочкой больше 30 дней» требует перебрать все договоры, а RAG находит лишь несколько подходящих фрагментов. Для таких задач нужен запрос к базе данных или учётной системе. Нейросеть может помочь его составить, но это другая архитектура.
  • Живые данные. Остатки на складе, статус заказа, задолженность клиента меняются каждую минуту. Их берут из 1С или CRM через API в момент вопроса, а не индексируют заранее.
  • Знания, которых нет в документах. Если правила работы существуют только в головах опытных сотрудников, искать будет нечего. Сначала их нужно записать.
  • Сложные сканы, схемы и чертежи. Плохо распознанный текст и многоуровневые таблицы требуют отдельной обработки до индексации, иначе поиск будет промахиваться.
  • Задачи на стиль и формат. Если модель должна писать в фирменном тоне или заполнять сложную форму, документы не помогут — нужен хороший промпт, а иногда дообучение.
  • Высокая цена ошибки. RAG заметно снижает число выдумок, но не до нуля. Там, где ошибка стоит денег или влечёт юридические последствия, ответ проверяет человек.

Как понять, что RAG работает

Проверять систему «на глаз», задав пять вопросов, недостаточно. Рабочий подход выглядит так.

  • Соберите 30–50 реальных вопросов из переписки с клиентами, обращений в поддержку, вопросов новичков. К каждому запишите правильный ответ и документ, где он находится.
  • Добавьте вопросы, на которые в базе заведомо нет ответа. Правильная реакция на них — «не знаю» и передача сотруднику, а не сочинённый ответ.
  • Для каждого вопроса проверьте два уровня: нашёл ли поиск нужный фрагмент и правильно ли модель по нему ответила. Так видно, где чинить — в поиске или в инструкции.
  • Повторяйте прогон после каждого изменения документов, нарезки или модели.
  • После запуска разбирайте журнал: какие вопросы остались без ответа, где пользователи поставили низкую оценку. Это готовый список того, что добавить в базу.

С чего начать

  1. Выберите один сценарий и одну аудиторию: например, ответы операторам поддержки по условиям доставки и возврата.
  2. Соберите документы для этого сценария и назначьте человека, который отвечает за их актуальность.
  3. Подготовьте контрольный набор вопросов с правильными ответами.
  4. Решите, где будут обрабатываться данные: в облаке провайдера или на ваших серверах. Это особенно важно, если в документах есть персональные данные или коммерческая тайна.
  5. Сделайте прототип на реальных документах. На одном сценарии это обычно занимает 1–2 недели, после чего по контрольному набору видно, стоит ли развивать систему.

Прототип, подключение к вашим системам и развёртывание RAG на ваших серверах входят в услугу интеграции нейросетей в бизнес-системы. На бесплатном аудите разберём ваш сценарий и посчитаем, окупится ли он.

Частые вопросы

Нужно ли загружать наши документы в саму нейросеть?
Нет. Документы хранятся в вашей базе, а модель получает только несколько найденных фрагментов на время ответа. Где будут стоять база и модель, решается отдельно — вплоть до серверов компании.
Сколько документов можно подключить к RAG?
Объём ограничен в основном хранилищем и качеством поиска, а не моделью: база из тысяч документов — обычная задача. Важнее, чтобы в ней не было устаревших версий и противоречий.
Как обновлять базу знаний после запуска?
Изменённый документ заново нарезают и индексируют, и это можно автоматизировать: забирать файлы из общей папки, вики или CRM по расписанию. Переобучать модель не нужно.
Работает ли RAG с российскими нейросетями?
Да, подход не зависит от конкретной модели: его используют с YandexGPT, GigaChat, зарубежными и open-source моделями. Качество поиска и ответов в любом случае проверяют на своих вопросах.
Чем RAG отличается от обычного поиска по базе знаний?
Поиск выдаёт список документов, которые нужно прочитать самому. RAG понимает вопрос по смыслу и сразу даёт ответ своими словами со ссылкой на фрагмент, из которого он взят.