Лидеры мнений
Эволюция RAG – Введение в Agentic RAG
Что такое RAG (Retrieval-Augmented Generation)?
Retrieval-Augmented Generation (RAG) – это техника, которая сочетает сильные стороны больших языковых моделей (LLM) с внешней обработкой данных для улучшения качества и релевантности сгенерированных ответов. Традиционные LLM используют свои предварительно обученные базы знаний, тогда как RAG-пipelines будут запрашивать внешние базы данных или документы в режиме реального времени и извлекать релевантную информацию для использования в генерации более точных и контекстно-богатых ответов. Это особенно полезно в случаях, когда вопрос сложный, специфический или основан на определённом временном интервале, поскольку ответы от модели информированы и обогащены актуальной доменной информацией.
Нынешний ландшафт RAG
Большие языковые модели полностью революционизировали то, как мы получаем доступ к информации и обрабатываем её. Однако полагаться исключительно на внутренние предварительно введенные знания может ограничить гибкость их ответов, особенно для сложных вопросов. Retrieval-Augmented Generation решает эту проблему, позволяя LLM получить и проанализировать данные из других доступных внешних источников для получения более точных и проницательных ответов.
Недавние разработки в области информационного поиска и обработки естественного языка, особенно LLM и RAG, открывают новые горизонты эффективности и изысканности. Эти разработки можно оценить по следующим широким контурам:
- Улучшение информационного поиска: улучшение информационного поиска в RAG-системах очень важно для эффективной работы. Недавние работы разработали различные векторы, алгоритмы повторного ранжирования, гибридные методы поиска для улучшения точного поиска.
- Семантическое кэширование: это оказывается одним из основных способов, которыми сокращаются вычислительные затраты без необходимости отказаться от последовательных ответов. Это означает, что ответы на текущие запросы кэшируются вместе с их семантическим и прагматическим контекстом, что снова способствует более быстрым временам ответа и доставке последовательной информации.
- Мультимодальная интеграция: кроме текстовых LLM и RAG-систем, этот подход также охватывает визуальные и другие модальности框架. Это позволяет получить доступ к большему разнообразию источников и приводит к ответам, которые становятся все более изысканными и прогрессивно более точными.
Проблемы с традиционными архитектурами RAG
Хотя RAG развивается, чтобы удовлетворять разным потребностям, все еще существуют проблемы, которые стоят перед традиционными архитектурами RAG:
- Суммаризация: суммаризация огромных документов может быть сложной. Если документ длинный, традиционная RAG-структура может пропустить важную информацию, поскольку она получает только верхние K элементов.
- Сравнение документов: эффективное сравнение документов все еще является проблемой. RAG-рамка часто приводит к неполному сравнению, поскольку она выбирает верхние K случайных фрагментов из каждого документа случайным образом.
- Анализ структурированных данных: сложно обрабатывать структурированные числовые данные запросов, такие как определение, когда сотрудник возьмет следующий отпуск, в зависимости от того, где он живет. Точные точки данных и анализ не точны с этими моделями.
- Обработка запросов с несколькими частями: ответы на вопросы с несколькими частями все еще ограничены. Например, обнаружение общих закономерностей отпусков во всех областях большой организации является сложной задачей, когда ограничены K элементами, что ограничивает полное исследование.
Переход к Agentic RAG
Agentic RAG использует интеллектуальные агенты для ответов на сложные вопросы, которые требуют тщательного планирования, многоступенчатого рассуждения и интеграции внешних инструментов. Эти агенты выполняют обязанности опытного исследователя, ловко ориентируясь в множестве документов, сравнивая данные, суммируя результаты и производя полные, точные ответы.
Концепция агентов включена в классическую RAG-рамку для улучшения функциональности и возможностей системы, что приводит к созданию агентной RAG. Эти агенты выполняют дополнительные задачи и рассуждения за пределами базового извлечения информации и генерации, а также оркестрируют и контролируют различные компоненты RAG-пайплайна.
Три основные агентные стратегии
Маршрутизаторы отправляют запросы в соответствующие модули или базы данных в зависимости от их типа. Маршрутизаторы динамически принимают решения, используя большие языковые модели, на которые контекст запроса падает, чтобы сделать вызов двигателя выбора, который должен быть отправлен для улучшения точности и эффективности вашего пайплайна.
Преобразования запросов – это процессы, участвующие в перефразировании запроса пользователя для лучшего соответствия запрашиваемой информации или, наоборот, для лучшего соответствия тому, что предлагает база данных. Это может быть одно из следующего: перефразирование, расширение или разбиение сложных вопросов на более простые под вопросы, которые более легко обрабатываются.
Это также требует подзапросного движка для решения проблемы ответа на сложный запрос с использованием нескольких источников данных.
Сначала сложный вопрос разбивается на более простые вопросы для каждого из источников данных. Затем все промежуточные ответы собираются и синтезируется окончательный результат.
Агентные слои для RAG-пайплайнов
- Маршрутизация: вопрос маршрутизируется в соответствующую базу знаний на основе релевантности. Пример: когда пользователь хочет получить рекомендации для определенных категорий книг, запрос может быть маршрутизирован в базу знаний, содержащую информацию о этих категориях книг.
- Планирование запроса: это включает разбиение запроса на подзапросы и отправку их в соответствующие отдельные пайплайны. Агент производит подзапросы для всех элементов, таких как год в этом случае, и отправляет их в соответствующие базы знаний.
- Использование инструментов: языковая модель общается с API или внешним инструментом, зная, что это будет включать, на какой платформе должно происходить общение, и когда это будет необходимо. Пример: при запросе пользователя о прогнозе погоды на определенный день LLM общается с погодным API, определяя местоположение и дату, затем парсит ответ, поступающий от API, чтобы предоставить правильную информацию.
- ReAct – это итеративный процесс мышления и действий, связанный с планированием, использованием инструментов и наблюдением.
Например, для разработки комплексного плана отпуска система будет учитывать требования пользователя и получать подробную информацию о маршруте, туристических достопримечательностях, ресторанах и проживании, вызывая API. Затем система проверит результаты с точки зрения правильности и релевантности, производя подробный план путешествия, соответствующий запросу пользователя и его расписанию. - Планирование динамического запроса: вместо выполнения последовательно агент выполняет несколько действий или подзапросов параллельно и затем объединяет эти результаты.
Например, если необходимо сравнить финансовые результаты двух компаний и определить разницу в некотором показателе, то агент обработает данные для обеих компаний параллельно, прежде чем объединить результаты; LLMCompiler – это одна из таких рамок, которая приводит к такой эффективной оркестровке параллельного вызова функций.
Agentic RAG и LLMaIndex
LLMaIndex представляет собой очень эффективную реализацию RAG-пайплайнов. Библиотека просто заполняет пропущенную часть в интеграции структурированных организационных данных в генеративные модели ИИ, предоставляя удобство для инструментов в обработке и извлечении данных, а также интерфейсы для различных источников данных. Основные компоненты LlamaIndex описаны ниже.
LlamaParse парсит документы.
Llama Cloud – это предприятие с сервисом RAG-пайплайнами, развернутым с минимальным количеством ручного труда.
Используя несколько LLM и хранилище векторов, LlamaIndex предоставляет интегрированный способ построения приложений на Python и TypeScript с RAG. Его характеристики делают его высоко востребованным основанием для компаний, желающих использовать ИИ для улучшения принятия решений на основе данных.
Ключевые компоненты реализации Agentic RAG с LLMaIndex
Давайте подробнее рассмотрим некоторые из ингредиентов агентной RAG и то, как они реализуются в LlamaIndex.
1. Использование инструментов и маршрутизация
Агент маршрутизации выбирает, какой LLM или инструмент лучше всего использовать для данного вопроса, исходя из типа запроса. Это приводит к контекстно-чувствительным решениям, таким как определение, хочет ли пользователь обзор или подробное резюме. Примеры таких подходов – Router Query Engine в LlamaIndex, который динамически выбирает инструменты, которые максимизируют ответы на запросы.
2. Долгосрочное сохранение контекста
Хотя самой важной задачей памяти является сохранение контекста на протяжении нескольких взаимодействий, в отличие от этого, агенты, оснащенные памятью в агентной версии RAG, постоянно осведомлены о взаимодействиях, которые приводят к связным и контекстно-насыщенным ответам.
LlamaIndex также включает в себя движок чата, который имеет память для контекстных разговоров и одиночных запросов. Чтобы избежать переполнения окна контекста LLM, такая память должна быть под строгим контролем во время длинных обсуждений и сокращена до суммированной формы.
3. Движки подзапросов для планирования
Часто необходимо разбить сложный запрос на более мелкие, управляемые задачи. Движок подзапросов – это одна из основных функций, для которой LlamaIndex используется в качестве агента, при которой большой запрос разбивается на более мелкие, выполняется последовательно, а затем объединяется для формирования связного ответа. Способность агентов исследовать несколько аспектов запроса шаг за шагом представляет собой понятие многоступенчатого планирования, а не линейного.
4. Размышление и исправление ошибок
Размышляющие агенты производят вывод, но затем проверяют качество этого вывода, чтобы сделать исправления, если необходимо. Этот навык имеет первостепенное значение для обеспечения точности и того, что полученный результат соответствует тому, что был задуман человеком. Благодаря самоаналитическому рабочему процессу LlamaIndex, агент проверит свою производительность, либо повторно выполнив, либо скорректировав действия, которые не соответствуют определенным уровням качества. Но поскольку это самоисправляющийся, Agentic RAG несколько надежен для тех корпоративных приложений, в которых надежность является первостепенной.
5. Сложное агентное рассуждение:
Деревоподобное исследование применяется, когда агентам необходимо исследовать множество возможных маршрутов, чтобы достичь чего-то. В отличие от последовательного принятия решений, деревоподобное рассуждение позволяет агенту рассмотреть множество стратегий одновременно и выбрать наиболее перспективную на основе критериев оценки, обновляемых в реальном времени.
LlamaCloud и LlamaParse
С его обширным набором управляемых сервисов, предназначенных для контекстного расширения в приложениях LLM и RAG, LlamaCloud является значительным шагом вперед в среде LlamaIndex. Это решение позволяет инженерам ИИ сосредоточиться на разработке ключевой бизнес-логики, сокращая сложный процесс обработки данных.
Другой доступный движок парсинга – LlamaParse, который удобно интегрируется с пайплайнами ингестии и извлечения в LlamaIndex. Это составляет одну из наиболее важных элементов, которые обрабатывают сложные, полуструктурированные документы с встроенными объектами, такими как таблицы и фигуры. Другой важный строительный блок – это управляемый API ингестии и извлечения, который предоставляет несколько способов легко загрузить, обработать и хранить данные из большого набора источников, таких как центральное хранилище данных LlamaHub или выводы LlamaParse. Кроме того, он поддерживает различные интеграции хранения данных.
Заключение
Agentic RAG представляет собой сдвиг в обработке информации, вводя больше интеллекта в самих агентов. Во многих ситуациях агентная RAG может быть объединена с процессами или различными API, чтобы получить более точный и точный результат. Например, в случае суммаризации документов агентная RAG оценит цель пользователя, прежде чем создать суммирование или сравнить детали. При предоставлении поддержки клиентов агентная RAG может точно и индивидуально ответить на все более сложные запросы клиентов, не только на основе их обучающей модели, но и доступной памяти и внешних источников. Agentic RAG подчеркивает сдвиг от генеративных моделей к более тонким системам, которые используют другие типы источников для достижения прочного и точного результата. Однако, будучи генеративными и интеллектуальными, как они есть сейчас, эти модели и агентные RAG находятся в поисках более высокой эффективности, поскольку все больше и больше данных добавляется в пайплайны.












