Поделиться через


Извлечение агентского типа в поисковой системе ИИ Azure

Замечание

Эта функция сейчас доступна в общедоступной предварительной версии. Этот предварительный просмотр предоставляется без соглашения об уровне обслуживания и не предназначается для производственных рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Для получения дополнительной информации см. Дополнительные условия использования для предварительных версий Microsoft Azure.

В Azure AI Search агентный поиск — это новый конвейер запросов, предназначенный для сложных вопросов, задаваемых пользователями или агентами в чат-приложениях и copilot. В нем используется большая языковая модель (LLM), чтобы разбить вопрос на небольшие подзапросы, часто используя историю чата для контекста. Эти вложенные запросы выполняются параллельно, каждый ищет наиболее релевантный контент в индексе. Результаты ранжируются по семантической релевантности, объединяются и отправляются обратно в LLM, чтобы помочь создать точные ответы, используя ваше собственное содержимое.

Программно извлечение данных с агентной функцией поддерживается через новый объект Knowledge Agents в REST API уровня данных 2025-05-01-preview, а также в предварительных пакетах SDK Azure, которые предоставляют эту возможность. Ответ извлечения информации агентом знаний предназначен для последующего использования другими агентами и чат-приложениями.

Почему использовать агентивное извлечение

Следует использовать агентическое извлечение, если вы хотите предоставить агентам и приложениям наиболее релевантное содержимое для ответа на более трудные вопросы, используя контекст чата и ваше собственное содержимое.

Аспект агентности — это этап обработки планирования запросов, который выполняется поддерживаемой вами крупной языковой моделью (LLM). LLM анализирует весь поток чата, чтобы определить необходимые сведения. Вместо универсального запроса модель разбивает составные вопросы на отдельные целенаправленные подзапросы, основываясь на: вопросах пользователей, истории чата и параметрах запроса. Подзапросы нацелены на индексированные документы (обычный текст и векторы) в службе "Поиск ИИ Azure". Этот гибридный подход обеспечивает одновременное отображение совпадений ключевых слов и семантических сходств, что значительно улучшает полноту поиска.

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

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

Схема сложного запроса с подразумеваемым контекстом и намеренной опечаткой.

Извлечение агента добавляет задержку в обработку запросов, но она состоит из него, добавив следующие возможности:

  • Считывает историю чата в качестве входных данных для конвейера извлечения.
  • Перезаписывает исходный запрос в несколько вложенных запросов с помощью карт синонимов (необязательно) и парафразирования, созданного LLM.
  • Исправляет ошибки орфографии.
  • Деконструирует сложный запрос, содержащий несколько "вопросов", на составные части. Например: "Найдите мне отель рядом с пляжем, с трансфером до аэропорта и в пределах пешей доступности до вегетарианских ресторанов."
  • Выполняет все вложенные запросы одновременно.
  • Выводит унифицированный результат в виде одной строки. Кроме того, можно извлечь части ответа для вашего решения. Метаданные о выполнении запросов и ссылочных данных включаются в ответ.

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

Замечание

Включение LLM в планирование запросов добавляет задержку в конвейер запросов. Вы можете снизить последствия с помощью более быстрых моделей, таких как gpt-4o-mini, и суммировать потоки сообщений. Тем не менее, вы должны ожидать более длительное время обработки запросов с этим конвейером.

Архитектура агентского извлечения

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

Схема агентного рабочего процесса извлечения на примере запроса.

Агентное извлечение имеет следующие компоненты:

Компонент Ресурс Использование
LLM (серия gpt-4o и gpt-4.1) Azure OpenAI LLM имеет две функции. Сначала он формулирует подзапросы для плана запроса и отправляет его обратно агенту знаний. Во-вторых, после выполнения запроса LLM получает данные об основе из ответа запроса и использует его для формулировки ответа.
Индекс поиска Поиск с использованием ИИ Azure Содержит простой текст и векторное содержимое, семантику конфигурации и другие элементы по мере необходимости.
Агент знаний Поиск с использованием ИИ Azure Подключается к LLM, предоставляя параметры и входные данные для создания плана запроса.
Механизм извлечения Поиск с использованием ИИ Azure Выполняет на основе плана запросов, созданного LLM, и других параметров, возвращая обширный ответ, включающий метаданные содержимого и плана запросов. Запросы являются ключевыми словами, векторами и гибридными. Результаты объединяются и ранжируются.
Семантический ранжировщик Поиск с использованием ИИ Azure Обеспечивает переранжирование L2, повышая наиболее релевантные совпадения. Семантический ранжировщик необходим для агентивного поиска.

Решение должно включать средство или приложение, которое управляет конвейером. Агентный конвейер извлечения завершается объектом ответа, предоставляющим основные данные. Решение должно принять это оттуда, обрабатывая ответ, передав его в модель обработки естественного языка (LLM), чтобы создать ответ, который вы отображаете в тексте беседы с пользователем. Дополнительные сведения об этом шаге см. в разделе "Создание решения для извлечения агента к агенту".

Агентное извлечение включает следующие процессы:

  • Запросы на агентский поиск инициируются вызовами агента знаний в службе поиска ИИ Azure.
  • Агенты знаний подключаются к LLM и предоставляют историю бесед в качестве входных данных. Сколько истории можно настроить в зависимости от предоставленного количества сообщений.
  • LLM смотрят на беседу и определяют, следует ли разбить её на подзапросы. Количество вложенных запросов зависит от того, что решает LLM и является ли параметр maxDocsForReranker больше 50. Новый вложенный запрос определяется для каждого пакета из 50 документов, отправляемого в семантический рангер.
  • Подзапросы выполняются одновременно в Azure AI Search, создавая структурированные результаты и извлекая ссылки.
  • Результаты ранжируются и объединяются.
  • Ответы агента знаний формулируются и возвращаются в виде трехкомпонентного ответа, состоящего из единого результата (длинной строки), ссылочного массива и массива действий, который перечисляет все операции.

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

Доступность и цены

Агентное извлечение доступно во всех регионах, которые предоставляют семантический ранжировщик, на всех уровнях, кроме уровня «Бесплатный».

Выставление счетов за агентное извлечение состоит из двух частей:

  • Выставление счетов за планирование запросов — это оплата по мере использования в Azure OpenAI. Он основан на токенах как для входа, так и для выхода. Модель, назначаемая агенту знаний, является той, за использование токенов которой взимается плата. Например, если вы используете gpt-4o, плата за токены отображается в счете за gpt-4o.

  • Выставление счетов за семантическое ранжирование во время выполнения запроса. Выставление счетов приостанавливается на начальном этапе развертывания, затем переходит на модель оплаты по мере использования в службе Azure AI Search через семантический ранжировщик. Семантический рангер, который является платной функцией категории "Премиум", является неотъемлемой частью агентного извлечения. В системе Azure AI Search плата взимается за токены, вводимые в семантические модели ранжирования.

Семантическое ранжирование выполняется для каждого подзапроса в поисковом плане. Расходы на семантическое ранжирование основаны на количестве токенов, возвращаемых каждым вложенным запросом.

Аспект Классический конвейер с одним запросом Конвейер агентского извлечения мультизапросный
Единица На основе запросов (1000 запросов) на единицу валюты На основе токенов (1 миллион токенов на единицу валюты)
Затраты на единицу Унифицированные затраты на запрос Единообразные затраты на токен
Оценка затрат Оценка количества запросов Оценка использования токена
Бесплатный уровень 1000 бесплатных запросов 50 миллионов бесплатных токенов

Замечание

Существующая система выставления счетов за семантический ранжировщик остаётся неизменной, если вы используете его вне агентного поиска. Для получения информации о ценах без учета агентского поиска, смотрите страницу цен на Azure AI Search.

Пример. Оценка затрат

Агентическое извлечение имеет две модели выставления счетов: выставление счетов через Azure OpenAI (планирование запросов) и выставление счетов через Azure AI Search для семантического ранжирования (выполнение запросов).

Представленные в этой статье цены являются гипотетическими. Они используются для демонстрации процесса оценки. Ваши затраты могут быть ниже. Сведения о фактической цене транзакций см. в разделе о ценах На Azure OpenAI. Для выполнения запросов плата за семантическую ранжировку для агентного извлечения в первоначальной общедоступной предварительной версии не взимается.

Предполагаемые затраты на выставление счетов для планирования запросов

Чтобы оценить затраты на план запросов по принципу 'оплата по мере использования' в Azure OpenAI, предположим, gpt-4o-mini:

  • 15 центов за 1 миллион входных токенов.
  • 60 центов за 1 миллион выходных токенов.
  • 2 000 токенов для среднего размера чат-переписки.
  • 350 токенов для среднего размера плана вывода.

Предполагаемые затраты на выставление счетов для выполнения запросов

Чтобы оценить затраты на семантический ранжирование, связанные с агентическим извлечением, начните с представления о том, как выглядит средний документ в индексе. Например, вы могли бы приблизительно оценить:

  • 10 000 блоков, где каждый блок составляет один до двух абзацев PDF.
  • 500 токенов на блок.
  • Каждый вложенный запрос перераспределяет до 50 фрагментов.
  • В среднем для каждого плана запроса существует три вложенных запроса.

Вычисление цены на выполнение

  1. Предположим, что мы делаем 2000 агентных извлечений с тремя вложенными запросами на один план. Это дает нам около 6000 общих запросов.

  2. Переупорядочивание 50 блоков на подзапрос, всего 300 000 блоков.

  3. Средний блок составляет 500 токенов, поэтому общий объем токенов для повторного ранжирования составляет 150 миллионов.

  4. Учитывая гипотетическую цену 0,022 за токен, $3,30 является общей стоимостью для пересортировки в долларах США.

  5. Переход к плану запросов: 2000 входных токенов, умноженных на 2000 агентивных извлечений, равняется 4 миллионам входных токенов на общую сумму 60 центов.

  6. Оцените производственные затраты на основе среднего 350 токенов. Если умножить 350 на 2000 агентных извлечений, мы получим 700 000 выходных токенов, всего за 42 цента.

Сложив все это вместе, вы платите около $3,30 за семантическое ранжирование в поиске ИИ Azure, 60 центов за входные токены в Azure OpenAI и 42 цента за выходные токены в Azure OpenAI, всего $1,02 за планирование запросов. Совокупная стоимость для полного выполнения составляет 4,32 $.

Как приступить к работе

Необходимо использовать интерфейсы REST API предварительной версии или предварительно подготовленный пакет Azure SDK, предоставляющий функциональные возможности. В настоящее время нет поддержки портала Azure или портала Azure AI Foundry.

Выберите любой из этих вариантов для следующего шага.