Мониторинг агентов с помощью панели мониторинга агента

Важно

Элементы, помеченные (предварительная версия) в этой статье, в настоящее время находятся в общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания, и мы не рекомендуем ее для рабочих нагрузок. Некоторые функции могут не поддерживаться или могут иметь ограниченные возможности. Дополнительные сведения см. в разделе Supplemental Terms of Use for Microsoft Azure Previews.

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

В этой статье рассматриваются два подхода: просмотр метрик на портале Foundry и настройка непрерывной оценки программным способом с помощью пакета SDK для Python.

Необходимые условия

  • Проект Foundry с по крайней мере одним агентом.
  • Ресурс Application Insights, подключенный к проекту.
  • Python версии 3.9 или новее (требуется для использования Python SDK).
  • Azure доступ на основе ролей (RBAC) к ресурсу Application Insights. Для представлений на основе журналов также требуется доступ к связанной рабочей области Log Analytics. Чтобы проверить доступ, откройте ресурс Application Insights на портале Azure, выберите элемент управления Access (IAM) и убедитесь, что учетная запись имеет соответствующую роль. Для доступа к журналам назначьте роль обозревателя Log Analytics.

Подключить «Application Insights»

Панель мониторинга агента считывает данные телеметрии из ресурса Application Insights, подключенного к проекту Foundry. Если вы еще не подключили Application Insights, выполните действия по настройке трассировки и вернитесь к этой статье.

Просмотр метрик агента (предварительная версия)

Чтобы просмотреть метрики для агента на портале Foundry, выполните следующие действия.

  1. Войдите в Microsoft Foundry. Убедитесь, что переключатель New Foundry включен. Эти действия относятся к Foundry (new).

  2. В верхней области навигации выберите " Сборка", а затем выберите агент, для которого нужно просмотреть данные.

  3. Перейдите на вкладку "Монитор", чтобы просмотреть операционные, оценочные данные и данные красной команды вашего агента.

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

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

  • Сводные карточки в верхней части для высокоуровневых метрик.

  • Диаграммы и графики ниже для детализированных сведений. Эти визуализации отражают данные для выбранного диапазона времени.

Общие сведения о метриках панели мониторинга

Используйте эти определения для интерпретации панели мониторинга:

  • Использование токенов: количество использования токенов для трафика агента в выбранном диапазоне времени. Высокое использование токенов может указывать на подробные запросы или ответы, которые могут быть оптимизированы.
  • Задержка: время реакции для запусков агента. Задержка выше 10 секунд может указывать на ограничение производительности модели, сложные вызовы инструментов или проблемы с сетью.
  • Процент успешных запусков: доля выполненных запусков, завершившихся успешно. Процент ниже 95% требует расследования неудачных процессов.
  • Метрики оценки: оценки, созданные оценщиками, которые работают на выборках данных, полученных от агента. Оценки зависят от эксперта; ознакомьтесь с документацией по оценщикам, чтобы получить рекомендации по интерпретации.
  • Результаты красной команды: результаты от запланированных сканирований красной команды, если они включены. Неудачные проверки указывают на потенциальные риски безопасности, требующие исправления.

Примечание

Данные мониторинга хранятся в подключенном ресурсе Application Insights. Сохранение данных и выставление счетов зависят от вашей конфигурации Application Insights.

Настройка параметров

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

Снимок экрана: панель

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

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

Настройка непрерывной оценки

Используйте пакет SDK Python или .NET, чтобы настроить правила непрерывной оценки для ответов агента.

Для этого раздела требуется Python 3.9 или более поздней версии.

pip install "azure-ai-projects>=2.0.0" python-dotenv

Задайте эти переменные среды собственными значениями:

  • AZURE_AI_PROJECT_ENDPOINT: Конечная точка проекта Foundry, как показано на странице обзора проекта на портале Foundry.
  • AZURE_AI_AGENT_NAME: имя агента, используемого для оценки.
  • AZURE_AI_MODEL_DEPLOYMENT_NAME: имя развертывания модели.

Назначение разрешений для непрерывной оценки

Чтобы включить правила непрерывной оценки, назначьте управляемое удостоверение проекта роли Пользователь Azure AI.

  1. На портале Azure откройте ресурс для проекта Foundry.
  2. Выберите элемент управления доступом (IAM) и нажмите кнопку "Добавить".
  3. Создайте назначение роли для пользователя Azure AI.
  4. Для члена выберите управляемое удостоверение проекта Foundry.

Создание агента

import os
from dotenv import load_dotenv
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
from azure.ai.projects.models import (
    PromptAgentDefinition,
)

load_dotenv()

endpoint = os.environ["AZURE_AI_PROJECT_ENDPOINT"]

with (
    DefaultAzureCredential() as credential,
    AIProjectClient(endpoint=endpoint, credential=credential) as project_client,
    project_client.get_openai_client() as openai_client,
):
    agent = project_client.agents.create_version(
        agent_name=os.environ["AZURE_AI_AGENT_NAME"],
        definition=PromptAgentDefinition(
            model=os.environ["AZURE_AI_MODEL_DEPLOYMENT_NAME"],
            instructions="You are a helpful assistant that answers general questions",
        ),
    )
    print(f"Agent created (id: {agent.id}, name: {agent.name}, version: {agent.version})")

Ссылки: AIProjectClient, DefaultAzureCredential

Создание правила непрерывной оценки

Определите оценку и правило, которое выполняется при завершении ответа. Дополнительные сведения о поддерживаемых вычислителях см. в статье "Встроенные оценщики".

from azure.ai.projects.models import (
    EvaluationRule,
    ContinuousEvaluationRuleAction,
    EvaluationRuleFilter,
    EvaluationRuleEventType,
)

data_source_config = {"type": "azure_ai_source", "scenario": "responses"}
testing_criteria = [
    {"type": "azure_ai_evaluator", "name": "violence_detection", "evaluator_name": "builtin.violence"}
]
eval_object = openai_client.evals.create(
    name="Continuous Evaluation",
    data_source_config=data_source_config,  # type: ignore
    testing_criteria=testing_criteria,  # type: ignore
)
print(f"Evaluation created (id: {eval_object.id}, name: {eval_object.name})")

continuous_eval_rule = project_client.evaluation_rules.create_or_update(
    id="my-continuous-eval-rule",
    evaluation_rule=EvaluationRule(
        display_name="My Continuous Eval Rule",
        description="An eval rule that runs on agent response completions",
        action=ContinuousEvaluationRuleAction(eval_id=eval_object.id, max_hourly_runs=100),
        event_type=EvaluationRuleEventType.RESPONSE_COMPLETED,
        filter=EvaluationRuleFilter(agent_name=agent.name),
        enabled=True,
    ),
)
print(
    f"Continuous Evaluation Rule created (id: {continuous_eval_rule.id}, name: {continuous_eval_rule.display_name})"
)

Ссылки: EvaluationRuleEventType, EvaluationRule

Проверка результатов непрерывной оценки

  1. Создайте трафик агента (например, запустите приложение или тестируйте агента на портале).
  2. На портале Foundry откройте агент и выберите Монитор.
  3. Просмотрите диаграммы, связанные с оценкой, для выбранного диапазона времени.

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

Вы также можете перечислить последние запуски оценки и открыть URL-адрес отчета:

eval_run_list = openai_client.evals.runs.list(
    eval_id=eval_object.id,
    order="desc",
    limit=10,
)

if len(eval_run_list.data) > 0 and eval_run_list.data[0].report_url:
    print(f"Report URL: {eval_run_list.data[0].report_url}")

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

Помимо сторонних оценщиков, вы можете принести собственные вычислители для непрерывных вычислений. Чтобы настроить пользовательские вычислители, выполните действия, описанные в разделе "Пользовательские вычислители( предварительная версия)".

Чтобы добавить пользовательские оценщики в непрерывные оценки, следуйте этим шагам.

  1. На вкладке "Монитор " выберите "Параметры".
  2. Перейдите на вкладку непрерывной оценки .
  3. Выберите Добавить оценщика(-ов).
  4. Выберите настраиваемых оценщиков, которых вы хотите включить.

Полный пример кода

Чтобы просмотреть полный пример кода, см. следующее:

Устранение неполадок

Проблема Причина Разрешение
Диаграммы панели мониторинга пусты Нет недавнего трафика, интервал времени исключает данные или задержку обработки данных. Создайте новый трафик агента, разверните диапазон времени и обновите его через несколько минут.
Вы видите ошибки авторизации Отсутствуют разрешения RBAC в Application Insights или Log Analytics Подтвердите доступ в элементе управления доступом (IAM) для подключенных ресурсов. Для доступа к журналам назначьте роль обозревателя Log Analytics.
Результаты непрерывной оценки не отображаются Непрерывная оценка не включена или не удалось создать правило Убедитесь, что правило включено, и трафик от агента передается. Если вы используете настройку Python SDK, убедитесь, что управляемое удостоверение проекта имеет роль пользователь Azure AI.
Запуски оценки пропускаются Достигнуто ограничение почасовых запусков Увеличьте параметр max_hourly_runs в конфигурации правила оценки или дождитесь следующего часа. Ограничение по умолчанию составляет 100 запусков в час.

Мониторинг и настройка непрерывной оценки для пользовательских агентов

Foundry может служить централизованным расположением для мониторинга агентов, даже если агенты не работают на платформе. В системе управления Foundry можно подключить агентов, работающих в других местах, с помощью шлюза на базе ИИ. Затем вы можете настроить ваш агент для отправки трассировочных данных в тот же экземпляр Application Insights вместе с проектом Foundry. Эта настройка позволяет непрерывно оценивать и отслеживать метрики, такие как частота ошибок для агентов, не работающих в Foundry.

Настройте мониторинг для ваших пользовательских агентов

  1. Подключение пользовательского агента к Foundry с помощью инструкций в разделе "Регистрация пользовательских агентов" и управление ими.
  2. Настройте агента для соблюдения семантических соглашений для генеративных ИИ-решений в стандарте OpenTelemetry.
  3. Настройте свой агент для отправки данных телеметрии в тот же экземпляр Application Insights, что и проект Foundry, чтобы активировать функции непрерывной оценки.
  4. В панели управления Foundry откройте страницу "Ресурс " и выберите своего агента.
  5. Перейдите на вкладку "Монитор ", чтобы просмотреть метрики и диаграммы.
  6. Настройте непрерывные оценки с помощью методов, описанных в разделе "Настройка параметров".