Что такое RAG и как нейросеть отвечает по базе знаний?

RAG – это схема, в которой языковая модель перед ответом получает подходящие фрагменты из внешней базы. Название расшифровывается как генерация, дополненная поиском. Система не обязана хранить все сведения в весах: она находит документы, помещает выдержки в контекст и формулирует ответ на их основе.

Как готовится база

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

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

Что происходит после вопроса

Запрос тоже превращается в числовое представление. Поиск выбирает фрагменты, близкие по смыслу, иногда сочетая семантическое сравнение с обычным поиском по словам. Дополнительный ранжировщик может изменить порядок результатов.

Затем вопрос и найденный текст передают языковой модели с инструкцией опираться на источники. Модель составляет связный ответ. Некоторые системы показывают ссылки на использованные документы, что облегчает проверку.

Чем RAG полезен

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

RAG не меняет базовые способности модели. Он снабжает её материалом в момент запроса. Это отличается от дообучения, которое меняет параметры и прежде всего полезно для поведения, стиля или устойчивого навыка.

Почему ответы всё равно ошибаются

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

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

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

Как система находит нужный фрагмент

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

Размер частей влияет на результат. Слишком короткий фрагмент теряет контекст, слишком длинный занимает окно и смешивает темы. Заголовки, номера страниц и сведения о документе сохраняют вместе с текстом, чтобы можно было показать источник.

Почему RAG всё равно ошибается

Поиск может не найти нужную формулировку, особенно если вопрос использует другие термины. Модель способна неверно соединить два фрагмента или добавить сведения из общих знаний. Наличие базы не превращает каждый ответ в цитату.

Надёжный интерфейс показывает документ и место, откуда взят вывод. Пользователь должен открыть соседние абзацы. Как объём материалов влияет на модель, объясняет статья о контексте нейросети.

Как обновляют базу

При изменении инструкции старый фрагмент нужно удалить из индекса, иначе поиск продолжит находить две версии. Документам назначают дату действия, владельца и права доступа. Индексация не должна обходить запрет на чтение исходного файла.

Проверку строят из настоящих вопросов сотрудников, включая случаи, когда ответа в базе нет. Правильная реакция тогда – сообщить о недостатке сведений, а не сочинить правдоподобное правило.

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

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

Эти способы можно сочетать, но они решают разные задачи. Если проблема заключается в устаревшей инструкции, обычно полезнее исправить источник и поиск, чем пытаться «запомнить» новую версию в весах.

Как оценивают готовую систему

Тест должен проверять поиск и ответ по отдельности. Сначала смотрят, попал ли нужный фрагмент в подборку. Затем оценивают, верно ли модель его пересказала и не добавила лишнее. Общая оценка без этого разделения не показывает, что именно исправлять.

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

Также измеряют качество ссылок: они должны вести именно к использованной версии документа, а не только на главную страницу хранилища.

Неверную ссылку считают ошибкой ответа.