Что такое RAG простыми словами
Языковая модель знает то, на чём её обучили, — и не знает ваших регламентов, договоров и цен. Спросите её о пункте вашего положения, и она либо откажется, либо уверенно придумает ответ.
RAG решает это без переобучения. Расшифровка — retrieval-augmented generation, «генерация, дополненная поиском». На каждый вопрос система сначала ищет в ваших документах подходящие фрагменты, а потом передаёт их модели вместе с вопросом: «ответь по этим текстам». Модель пишет ответ по найденному, а система показывает, из какого документа и пункта он взят.
Отсюда главное свойство RAG: ответ можно проверить. Сотрудник открывает источник и читает пункт сам, а не верит модели на слово. Поэтому RAG — основа почти любой базы знаний с ИИ.
Из чего состоит RAG-система
«Поиск плюс модель» звучит как два компонента. На деле работающая система — это конвейер, и большая часть работы приходится не на модель.
- Приём документов. PDF, сканы, выгрузки из учётных систем, вложения из почты. Сканы распознают, а всё приводят к одному виду. На логистической платформе документы шли из 14 источников на 5 языках, и без этого шага поиск искал бы по мусору.
- Индекс. Документы режут на фрагменты и строят по ним поиск. Когда документы меняются, индекс обновляют: там база примерно из 2 500 документов и 15 000 страниц переиндексировалась каждый день.
- Поиск. На вопрос система находит несколько самых подходящих фрагментов. Если нужного фрагмента среди них нет, модель не сможет ответить правильно, как бы хороша она ни была.
- Генерация. Модель получает вопрос и найденные фрагменты и пишет ответ по ним, с указанием источника.
- Проверка человеком. Там, где ошибка дорога, ответ или извлечённое значение идёт человеку. На логистической платформе каждое значение получало оценку уверенности, и неуверенные уходили аналитику с подсветкой места в источнике.
Права доступа тоже живут в поиске. Если проверять их на каждом запросе, сотрудник не получит ответ из документа, который ему не положено видеть.
RAG или дообучение модели
Частый вопрос — не проще ли «обучить нейросеть на документах компании». Это разные инструменты для разных задач.
| RAG | Дообучение | |
|---|---|---|
| Что меняет | что модель знает в момент ответа | как модель отвечает: формат, тон, классификацию |
| Новые документы | попадают в ответы после переиндексации | требуют нового обучения |
| Откуда ответ | видно: ссылка на документ и пункт | не видно |
| Права доступа | проверяются на каждом запросе | всё выученное доступно всем, кто обращается к модели |
На логистической платформе база менялась каждый день, поэтому там поиск, а не дообученная модель: дообучение на такой базе устарело бы к утру после окончания. Дообучение окупается, когда нужен устойчивый формат ответа или классификация, которых не получается добиться инструкциями.
Как проверить точность RAG до запуска
Демонстрацию обычно собирают на документах, на которых система выглядит хорошо: чистые PDF, один язык, вопросы, ответы на которые автор уже знает. В работе приходит всё остальное. Поэтому точность меряют не на демо, а на наборе настоящих документов.
Набор проверочных вопросов
Это вопросы или документы, правильный ответ на которые заранее согласовали люди. На логистической платформе такой набор — около 2 000 документов на всех языках и типах документов, и он был готов с первой недели, до того как система заработала. Размечали его наши инженеры вместе с аналитиками клиента: инженеры знают, что видит конвейер, аналитики — что считать правильным для бизнеса.
Три правила для любого такого набора:
- Разнообразие важнее объёма. В наборе должен быть каждый источник, язык и тип документа, с которым система встретится. Тысяча чистых счетов одного поставщика измеряет одного поставщика.
- Случайная выборка, а не отбор. Документы берут из реального потока, вместе со сканами, обрывками и странными форматами.
- Набор замораживают. Если он меняется между двумя прогонами, нельзя понять, что сдвинулось — система или тест. Новые случаи добавляют отдельной версией.
Что именно мерить
У неверного ответа RAG-системы две возможные причины: поиск не нашёл нужный фрагмент, или модель ошиблась с тем, что ей дали. Общая оценка прячет, какая из двух, поэтому слои меряют по отдельности. Это общая практика, а не цифры конкретного проекта:
| Слой | Вопрос | Чем мерят |
|---|---|---|
| Поиск | был ли нужный источник среди найденных фрагментов? | доля вопросов, где нужный фрагмент найден |
| Опора на источник | подтверждено ли каждое утверждение ответа найденным текстом? | проверка ответа по фрагментам |
| Ответ | совпадает ли ответ с тем, что люди согласовали как правильный? | точность по разметке |
| Извлечение | верно ли каждое значение, которое ушло в учётную систему? | точность по полям |
| Работа | достаточно ли быстро и дёшево при настоящем объёме? | среднее время и 95-й процентиль, цена ответа |
По полям или по документам
99,2 % на логистической платформе — точность по полям: каждое извлечённое значение считается отдельно. Это не то же самое, что «документы без единой ошибки». Арифметика, а не замер проекта: если в документе 20 полей и ошибки независимы, при 99,2 % по полю без единой ошибки окажется около 85 % документов. На деле ошибки кучкуются — один плохой скан ломает сразу несколько полей, — поэтому доля по документам обычно выше. Но подрядчик, который называет «точность 99 %» без единицы измерения, сказал немного.
Порог уверенности и человек
Ни одна система не права всегда, поэтому полезный вопрос — какие ответы должен видеть человек. На логистической платформе значения ниже порога уверенности уходили аналитику, и после всех доработок это около 4 % полей. Так ручной обработки стало меньше на 87 %, а контроль человека остался. Где ставить порог — решение бизнеса: ниже порог — больше работы людям, выше — больше ошибок проходит незамеченными. Набор проверочных вопросов позволяет посчитать этот выбор, а не угадать.
Замер на каждом изменении
Набор прогоняли при каждом изменении промптов, моделей и конвейера, и падение ниже порога останавливало выпуск новой версии. Так замер превращается из отчёта, который кто-то читает, в проверку, которую выпуск обязан пройти. Новая модель — тоже изменение: она не обязательно лучше на ваших документах, и замер — способ узнать это раньше сотрудников.
Чего замер не говорит: это не сравнение с людьми. Ручной процесс до замены никто не измерял, поэтому мы не утверждаем, что система точнее людей, которых она разгрузила. И замер стареет: новые поставщики и форматы документов требуют новых размеченных примеров.
Скорость и цена ответа
На логистической платформе полный ответ приходит в среднем за 1,9 с: около 0,3 с занимает поиск, около 1,5 с — генерация. У 95 % ответов — не больше 4,2 с. Время мерили до последнего слова ответа, а не до первого.
Один ответ стоит около $0,011 при объёме около 40 000 вопросов в месяц. Арифметика, а не счёт проекта: 40 000 вопросов по $0,011 — около $440 в месяц за модель. Большую часть счёта составляют найденные фрагменты, которые уходят в модель вместе с вопросом, поэтому самый прямой способ удешевить ответ — передавать меньше лишнего текста.
Если модель работает на ваших серверах, счёта за вызовы нет, зато есть железо: его размер зависит от модели и числа одновременных пользователей. Подробно — в разборе «Локальная нейросеть для компании».
Когда RAG не нужен
- Документы можно хранить в облаке. Готовые базы знаний с ИИ-поиском продаются по подписке, и это проще, чем своя система.
- Нужен формат, а не знания. Если модель знает всё нужное, но отвечает не в том виде, это задача для инструкций или дообучения, а не для поиска.
- Никто не может сказать, какой ответ правильный. Тогда сначала договариваются о правильных ответах — без этого нечего мерить.
Сколько стоит RAG-система у нас
Наш пакет «ИИ в закрытом контуре» — это RAG-система на ваших серверах: открытая модель, ответы по одному набору документов со ссылкой на источник, веб-чат или Telegram и замер точности на ваших вопросах до сдачи. Работы — от 14 700 BYN, 4–6 недель, цена фиксированная. С несколькими источниками и правами доступа — от 29 300 BYN. Серверы и видеокарты — отдельно.
Состав и цена — на странице «База знаний с ИИ», весь кейс с цифрами — «ИИ-платформа для логистической компании». Подробный разбор оценки на английском — RAG Evaluation.