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 состоит из двух фаз.

Индексация (офлайн)

  1. Документы разбиваются на фрагменты (chunking).
  2. Каждый фрагмент кодируется в векторное представление моделью-эмбеддером.
  3. Векторы сохраняются в векторной базе данных (FAISS, Milvus, Qdrant и др.).

Извлечение и генерация (онлайн)

  1. Запрос пользователя кодируется в вектор.
  2. По мере близости (например, косинусной) находятся k наиболее релевантных фрагментов - семантический поиск.
  3. Найденные фрагменты добавляются в промпт вместе с вопросом.
  4. 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.
Личные инструменты