Лидеры мысли
Эволюция RAG – Основы агентного RAG
Что такое RAG (извлечение-дополненная генерация)?
Поисково-дополненная генерация (RAG) это метод, который сочетает в себе сильные стороны больших языковых моделей (LLM) с внешним поиском данных для повышения качества и релевантности генерируемых ответов.. Традиционные LLM используют свои предварительно обученные базы знаний, тогда как конвейеры RAG будут запрашивать внешние базы данных или документы во время выполнения и извлекать соответствующую информацию для использования при генерации более точных и контекстно-богатых ответов. Это особенно полезно в случаях, когда вопрос сложный, конкретный или основан на заданном временном интервале, учитывая, что ответы от модели информированы и обогащены актуальной информацией, специфичной для домена.
Текущий ландшафт RAG
Большие языковые модели полностью изменили то, как мы получаем и обрабатываем информацию. Однако опора исключительно на внутренние предвходные знания может ограничить гибкость их ответов, особенно для сложных вопросов. Retrieval-Augmented Generation решает эту проблему, позволяя LLM получать и анализировать данные из других доступных внешних источников для получения более точных и проницательных ответов.
Недавние разработки в области поиска информации и обработки естественного языка, особенно LLM и RAG, открывают новые горизонты эффективности и сложности. Эти разработки можно оценить по следующим общим контурам:
- Улучшенный поиск информации: Улучшение поиска информации в системах RAG весьма важно для эффективной работы. Недавние работы разработали различные векторы, алгоритмы переранжирования, гибридные методы поиска для улучшения точного поиска.
- Семантическое кэширование: Это оказывается одним из основных способов сокращения вычислительных затрат без необходимости отказываться от согласованных ответов. Это означает, что ответы на текущие запросы кэшируются вместе с их семантическим и прагматическим контекстом, что снова способствует более быстрому времени отклика и предоставляет согласованную информацию.
- Мультимодальная интеграция: Помимо текстовых систем LLM и RAG, этот подход также охватывает визуальные и другие модальности фреймворка. Это позволяет получить доступ к большему разнообразию исходного материала и приводит к ответам, которые становятся все более сложными и все более точными.
Проблемы с традиционной архитектурой RAG
В то время как RAG развивается, чтобы соответствовать различным потребностям, все еще существуют проблемы, которые стоят перед традиционными архитектурами RAG:
- Подведение итогов: Резюмирование больших документов может быть сложным. Если документ длинный, традиционная структура RAG может упустить важную информацию, поскольку она получает только верхние K-части.
- Сравнение документов: Эффективное сравнение документов все еще остается проблемой. Структура RAG часто приводит к неполному сравнению, поскольку она выбирает случайные K верхних фрагментов из каждого документа случайным образом.
- Структурированный анализ данныхs: Сложно обрабатывать структурированные числовые запросы к данным, например, чтобы определить, когда сотрудник возьмёт следующий отпуск в зависимости от места его проживания. Точный поиск и анализ точек данных с помощью этих моделей невозможны.
- Обработка запросов, состоящих из нескольких частей: Ответы на вопросы с несколькими частями по-прежнему ограничены. Например, обнаружение общих схем отпусков во всех областях в большой организации является сложной задачей, если ограничено K частями, что ограничивает полноту исследования.
Двигайтесь к Agentic RAG
Агент RAG использует интеллектуальных агентов для ответа на сложные вопросы, требующие тщательного планирования, многошагового обоснования и интеграции внешних инструментов. Эти агенты выполняют обязанности опытного исследователя, ловко перемещаясь по множеству документов, сравнивая данные, суммируя результаты и выдавая всеобъемлющие, точные ответы.
Концепция агентов включена в классическую структуру RAG для улучшения функциональности и возможностей системы, что приводит к созданию агентских RAG. Эти агенты берут на себя дополнительные задачи и функции, выходящие за рамки базового поиска и создания информации, а также координируют и контролируют различные компоненты конвейера RAG.
Три основные агентские стратегии
Маршрутизаторы отправляют запросы в соответствующие модули или базы данных в зависимости от их типа. Маршрутизаторы динамически принимают решения, используя большие языковые модели, на которые попадает контекст запроса, чтобы сделать вызов на выбранном движке, на который он должен быть отправлен для повышения точности и эффективности вашего конвейера.
Преобразование запросов — это процесс перефразирования запроса пользователя для наилучшего соответствия запрашиваемой информации или, наоборот, для наилучшего соответствия информации, предлагаемой базой данных. Это может быть одно из следующих действий: перефразирование, расширение или разбиение сложных вопросов на более простые подвопросы, которые легче обработать.
Также необходим механизм запросов с подвопросами, позволяющий ответить на сложный запрос с использованием нескольких источников данных.
Сначала сложный вопрос разлагается на более простые вопросы для каждого из источников данных. Затем собираются все промежуточные ответы и синтезируется окончательный результат.
Агентные слои для трубопроводов RAG
- Фрезеровка : Вопрос направляется в соответствующую обработку на основе знаний на основе релевантности. Пример: Когда пользователь хочет получить рекомендации по определенным категориям книг, запрос может быть направлен в базу знаний, содержащую знания об этих категориях книг.
- Планирование запросов: Это включает в себя разложение запроса на подзапросы и их последующую отправку в соответствующие индивидуальные конвейеры. Агент создает подзапросы для всех элементов, например, в данном случае для года, и отправляет их в соответствующие базы знаний.
- Использование инструмента: Языковая модель взаимодействует с API или внешним инструментом, зная, что это повлечёт за собой, на какой платформе предполагается взаимодействие и когда это необходимо. Пример: получив запрос пользователя на прогноз погоды на определённый день, языковая модель взаимодействует с API погоды, определяя местоположение и дату, а затем анализирует ответ, полученный от API, чтобы предоставить нужную информацию.
- ReAct это итеративный процесс мышления и действия в сочетании с планированием, использованием инструментов и наблюдением.
Например, чтобы разработать комплексный план отпуска, система учитывает пожелания пользователя и получает информацию о маршруте, туристических достопримечательностях, ресторанах и вариантах размещения, обращаясь к API. Затем система проверяет результаты на корректность и релевантность, создавая подробный план путешествия, соответствующий запросам и расписанию пользователя. - Планирование динамического запроса: Вместо последовательного выполнения агент выполняет многочисленные действия или подзапросы одновременно, а затем агрегирует эти результаты.
Например, если требуется сравнить финансовые результаты двух компаний и определить разницу в каком-либо показателе, то агент будет обрабатывать данные по обеим компаниям параллельно, прежде чем объединять результаты; LLMCompiler — одна из таких платформ, которая обеспечивает эффективную оркестровку параллельного вызова функций.
Агентный 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 стремятся к повышению эффективности по мере добавления всё большего количества данных в конвейеры.








