RAG (Retrieval-Augmented Generation) — это метод, при котором языковая модель перед генерацией ответа сначала ищет релевантную информацию во внешних источниках данных и использует найденное как контекст. Дословно аббревиатура переводится как «генерация, дополненная извлечением». RAG был предложен исследователями из Meta AI в 2020 году.
Принцип работы RAG включает три этапа. Сначала пользовательский запрос преобразуется в числовой вектор (эмбеддинг). Затем по этому вектору производится поиск наиболее релевантных фрагментов в базе знаний — это может быть корпоративная документация, база статей, архив электронных писем или любой другой набор текстов. Наконец, найденные фрагменты вставляются в промпт вместе с исходным вопросом, и языковая модель генерирует ответ, опираясь на конкретные данные, а не только на свои обучающие данные.
Главное преимущество RAG перед файн-тюнингом — актуальность. Базу знаний можно обновлять в реальном времени без переобучения модели. Кроме того, RAG снижает вероятность галлюцинаций, поскольку модель отвечает на основе конкретных документов, а не «по памяти». Также появляется возможность ссылаться на источники информации, что повышает доверие к ответам.
RAG применяется в корпоративных чат-ботах, которые отвечают по внутренней документации, в системах поддержки клиентов, юридических и медицинских ассистентах, а также в поисковых системах нового поколения.
Значимость RAG в том, что он решает фундаментальную проблему языковых моделей — ограниченность и устаревание знаний. RAG превращает модель из «всезнайки по памяти» в систему, работающую с актуальными, проверяемыми данными.