Sobes.tech
Назад к вопросам
Middle
10

Какие основные компоненты базового Retrieval-Augmented Generation (RAG)?

Компании, где спрашивали
СовкомбанкСовкомбанк

Ответ от нейросети

sobes.tech AI

Что хотят услышать интервьюеры:

Базовый RAG состоит из двух частей: поиска релевантного контекста и генерации ответа на его основе. Обычно это ingestion данных, разбиение на чанки, эмбеддинги, векторное хранилище, retrieval и LLM-генерация. Важно понимать, что качество RAG определяется не только моделью, но и качеством индексации и поиска.

Определение:

Retrieval-Augmented Generation — это подход, где языковая модель отвечает не только по своим параметрам, но и опирается на внешние документы, найденные по запросу.
Базовый пайплайн включает подготовку документов, их векторизацию и индексирование, поиск релевантных фрагментов по запросу и передачу найденного контекста в генератор ответа.

Пример использования:

Например, в корпоративном помощнике сотрудник спрашивает: «Как оформить отпуск?». Система ищет релевантные фрагменты в базе регламентов, находит статью про отпуск и передаёт её вместе с вопросом в LLM, которая формирует ответ на основе найденного текста.

Документы -> разбиение на чанки -> эмбеддинги -> векторная БД
Пользовательский запрос -> эмбеддинг запроса -> поиск top-k чанков
Найденный контекст + запрос -> LLM -> итоговый ответ

Пояснение кода:

Код не требуется. Для базового RAG важно разложить процесс по шагам:

  1. Источники знаний собираются в одном месте: файлы, базы, wiki, FAQ.
  2. Текст делится на небольшие фрагменты, чтобы поиск был точнее.
  3. Каждый фрагмент переводится в векторное представление через модель эмбеддингов.
  4. Векторы сохраняются в векторном индексе или векторной БД.
  5. При вопросе пользователя запрос тоже переводится в вектор.
  6. По векторному сходству находятся top-k наиболее релевантных фрагментов.
  7. Эти фрагменты добавляются в prompt LLM, и модель генерирует ответ с опорой на контекст.

Ключевые моменты:

  • Два ядра RAG: retrieval и generation.
  • Качество чанкинга сильно влияет на точность поиска.
  • Эмбеддинги и векторное хранилище нужны для семантического поиска.
  • LLM не «знает» документы сама по себе — она получает их как внешний контекст.
  • Часто узкие места RAG — плохой retrieval, шумный контекст и ограничение по размеру prompt.
  • Базовый RAG проще и дешевле fine-tuning, но требует хорошей подготовки данных и поиска.