Что такое RAG (Retrieval-Augmented Generation)

Коротко: RAG — это подход, при котором генеративная модель (LLM) во время ответа подтягивает внешние знания из базы документов / векторайзера / поиска, а не полагается только на «то, что запомнила при обучении».

Основная идея

  1. Retrieval (поиск):
    По пользовательскому запросу сначала выполняется поиск релевантных документов: БД, файлы, wiki компании, нормативка, логи, и т.п. Часто это векторный поиск по эмбеддингам.
  2. Augmented (обогащение):
    Найденные фрагменты подкладываются в промпт модели в качестве контекста.
  3. Generation (генерация):
    LLM генерирует ответ, опираясь одновременно на:
    • текст вопроса
    • найденные документы

Зачем это нужно

  • Актуальность: можно использовать свежие данные без дообучения модели.
  • Контролируемость: модель опирается на конкретные источники, можно логировать и ссылаться.
  • Безопасность/конфиденциальность: знания компании хранятся у вас, а не в весах модели.
  • Гибкость: легко менять / добавлять доменную базу знаний.

Типичная архитектура RAG-системы

  • Хранилище документов: файлы, БД, S3/облако, 1С, SharePoint и т.п.
  • Индекс:
    • классический (BM25, полнотекст)
    • векторный (эмбеддинги)
    • гибридный (BM25 + вектора)
  • Retrieval:
    • поиск релевантных фрагментов (top-k документов / чанков)
  • LLM:
    • промпт-инжениринг: вопрос + контекст + инструкции (отвечать только по контексту и т.д.)

Где это применяют

  • Корпоративные чат-боты по внутренним документам
  • Поиск по нормативке / регламентам / ГОСТам
  • Q&A по базе знаний (служба поддержки)
  • Ассистенты аналитика / архитектора (по документации проектов)
  • Поиск по коду и техдокам (dev-assistant)
Виктория Москва
Оцените автора
( Пока оценок нет )
SABOOK