9 примеров RAG на основе реальных сценариев использования и архитектур

Узнайте о девяти реальных примерах RAG: от веб-поиска и службы поддержки до агентской коммерции и анализа данных, а также об архитектурах, лежащих в их основе.

Diagram of how RAG works: a user prompt goes through a grounding check, a retrieval request to an external source, context augmentation, and LLM answer generation.

RAG широко используется как в потребительской, так и в корпоративной среде. Реальные примеры применения RAG в повседневной жизни включают в себя веб-поиск, службу поддержки и покупки с поддержкой ИИ. Доступ к внутренним знаниям и помощь в написании кода относятся к числу наиболее заметных бизнес-примеров.

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

Что такое генерация, дополненная поиском (RAG)?

RAG (retrieval-augmented generation или генерация, дополненная поиском) позволяет приложениям ИИ обращаться к информации, хранящейся во внешних системах, чтобы дополнять ответы, генерируемые LLM.

Это мощная технология, поскольку она решает три основные проблемы генеративного ИИ: галлюцинации, устаревшую информацию и отсутствие доступа к данным, не включенным в контекст ввода.

Вот как выглядит базовый процесс RAG:

  1. Пользователь вводит запрос на естественном языке.
  2. Приложение ИИ определяет, требуется ли проверка на обоснованность, иногда с привлечением LLM.
  3. Запрос отправляется во внешний источник информации, например в базу данных.
  4. Извлеченная информация добавляется во входной контекст LLM.
  5. LLM генерирует ответ на основе дополненного промпта.

Несмотря на возможные различия в конкретной реализации, эти шаги представляют собой типичный рабочий процесс RAG. Различия между различными типами архитектуры обычно сводятся к тому, как клиентское приложение обрабатывает запросы, и к характеру извлекаемой информации.

Обзор архитектуры RAG

Термин «генерация, дополненная поиском» впервые появился в научной работе 2020 года Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks, опубликованной исследователями из Meta AI (в то время — Facebook AI Research) совместно с коллегами из Университетского колледжа Лондона и Нью-Йоркского университета.

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

Наивный RAG

Наивный RAG использует простой конвейер поиска и генерации, который по-прежнему подходит для многих базовых запросов. Самым распространенным примером наивного RAG является преобразование запроса в упорядоченный список чисел, называемый векторным вложением (эмбеддингом), или просто вектором. Затем вектор запроса сопоставляется с другими векторами, которые представляют фрагменты — части контента в базе данных или индексе (называемом семантическим индексом).

Расширенный RAG

Расширенный RAG оптимизирует этапы до и после поиска. Методы включают расширение запросов, фильтрацию метаданных и сжатие контекста. По сути, они улучшают релевантность извлекаемой информации и то, как она изменяется перед добавлением во входной контекст LLM.

Агентский RAG

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

Графовый RAG

Графовый RAG извлекает информацию из графа знаний, который представляет сущности (такие как объекты, концепции и события) и связи между ними. Это полезно, когда для ответа на промпт требуется, чтобы LLM объединила информацию об отдельных сущностях.

Мультимодальный RAG

Мультимодальный RAG расширяет поиск на такой контент, как изображения и аудио, как во время составления запроса, так и во время поиска. В этих конвейерах RAG используются специальные энкодеры для преобразования текста, изображений или аудио в эмбеддинги.

Гибридный RAG

Гибридный RAG объединяет поиск по ключевым словам (лексический поиск) с векторным поиском или графами знаний и объединяет результаты. Это полезно, потому что сопоставление ключевых слов может быть очень точным (более точным, чем другие методы) в определенных контекстах.

Корректирующий RAG

Корректирующий RAG оценивает возвращенную информацию или данные на предмет релевантности запросу. Он может уточнять или дополнять извлеченные фрагменты либо заменять их целиком путем выполнения нового запроса.

Примеры применения RAG в зависимости от сценария и отрасли

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

1. Веб-поиск

Веб-поиск — один из наиболее распространенных примеров использования RAG. Каждый день миллионы людей используют инструменты ИИ для генерации ответов на основе информации, полученной из Интернета.

Как это работает: Приложение ИИ осуществляет поиск по веб-индексу (например, по индексу Google Search), используя поиск по ключевым словам и семантический поиск. Релевантный контент страниц добавляется вместе с вопросом пользователя во входные данные LLM. Затем LLM генерирует ответ, как правило, со ссылками на источники.

Пример из реального мира: Если пользователь вводит простой запрос в интерфейс чата Perplexity, например «Какая погода в Чикаго?», LLM выполняет веб-поиск для поиска актуальной информации. Perplexity использует собственный веб-индекс в сочетании с партнерскими API поиска.

2. Служба поддержки

Чат-боты для приложений и веб-сайтов стали основным корпоративным вариантом использования RAG. Эти системы обычно объединяются с традиционными путями маршрутизации, снижая потребность в участии представителей службы поддержки.

Как это работает: Когда клиент задает вопрос, приложение ищет в базе знаний компании, часто используя гибридный конвейер. Извлеченные фрагменты передаются в LLM, которая генерирует ответ. Обычно также задействуются процессы коррекции и передачи для проверки ответа и, при необходимости, перенаправления к сотруднику поддержки.

Пример из реального мира: Различные платформы обслуживания клиентов, включая Zendesk (на изображении ниже) и Intercom, предлагают готовые чат-боты технической поддержки, которые интегрируются с существующей документацией и базами знаний.

3. Персональные помощники

Персональные помощники используют агентский RAG для доступа к электронной почте, файлам и календарю пользователя. Такие помощники обычно могут выполнять несколько конвейеров RAG.

Как это работает: Поскольку персональным помощникам часто требуется доступ к нескольким источникам информации, они используют комбинацию API, поиска по ключевым словам, векторного поиска и графов знаний. Приложение отправляет в LLM описания различных инструментов, после чего модель выбирает наиболее подходящие.

Пример из реального мира: Google Gemini служит хорошим примером приложения, которое может действовать как универсальный и персональный ассистент с ИИ (как и большинство помощников в настоящее время). Оно интегрируется с экосистемой инструментов, таких как Gmail, Документы, Фото и Календарь.

4. Управление корпоративными знаниями

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

Как это работает: Приложение извлекает релевантный контент с помощью векторного индекса, который обновляется по мере изменения исходных документов. Индекс содержит эмбеддинги, представляющие фрагменты документов, со ссылками на их текст и связанные метаданные.

Пример из реального мира: Microsoft 365 Copilot получает доступ к организационной информации через Microsoft Graph, который предоставляет различные API для источников данных, и использует лексический и семантический индексы для извлечения релевантного контента.

5. Помощники по написанию кода

Помощники по написанию кода применяют RAG к кодовой базе. Хотя лежащий в основе процесс RAG остается прежним (обычно это агентский RAG), разница заключается в том, что они работают непосредственно с контекстом кода.

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

Пример из реального мира: GitHub Copilot — хорошо известный пример помощника по написанию кода, который напрямую интегрируется с проектами разработки. Он также может ссылаться на публичные репозитории GitHub для повышения точности ответов.

6. Техническое устранение неполадок

Техническое устранение неполадок объединяет конвейер RAG для управления знаниями с циклом диагностики. Агент может оценивать результаты для дальнейшего уточнения рекомендаций по устранению неполадок по мере необходимости.

Как это работает: Приложение собирает симптомы технической проблемы от пользователя или получает автоматизированные оповещения мониторинга. Оно инициирует поиск по сообщениям об ошибках, техническим логам и метрикам производительности для перекрестной проверки симптомов. Затем оно извлекает релевантную информацию из внутренней базы знаний для передачи в LLM. Цикл диагностики возникает, когда результаты предпринятой попытки исправления поступают обратно в LLM от пользователя или инструмента диагностики.

Пример из реального мира: Платформа наблюдаемости Datadog (на изображении ниже) собирает данные со всех слоев системы, сигнализируя о любых возникающих проблемах. Затем они передаются специализированному ИИ-агенту Bits AI для поиска потенциальных исправлений.

7. Агентская коммерция

Агентская коммерция — это более широкий сценарий использования, который обычно включает в себя RAG. Торговый агент извлекает такие детали, как характеристики продукта, отзывы, цены и наличие, чтобы сравнить варианты и пояснить рекомендации. Затем он может автоматически совершить покупку, не покидая интерфейс.

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

Пример из реального мира: Универсальный агент, такой как Perplexity, может извлекать несколько изображений и подробные технические характеристики продукта на основе промпта. Функция оформления заказа Instant Buy позволяет пользователю завершить покупку после выбора продукта.

8. Специализированные области знаний

Инструменты ИИ, которые извлекают специализированные предметные знания, должны работать со сложными форматами контента. Кроме того, приоритетом часто является минимизация галлюцинаций и пробелов в информации.

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

Пример из реального мира: Инструмент академических исследований Scite имеет доступ к большому индексу академических документов и данных цитирования, созданному на основе соглашений с издателями и источников открытого доступа. Он также применяет проверки после поиска, такие как верификация источников, перед генерацией полного ответа.

9. Анализ данных

RAG для анализа данных стал особенно мощным корпоративным сценарием использования, поскольку он позволяет широкому кругу профессионалов, особенно тем, кто не имеет подготовки в области науки о данных, запрашивать наборы данных на естественном языке. Это упрощает создание отчетов и формирование высокоспецифичных вопросов.

Как это работает: Для такого вопроса, как «Почему упали продажи в прошлом квартале?», приложение может запросить записи о продажах и извлечь примечания о дефиците товаров на складе или изменениях цен. LLM выбирает подходящий расчет (который обычно делегируется инструменту расчета) для извлеченных данных перед генерацией анализа.

Пример из реального мира: Google Analytics предлагает чат-бот ИИ «Ask Advisor», который может получать доступ к данным веб-аналитики и отвечать на очень специфичные, тонкие вопросы пользователей. Это один из лучших реальных примеров корпоративного RAG с закрытой системой.

Что ждет эволюцию RAG в будущем?

RAG стал значительным достижением на момент своего появления. Он помог решить многие проблемы, присущие изолированным LLM.

Тем не менее, эта технология далека от статичности. Текущие исследования сосредоточены на более глубоком мультимодальном поиске и более тщательной обработке извлеченного контекста для обеспечения точности и правильности. Кроме того, мы, вероятнее всего, увидим более глубокую интеграцию RAG в мультиинструментальные агенты.

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