RAG и генерация с дополнением извлечением
Статья также доступна на украинском (перейти к просмотру).
Мировой опыт подготовки и внедрения систем искусственного интеллекта (ИИ) показал, что наиболее «узким» местом этого процесса является этап обучения языковых моделей LLM (Large Language Model), который забирает львиную долю ресурсов и определяет эффективность дальнейшего использования системы. Внедрение технологии RAG (Retrieval-Augmented Generation) сглаживает недостатки классических схем подготовки LLM и позволяет получить более точную и надежную схему формирования ответов ИИ-систем на запросы пользователей. Рассмотрим концепцию использования RAG и его взаимодействие с системами ИИ.
Недостатки использования классических схем LLM
Качество работы диалоговых систем ИИ определяется уровнем подготовки их основного элемента — языковой модели или LLM. Под уровнем подготовки здесь понимается запас или уровень знаний, которым «обладает» модель. Именно на его основе формируются ответы на запросы пользователей. Пополнение этого запаса осуществляется путем постепенного обучения модели с использованием различных методик, что может занять несколько месяцев. Это, в свою очередь, означает, что своевременное обновление знаний модели может стать проблемой из-за чрезмерно больших временных затрат. Система ИИ становится инерционной, и ее ответы могут не соответствовать критериям надежности и безошибочности.
Основные недостатки классических схем LLM:
-
Предоставление пользователю устаревшей информации без учета текущего положения дел;
-
Ответы с использованием ненадежных источников данных;
-
Формирование неточных ответов из-за использования устаревшей или неверной терминологии.
Для исправления этих проблем необходимо сделать модель более динамичной и адаптированной к работе с различными типами внешних источников данных.
Что такое генерация с дополненной выборкой и ее преимущества
Внедрение подхода на основе RAG позволяет решить большинство указанных проблем использования классической схемы LLM. Механизм генерации с дополненной выборкой направляет LLM к заранее определенным надежным источникам знаний и обеспечивает коррекцию предоставляемых данных с помощью подсказок.
Преимущества использования RAG:
-
Актуальность предоставляемой информации;
-
Экономичный подход к введению новых знаний в LLM;
-
Повышение доверия пользователей к получаемым данным;
-
Больше возможностей для разработчиков — адаптация LLM, тестирование и др.
RAG расширяет базу знаний LLM практически до бесконечности, предоставляя быстрый доступ к актуальной информации без необходимости переобучения модели.
Как работает модуль RAG
С определенным приближением модуль RAG можно сравнить с усовершенствованной поисковой системой, ориентированной на работу с базами данных. Подготовка к его практическому использованию также во многом схожа.
Сначала выполняется подготовка внешних источников информации путем их индексации. Текстовые данные выбираются, очищаются и сегментируются на отдельные информационные блоки или чанки. Каждый такой блок преобразуется в векторное представление, индексируется и сохраняется в векторной базе данных для организации быстрого поиска по сходству.
Схема работы всей системы ИИ, построенной на основе RAG, представлена на Рисунке 1.

Рисунок 1. Схема работы диалоговой системы ИИ с внедрением модуля RAG.
Схема взаимодействия системы ИИ с пользователем происходит следующим образом:
-
Активация. Формируется входной контекст (Prompt), объединенный с запросом пользователя (Query), которые передаются в LLM.
-
Релевантный поиск. Система отправляет запрос в поисковый блок RAG для получения релевантной информации.
-
Релевантная информация + подсказка. На основе результатов из внешних источников знаний модуль передает релевантный ответ и уточняющую подсказку для LLM.
-
Запрос к Центру принятия решений. Система отправляет все данные (Prompt + Query + расширенный контекст от RAG) на EndPoint LLM для принятия окончательного решения.
-
Готовый ответ. EndPoint LLM генерирует окончательный ответ, который выводится пользователю.
Мы рассмотрели лишь один из базовых подходов, используемых в RAG. На практике методы обработки запросов и механизмы генерации ответов могут различаться в зависимости от сложности ИИ-системы. Например, в некоторых случаях модуль может выполнять функции тонкой настройки или обучения LLM, заменяя собой целый комплекс средств, предусмотренных для подготовки классических LLM.
Практическое использование RAG для ИИ-систем
При эксплуатации ИИ-систем на базе RAG следует учитывать ряд аспектов. В частности, это касается поддержания актуальности внешних источников данных. Например, можно применять периодическое асинхронное обновление документов и их векторных представлений. Такое обновление выполняется в реальном времени с помощью пакетной обработки или автоматизированных процессов.
Дата-центр FREEhost.UA предоставляет услугу аренды сервера с видеокартой. На базе такого сервера можно создать собственную RAG-модель — для обучения или бизнеса.


