RAG – Retrieval Augmented Generation

Обзор

«Retrieval Augmented Generation» или Генерация с дополненным поиском (RAG) — это мощный метод, который улучшает языковые модели, объединяя их с внешними базами знаний. RAG устраняет ключевое ограничение моделей: модели полагаются на фиксированные обучающие наборы данных, что может приводить к устаревшей или неполной информации. При получении запроса системы RAG сначала ищут в базе знаний релевантную информацию. Затем система включает эту найденную информацию в запрос модели. Модель использует предоставленный контекст для генерации ответа на запрос. Преодолевая разрыв между обширными языковыми моделями и динамичным, целенаправленным поиском информации, RAG является мощным инструментом для создания более эффективных и надёжных систем искусственного интеллекта.

RAG – Retrieval Augmented Generation

Источник: https://python.langchain.com/docs/concepts/rag/

  • (1) Retrieval system: Система поиска извлекает необходимую информацию из базы знаний в виде фрагментов текста, содержащего относящуюся к вопросу информацию (контекст).
  • (2) Prompt model with retrieved information: передача полученной информации (контекст) в модель и получение сформулированного ответа от нее.

Индексация информации из исходных файлов

RAG – Retrieval Augmented Generation

Источник: https://python.langchain.com/docs/tutorials/rag/

Извлечение фрагментов с подходящей информацией и генерация ответа

RAG – Retrieval Augmented Generation

Источник: https://python.langchain.com/docs/tutorials/rag/

Поисковая система

У моделей есть внутренние знания, которые часто остаются неизменными или, по крайней мере, не обновляются часто из-за высокой стоимости обучения. Это ограничивает их способность отвечать на вопросы о текущих событиях или предоставлять конкретные знания в предметной области. Для решения этой проблемы существуют различные методы внедрения знаний, такие как тонкая настройка или непрерывное предварительное обучение. Оба метода дорогостоящи и часто плохо подходят для поиска фактов. Использование системы поиска даёт несколько преимуществ:

  • Актуальная информация: RAG может получать доступ к последним данным и использовать их, обеспечивая актуальность ответов.
  • Доменная специализация: благодаря доменным базам знаний RAG может предоставлять ответы в конкретных областях.
  • Снижение количества галлюцинаций: опора на полученные факты помогает свести к минимуму ложную или вымышленную информацию.
  • Экономически эффективная интеграция знаний: RAG предлагает более эффективную альтернативу дорогостоящей тонкой настройке модели.

Добавление внешних знаний

При наличии системы поиска нам нужно передать знания из этой системы в модель. Конвейер RAG обычно делает это в несколько этапов:

  • Получение входного запроса.
  • Использование поисковой системы для поиска релевантной информации на основе запроса.
  • Включение полученной информации в запрос, отправленный в LLM.
  • Генерация ответа с помощью LLM с использованием полученного контекста.

Демо нейро-консультанта

Демо нейро-консультанта по тексту 1 и 2 глав книги «Мастер и Маргарита» Михаила Булгакова на базе GigaChat.