Коротко: что такое RAG-система
RAG-система — это ИИ-ассистент, который перед ответом находит нужные фрагменты в документах компании и формулирует ответ только на их основе. Название расшифровывается как Retrieval Augmented Generation — «генерация, дополненная поиском». В результате ассистент отвечает по вашим регламентам, инструкциям и прайсам, а не по общим знаниям из интернета, и показывает, откуда взял информацию.
Почему обычный ChatGPT не отвечает по документам компании
Языковая модель (LLM, large language model) — это программа, обученная на большом массиве текстов. Она хорошо пишет и пересказывает, но у нее есть три ограничения, которые мешают использовать ее как справочную службу компании.
- Нет доступа к внутренним данным. Модель не видела ваш договор поставки, внутренний регламент отпусков или техническую документацию к продукту. Она о них просто не знает.
- Устаревшие знания. Модель обучена на данных до определенной даты. Новые цены, изменения в условиях и свежие версии инструкций в нее не попадают.
- Галлюцинации. Так называют ситуацию, когда модель уверенно выдает правдоподобный, но выдуманный ответ. Если спросить про сроки гарантии в вашей компании, она может назвать «типичные» сроки, которые к вам не имеют отношения.
Можно вставить документ прямо в чат, но это работает только с одним-двумя файлами. Когда документов сотни, их нельзя каждый раз передавать модели целиком. Нужен механизм, который сначала найдет нужное, а потом передаст модели только релевантные куски. Именно это и делает RAG.
А если дообучить модель на своих документах?
Дообучение (fine-tuning) — это дополнительная тренировка модели на ваших данных. Звучит логично, но для справочных задач оно подходит плохо:
- после каждого изменения в документах модель нужно переобучать заново;
- модель запоминает стиль и общие закономерности, а не точные факты, поэтому галлюцинации никуда не деваются;
- нельзя показать, из какого документа взят ответ;
- нельзя ограничить доступ: все, что попало в обучение, потенциально доступно любому пользователю.
RAG устроен иначе: документы остаются отдельно от модели. Обновили файл — система переиндексировала его, и следующий ответ уже учитывает изменения. Поэтому для ответов по внутренним документам обычно выбирают RAG, а дообучение оставляют для задач, где важен стиль или узкая терминология.
Как работает RAG-система
Работу системы retrieval augmented generation удобно разделить на два этапа: подготовку базы знаний (выполняется один раз при загрузке документов) и ответ на вопрос (выполняется при каждом запросе).
Подготовка документов
- Извлечение текста. Система читает файлы: PDF, Word, презентации, таблицы. Для сканов и изображений применяется распознавание текста.
- Разбиение на фрагменты. Длинный документ делится на небольшие смысловые куски — абзацы или разделы. Модели проще работать с фрагментом на полстраницы, чем со стостраничным файлом.
- Построение эмбеддингов. Эмбеддинг — это набор чисел, который описывает смысл фрагмента. Тексты с близким смыслом получают близкие наборы чисел, даже если в них разные слова. Например, «как оформить возврат» и «порядок возврата товара» окажутся рядом.
- Сохранение в векторную базу. Векторная база данных хранит эмбеддинги и умеет быстро находить фрагменты, близкие по смыслу к заданному запросу.
Ответ на вопрос
- Поиск по смыслу. Вопрос пользователя тоже превращается в эмбеддинг, и система ищет в базе самые близкие фрагменты.
- Сборка контекста. Найденные фрагменты вместе с вопросом передаются языковой модели с инструкцией: отвечай только на основе этих материалов.
- Генерация ответа со ссылками. Модель формулирует ответ, а система прикладывает ссылки на фрагменты-источники. Пользователь может открыть их и проверить.
Главное отличие от обычного чат-бота: модель не вспоминает ответ, а пересказывает найденное. Если в документах ничего подходящего нет, правильно настроенная система так и скажет.
Архитектура RAG-системы
Если разложить архитектуру RAG-системы на части, получится пять основных компонентов.
| Компонент | Что делает |
|---|---|
| Хранилище документов | Хранит исходные файлы и извлеченный из них текст |
| Модель эмбеддингов | Превращает фрагменты и вопросы в числовые векторы |
| Векторная база данных | Ищет фрагменты, близкие по смыслу к вопросу |
| Языковая модель (LLM) | Формулирует ответ по найденным фрагментам |
| Слой прав доступа | Определяет, какие документы может видеть конкретный пользователь |
На практике качество ответов зависит в первую очередь от поискового слоя, а не от того, насколько «умная» языковая модель. Если поиск не нашел нужный фрагмент, модель не сможет ответить правильно, как бы хорошо она ни писала. Поэтому основная инженерная работа при разработке RAG-систем уходит на извлечение текста, разбиение на фрагменты и настройку поиска.
Отдельно стоит сказать про права доступа. Их нужно проверять на этапе поиска — до того, как фрагменты попадут в модель. Если фильтровать уже готовый ответ, информация из закрытого документа может просочиться в пересказ.
Агентный RAG: когда одного поиска мало
Классическая схема делает один поиск и сразу отвечает. Для простых вопросов этого достаточно. Но бывают ситуации, когда ответ разбросан по разным местам:
- вопрос составной: «чем отличаются условия доставки для юрлиц и физлиц»;
- найденный фрагмент обрывается на середине, а продолжение лежит в соседнем куске;
- нужно понять структуру документа, чтобы найти правильный раздел.
Агентный RAG решает это так: ассистент сам планирует поиск. Он может сделать несколько поисковых запросов подряд, уточняя формулировку, подтянуть соседние фрагменты вокруг найденного места, посмотреть оглавление документа и перейти к нужному разделу. Ответ получается полнее, особенно на длинных регламентах и технической документации.
Пример. Сотрудник спрашивает: «Какие документы нужны для командировки за границу и кто их согласует?» Одиночный поиск, скорее всего, найдет только перечень документов. Агентный ассистент сначала найдет этот перечень, затем отдельным запросом поищет порядок согласования, заметит, что таблица согласующих продолжается в следующем фрагменте, и подтянет его. В итоге пользователь получит один связный ответ с несколькими ссылками на разные разделы регламента.
У этого подхода есть цена: каждый шаг — это дополнительное обращение к модели. Поэтому число шагов в агентной RAG-системе ИИ должно быть ограничено. Иначе на сложном вопросе ассистент может долго «искать», и стоимость одного ответа станет непредсказуемой.
Где применяют RAG-системы
RAG полезен везде, где люди регулярно задают вопросы, ответы на которые уже записаны в документах.
- Поддержка клиентов на сайте. Ассистент отвечает посетителям про условия, тарифы, сроки и характеристики товаров по актуальным материалам компании. Подробнее о таком сценарии — в статье про AI-консультант для сайта.
- Внутренняя база знаний и онбординг. Новый сотрудник спрашивает, как оформить командировку или где взять шаблон договора, и получает ответ со ссылкой на регламент, а не отвлекает коллег.
- Документация для разработчиков. Тимлиды и инженеры быстрее находят нужное в описаниях API, архитектурных решениях и инструкциях по развертыванию.
- Рабочие чаты. Бот в групповом чате отвечает на повторяющиеся вопросы и помогает не терять договоренности, которые обычно тонут в переписке.
Общий признак у всех сценариев: ответы уже где-то записаны, но найти их долго, а спрашивать приходится у живого человека. RAG-система снимает с сотрудников повторяющиеся вопросы и оставляет им случаи, где действительно нужно решение или экспертиза. Начинать удобно с одного сценария и одного набора документов — так проще оценить качество ответов и понять, какие материалы стоит дописать.
Готовая RAG-система или разработка своей
Создание RAG-системы с нуля выглядит простым по туториалам: подключить библиотеку, загрузить пару файлов, получить первые ответы. Сложности начинаются позже — со сканами, таблицами, правами доступа, качеством поиска и поддержкой. Сравним два пути.
| Критерий | Готовая RAG-система | Разработка своей |
|---|---|---|
| Сроки запуска | Часы или дни | Недели или месяцы |
| Стоимость старта | Низкая, оплата за использование | Зарплата команды или бюджет подрядчика |
| Поддержка | На стороне поставщика | Своя команда: обновления, ошибки, мониторинг |
| Контроль и гибкость | В рамках возможностей продукта | Полный, под любые требования |
| Риски | Зависимость от поставщика | Качество поиска нужно доводить самостоятельно |
Своя разработка RAG-систем оправдана, если у вас нестандартные источники данных, особые требования к логике ответов или RAG — часть вашего собственного продукта. В остальных случаях готовые RAG-системы позволяют проверить гипотезу быстро и без больших вложений.
Если документы не должны покидать периметр компании, рассмотрите локальную RAG-систему — установку на собственные серверы (on-premise). Часть готовых решений предлагает такой вариант, и это часто быстрее, чем собирать все самостоятельно.
Как сделать RAG-систему своими силами: что учесть
Если вы все же решили строить сами, заложите время на:
- извлечение текста из всех нужных форматов, включая сканы;
- подбор размера фрагментов и стратегии поиска под ваши документы;
- проверку прав доступа до передачи данных в модель;
- набор тестовых вопросов, чтобы измерять качество после каждого изменения;
- интерфейсы: виджет, бот, админку для загрузки документов.
На что смотреть при выборе RAG-системы
Независимо от того, покупаете вы решение или заказываете разработку, проверьте следующие пункты.
- Ссылки на источники. Каждый ответ должен ссылаться на конкретные фрагменты документов. Без этого ответ нельзя проверить.
- Права доступа на этапе поиска. Уточните, где именно проверяются права: до передачи фрагментов в модель или после.
- Форматы документов. Поддерживаются ли PDF, в том числе сканы, Word, презентации, таблицы, изображения.
- Импорт с сайта. Удобно, когда базу знаний можно наполнить, просто указав адрес сайта, а не выгружая страницы вручную.
- Каналы. Где будет работать ассистент: виджет на сайте, Telegram, внутренний интерфейс.
- Прозрачная стоимость. Понятно ли, сколько стоит каждый запрос, и нет ли обязательной подписки, которая не окупится при небольшом объеме.
- Честное «не знаю». Задайте вопрос, ответа на который точно нет в документах. Хорошая система признает это, а не придумает ответ.
Pragmaticus — готовая RAG-система для бизнеса
Pragmaticus — продукт компании Alt.Point, которая занимается заказной разработкой с 2011 года. Это готовая RAG-система, которую можно подключить без собственной команды разработки.
Что она умеет:
- Отвечает по документам компании со ссылками на конкретные фрагменты-источники. Если информации нет, говорит об этом прямо.
- Использует агентный поиск: делает несколько поисковых запросов подряд, подтягивает соседние фрагменты, читает оглавление документа. Число шагов ограничено.
- Работает с форматами PDF (включая сканы), DOCX, PPTX, XLSX, Markdown, TXT и изображениями.
- Импортирует контент с сайта: вы указываете адрес, система сканирует страницы и файлы, а отмеченные вами становятся документами базы знаний.
- Встраивается на сайт чат-виджетом одной строкой кода. Посетителям не нужна регистрация.
- Работает в Telegram: ваш бот отвечает в группах по базе знаний и по команде «запомни» сохраняет переписку в базу. Бот Discussion Keeper оформляет протоколы обсуждений: решения, задачи с ответственными, открытые вопросы.
- Учитывает права доступа: роли и уровни доступа для проектов и документов. Права проверяются на этапе поиска, до передачи фрагментов в языковую модель.
- Оплата по факту в рублях, без подписки. Стоимость каждого запроса видна. При регистрации на баланс начисляется 300 ₽ — этого достаточно, чтобы загрузить свои документы и проверить качество ответов.
- Установка на серверах заказчика (on-premise) — по запросу, если нужна локальная RAG-система.
С чего начать
- Зарегистрируйтесь и создайте проект.
- Загрузите 10–20 ключевых документов или импортируйте страницы своего сайта.
- Задайте вопросы, которые вам чаще всего задают клиенты или сотрудники, и проверьте ссылки на источники.
- Спросите то, чего в документах точно нет, и убедитесь, что ассистент честно об этом сообщает.
- Если результат устраивает, подключите виджет на сайт или бота в Telegram.
Лучший способ понять, подходит ли RAG-система вашей компании, — проверить ее на своих реальных документах и вопросах.