Разбор

Что такое RAG-система и как проверить её точность

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

Коротко. RAG (retrieval-augmented generation) — это поиск по вашим документам плюс языковая модель: на вопрос система находит нужные фрагменты, передаёт их модели вместе с вопросом, и модель отвечает по ним со ссылкой на источник. Модель при этом не переобучают — документы можно менять каждый день. Качество RAG-системы видно не по демонстрации, а по замеру на наборе настоящих вопросов с заранее согласованными ответами. На платформе, которую мы делали для логистической компании, такой набор — около 2 000 документов, точность извлечения — 99,2 % по полям, а ответ в среднем стоит около $0,011 и приходит за 1,9 секунды.

Что такое RAG простыми словами

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

RAG решает это без переобучения. Расшифровка — retrieval-augmented generation, «генерация, дополненная поиском». На каждый вопрос система сначала ищет в ваших документах подходящие фрагменты, а потом передаёт их модели вместе с вопросом: «ответь по этим текстам». Модель пишет ответ по найденному, а система показывает, из какого документа и пункта он взят.

Отсюда главное свойство RAG: ответ можно проверить. Сотрудник открывает источник и читает пункт сам, а не верит модели на слово. Поэтому RAG — основа почти любой базы знаний с ИИ.

Из чего состоит RAG-система

«Поиск плюс модель» звучит как два компонента. На деле работающая система — это конвейер, и большая часть работы приходится не на модель.

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

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.

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

Это поиск по вашим документам плюс языковая модель. На вопрос система находит подходящие фрагменты документов, передаёт их модели вместе с вопросом, и модель отвечает по ним со ссылкой на источник. Модель не переобучают, поэтому документы можно обновлять хоть каждый день.
RAG меняет то, что модель знает в момент ответа, а дообучение — то, как она отвечает: формат, тон, классификацию. В RAG новые документы попадают в ответы после переиндексации, видно, откуда взят ответ, и права доступа проверяются на каждом запросе. Дообученная модель устаревает с первой новой редакцией документов.
На наборе настоящих вопросов или документов, правильные ответы на которые заранее согласовали люди. Поиск и ответ меряют отдельно, единицу точности называют явно — по полям или по документам, — а набор прогоняют при каждом изменении и не выпускают версию, если цифра упала. На логистической платформе набор — около 2 000 документов, точность — 99,2 % по полям.
У нас RAG-система на ваших серверах по одному набору документов стоит от 14 700 BYN за работы, 4–6 недель, фиксированно; с несколькими источниками и правами доступа — от 29 300 BYN. Серверы — отдельно. Если модель работает через внешний API, к этому добавляется плата за вызовы: на замеренной нами системе — около $0,011 за ответ.

Что почитать дальше