Retrieval-Augmented Generation¶
Retrieval-Augmented Generation (RAG) — это архитектурный подход к построению систем искусственного интеллекта на основе больших языковых моделей (LLM), при котором генеративная модель дополняется внешним источником знаний: перед генерацией ответа система извлекает релевантные документы из базы данных и передаёт их модели в качестве контекста. Метод позволяет сокращать галлюцинации, обновлять знания модели без переобучения и обеспечивать ответы со ссылками на первоисточники.
¶История
Термин «Retrieval-Augmented Generation» был введён в 2020 году исследователями Facebook (продукт Meta, признанной экстремистской и запрещённой в РФ) AI (Meta AI) Патриком Льюисом, Этаном Пересом, Фабианом Петриком и другими в статье «Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks». Авторы предложили комбинировать предобученные языковые модели с внешними индексами документов, обучая систему совместно — и генерацию, и извлечение релевантности.
Идея восходила к более ранним работам по вопросно-ответным системам и поиску документов, однако именно появление масштабируемых векторных баз данных и эффективных эмбеддинг-моделей сделало RAG практичным. После выхода ChatGPT в 2022–2023 годах подход получил широкое распространение в индустрии: компании начали применять RAG для корпоративных чат-ботов, внутренних поисковых систем и помощников по документации.
¶Принцип работы
Классический конвейер RAG состоит из следующих этапов:
- Индексация. Корпус документов (PDF, базы знаний, сайты, внутренние регламенты) разбивается на фрагменты (чанки), каждый фрагмент преобразуется в векторное представление (эмбеддинг) с помощью энкодера и сохраняется в векторной базе данных.
- Извлечение. Запрос пользователя также превращается в эмбеддинг, после чего система находит в базе наиболее близкие по косинусному сходству фрагменты.
- Генерация. Найденные фрагменты подставляются в промпт к языковой модели вместе с вопросом; модель формулирует ответ на основе предоставленного контекста.
Существуют и более сложные схемы: ре-ранжирование найденных документов дополнительной моделью, итеративное извлечение (когда модель сама уточняет запрос), гибридный поиск (векторный + ключевые слова BM25), а также агентные системы, где LLM самостоятельно решает, какие источники подключить.
¶Преимущества
- Актуальность знаний. Обновление базы документов не требует переобучения модели — достаточно переиндексировать данные.
- Снижение галлюцинаций. Ответ строится на реальных документах, а не на параметрах модели.
- Обоснованность. Система может указывать источники, что критично в юридических, медицинских и финансовых сценариях.
- Экономичность. Вместо гигантской модели с огромной памятью можно использовать компактную LLM плюс внешнюю базу знаний.
- Контроль доступа. Документы можно фильтровать по правам пользователя до передачи в контекст.
¶Ограничения
RAG не лишён недостатков. Качество ответа напрямую зависит от качества индекса: устаревшие, противоречивые или плохо размеченные документы приводят к ошибкам. Длинные контексты увеличивают стоимость и задержку ответа. Разбиение на фрагменты может разрывать связный текст, а косинусный поиск по эмбеддингам не всегда улавливает точные совпадения (например, артикулы, идентификаторы). Кроме того, RAG не решает задачу рассуждений: для сложных многошаговых вопросов его часто сочетают с цепочками рассуждений (chain-of-thought) или агентными архитектурами.
¶Применение
RAG применяется в корпоративных поисковых системах и чат-ботах по внутренней документации, в юридических сервисах для анализа договоров, в медицинских информационных системах, в поддержке клиентов, а также в образовательных платформах. В России подход активно внедряют банки, телекоммуникационные компании и государственные структуры при построении внутренних ассистентов, работающих с регламентами и нормативными актами.
¶Альтернативы и развитие
Помимо классического RAG существуют подходы с длинным контекстом (когда документы целиком помещаются в окно модели), fine-tuning (дообучение модели на специализированных данных) и их комбинации. Перспективным направлением считается GraphRAG — использование графов знаний вместо плоского поиска по фрагментам, а также модульные системы, где извлечение, ре-ранжирование и генерация разделены и настраиваются независимо.
Источники:
- Lewis P. et al. Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. — 2020.
- Gao Y. et al. Retrieval-Augmented Generation for Large Language Models: A Survey. — 2023.
- Иванов А. А., Соколов А. В. Большие языковые модели: архитектуры и приложения. — М., 2024.
