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

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

Источник: https://python.langchain.com/docs/tutorials/rag/
Извлечение фрагментов с подходящей информацией и генерация ответа

Источник: https://python.langchain.com/docs/tutorials/rag/
Поисковая система
У моделей есть внутренние знания, которые часто остаются неизменными или, по крайней мере, не обновляются часто из-за высокой стоимости обучения. Это ограничивает их способность отвечать на вопросы о текущих событиях или предоставлять конкретные знания в предметной области. Для решения этой проблемы существуют различные методы внедрения знаний, такие как тонкая настройка или непрерывное предварительное обучение. Оба метода дорогостоящи и часто плохо подходят для поиска фактов. Использование системы поиска даёт несколько преимуществ:
- Актуальная информация: RAG может получать доступ к последним данным и использовать их, обеспечивая актуальность ответов.
- Доменная специализация: благодаря доменным базам знаний RAG может предоставлять ответы в конкретных областях.
- Снижение количества галлюцинаций: опора на полученные факты помогает свести к минимуму ложную или вымышленную информацию.
- Экономически эффективная интеграция знаний: RAG предлагает более эффективную альтернативу дорогостоящей тонкой настройке модели.
Добавление внешних знаний
При наличии системы поиска нам нужно передать знания из этой системы в модель. Конвейер RAG обычно делает это в несколько этапов:
- Получение входного запроса.
- Использование поисковой системы для поиска релевантной информации на основе запроса.
- Включение полученной информации в запрос, отправленный в LLM.
- Генерация ответа с помощью LLM с использованием полученного контекста.
