Featured image of post Базовый минимум про ИИ – RAG-системы

Базовый минимум про ИИ – RAG-системы

RAG (Retrieval-Augmented Generation): зачем подмешивать поиск к LLM, этапы пайплайна, чанкование, naive и advanced RAG

Статья цикла «Базовый минимум» про системы дополненной генерации с поиском (RAG): как подключать к языковой модели внешние документы и актуальные знания.

Что такое RAG

Что такое RAG

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

Проблема одной только LLM: знания после обучения по сути статичны — модель не узнаёт о событиях после среза данных, не обновляется сама по себе и отражает мир каким он был на момент обучения. Для свежих фактов, внутренних регламентов компании или вашей библиотеки статей этого недостаточно.

  • RAG — это технология подключения внешних источников к шагу генерации.
  • Она смягчает проблему устаревших знаний: релевантные куски подтягиваются из актуального корпуса.
  • Модель дополняется контекстом из документов, а не только весами, заложенными при pre-training.

RAG не отменяет галлюцинации полностью, но даёт опору на цитируемые фрагменты — их проще проверить человеку или правилами.

Этапы работы RAG

Этапы работы RAG

Типичный пайплайн можно представить как цепочку из офлайн-подготовки данных и онлайн-запроса пользователя.

  • Загрузка корпуса и чанкование. Документы попадают в систему и режутся на фрагменты удобного размера для индекса и контекстного окна.
  • Построение векторного индекса. Для каждого фрагмента считается эмбеддинг; по ним организуется поиск «похожих» кусков по смыслу запроса.
  • Retrieval. По пользовательскому вопросу выбираются наиболее релевантные фрагменты из индекса.
  • Generation. Выбранные фрагменты подставляются в промпт (вместе с инструкцией и вопросом), и LLM формулирует ответ, опираясь на этот контекст.

Детали реализации (какой энкодер, какой векторный стор, сколько чанков подмешивать) сильно влияют на качество — но логика «найти → подставить → сгенерировать» остаётся общей.

Чанкование

Чанкование

Чанкование — разбиение документов на небольшие части. Эти куски — базовые единицы индексации и поиска: именно их векторизуют и именно их доставляют в промпт.

  • В контекст модели попадают фрагменты, а не целые документы целиком — иначе не уложиться в окно и не потерять точность поиска.
  • Качество нарезки напрямую влияет на доступность фактов: если смысловой блок разрезан посередине, ретривер может не найти нужный кусок; если чанк огромный — в нём много шума, падает точность попадания в запрос.

На практике подбирают размер чанка, перекрытие между соседними кусками и иногда более умное деление по структуре (заголовки, абзацы), а не только «каждые N символов».

Типы RAG-систем

Типы RAG-систем

Условно выделяют «наивный» и «продвинутый» уровень зрелости пайплайна — граница размыта, но названия помогают ориентироваться.

  • Naive RAG: запрос → поиск ближайших чанков → они сразу передаются в модель без дополнительной обработки. Просто собрать, но качество сильно зависит от качества корпуса, чанков и эмбеддингов.
  • Advanced RAG: добавляют шаги вокруг retrieval и генерации: переформулирование или расширение запроса, переранжирование кандидатов отдельной моделью или кросс-энкодером, очистка от дубликатов и пересекающихся кусков, иногда фильтрация по метаданным. Цель — выше точность и полнота подмешиваемого контекста.

Для учебного и исследовательского прототипа часто начинают с naive и усложняют пайплайн там, где видны типичные ошибки: «не тот абзац», «дубли», «запрос сформулирован не так, как в документе».

Кто использует

Кто использует

RAG внедряют там, где ответ нужно строить по заданному набору документов — внутренним, клиентским или личным — а не только по «памяти» модели из обучения.

  • Компании. Базы знаний, регламенты, скрипты поддержки: сотрудник или клиент задаёт вопрос, система находит релевантные фрагменты и формулирует ответ с опорой на актуальные тексты организации.
  • Разработчики и продуктовые команды. Чат-боты и ассистенты поверх документации, вики, тикетов: снижается нагрузка на «угадать» API по обрывкам из интернета — контролируемый корпус задаёт границы.
  • Учёба и наука. Работа с подборкой статей, конспектами и PDF: удобно задавать вопросы по материалам курса или обзора литературы, не подменяя проверку источников.
  • Отраслевые сценарии. Юридические, медицинские, финансовые и другие домены, где важна привязка к текстам компании или регуляторики — всегда с человеческой верификацией и политиками доступа к данным.
Создано при помощи Hugo
Тема Stack, дизайн Jimmy