RAG — генерация с дополненным извлечением (Retrieval-Augmented Generation)
Что такое RAG (Retrieval-Augmented Generation) — как работает генерация с дополненным извлечением, зачем нужна и чем отличается от файн-тюнинга. Простое объяснение с примерами.
Определение
Термин ввели исследователи из Meta AI (Facebook) в 2020 году в статье «Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks», представленной на конференции NeurIPS 2020.
Как это работает
RAG-система работает в три шага:
Извлечение (Retrieval). Пользовательский запрос преобразуется в числовой вектор (эмбеддинг). Система ищет в векторной базе данных документы, чьи эмбеддинги ближе всего к вектору запроса — обычно через косинусное сходство.
Дополнение (Augmentation). Найденные фрагменты документов вставляются в промпт к языковой модели вместе с исходным вопросом. Модель получает и вопрос, и контекст для ответа.
Генерация (Generation). LLM формирует ответ, опираясь на предоставленный контекст. Благодаря этому ответ основан на конкретных данных, а не на «воспоминаниях» из обучающего набора.
Ключевая идея RAG: вместо того чтобы запоминать все факты мира, модель учится находить нужную информацию в нужный момент — как специалист, который знает, где искать, а не помнит наизусть каждый справочник.
RAG vs файн-тюнинг
| Критерий | RAG | Файн-тюнинг |
|---|---|---|
| Что меняется | Контекст промпта | Веса модели |
| Актуальность данных | Высокая — данные обновляются в базе | Фиксируется на момент обучения |
| Стоимость запуска | Низкая — не нужно переобучать модель | Высокая — требуется GPU и датасет |
| Стоимость запроса | Выше — каждый запрос включает поиск | Ниже — модель отвечает без поиска |
| Галлюцинации | Меньше — ответ привязан к источникам | Возможны — модель полагается на веса |
| Прозрачность | Можно показать источник ответа | Сложно объяснить, откуда ответ |
| Лучше подходит для | Работы с изменяющимися данными | Обучения стилю, формату, поведению |
В 2026 году стандартом в продакшене стал гибридный подход: файн-тюнинг для стиля и формата, RAG — для актуальных фактов.
Примеры использования
- Корпоративные чат-боты. Подключение LLM к внутренней wiki компании, чтобы сотрудники получали ответы по внутренним регламентам и документации.
- Юридические и медицинские системы. Поиск по базе законов или клинических рекомендаций перед формированием ответа.
- Техническая поддержка. Модель ищет решение в базе тикетов и документации продукта.
- Работа с исследованиями. Поиск релевантных научных статей для ответа на вопрос с указанием источников.
Ключевые компоненты RAG-системы
Для построения RAG нужны:
- Embedding-модель — преобразует текст в векторы (например, OpenAI
text-embedding-3-large, Cohere Embed, open-source модели вроде E5 или BGE) - Векторная база данных — хранит и ищет по эмбеддингам (Pinecone, Weaviate, Chroma, Qdrant, pgvector)
- Chunking-стратегия — разбиение документов на фрагменты подходящего размера
- LLM для генерации — Claude, GPT-4o, Llama и др.
- Оркестратор — связывает компоненты (LangChain, LlamaIndex, Haystack)
См. также: LLM (Large Language Model), файн-тюнинг (Fine-Tuning), эмбеддинг и векторный поиск, контекстное окно (Context Window), токен (Token)