RAG
Материал из MachineLearning.
| | Статья написана с использованием LLM Claude Opus 4.8 и проверена участником Iaroslav Lyakhov 20:16, 1 июля 2026 (MSD) |
|
RAG (англ. retrieval-augmented generation - генерация с дополнением извлечёнными знаниями) - архитектурный подход, при котором языковая модель перед формированием ответа извлекает релевантные документы из внешнего хранилища и использует их как контекст. RAG соединяет параметрическую память модели (знания в весах) с непараметрической (внешняя база), что повышает фактическую точность и снижает галлюцинации. Термин введён в работе Facebook AI Research (Lewis et al., 2020).
Зачем нужен
Знания LLM «заморожены» на момент обучения, их трудно обновлять, а источник конкретного утверждения невозможно проследить. RAG решает эти проблемы:
- Актуальность - базу можно обновлять без переобучения модели.
- Достоверность - ответ опирается на конкретные документы, которые можно процитировать.
- Приватность и специализация - подключение закрытых корпоративных или предметных данных.
- Экономичность - не нужно дорогостоящее дообучение под каждую новую коллекцию знаний.
Как устроен
Типичный конвейер RAG состоит из двух фаз.
Индексация (офлайн)
- Документы разбиваются на фрагменты (chunking).
- Каждый фрагмент кодируется в векторное представление моделью-эмбеддером.
- Векторы сохраняются в векторной базе данных (FAISS, Milvus, Qdrant и др.).
Извлечение и генерация (онлайн)
- Запрос пользователя кодируется в вектор.
- По мере близости (например, косинусной) находятся
наиболее релевантных фрагментов - семантический поиск.
- Найденные фрагменты добавляются в промпт вместе с вопросом.
- LLM генерирует ответ, опираясь на предоставленный контекст, и при необходимости приводит ссылки на источники.
Ключевые компоненты
- Ретривер (retriever) - отвечает за поиск. Бывает разреженным (BM25, по ключевым словам) и плотным (dense, по эмбеддингам); часто используют гибрид.
- Реранкер (re-ranker) - переупорядочивает кандидатов более точной, но дорогой моделью.
- Генератор - собственно LLM.
Проблемы и развитие
- Качество ответа ограничено качеством поиска: нерелевантные фрагменты ухудшают результат («garbage in - garbage out»).
- Чувствительность к способу нарезки документов и размеру фрагментов.
- Ограничение длины контекста модели.
Развитие направления включает agentic RAG (модель сама решает, что и когда искать), графовый RAG (GraphRAG) на основе графов знаний и итеративный поиск.
Сравнение с дообучением
RAG и дообучение (fine-tuning) решают разные задачи: дообучение меняет поведение и стиль модели, RAG снабжает её фактами. На практике подходы дополняют друг друга.
См. также
- Большая языковая модель
- Галлюцинации языковых моделей
- Векторное представление (эмбеддинг)
- Векторная база данных
- Промпт-инжиниринг
Литература
- Lewis P. и др. Advances in Neural Information Processing Systems (NeurIPS). — 2020.
- Gao Y. и др. Препринт arXiv:2312.10997. — 2023.

