Автоматизация оценки агентов с помощью API Power Platform

Copilot Studio предоставляет производителям инструменты для непрерывной оценки производительности агентов путём запуска автоматизированных тестов с заранее определёнными наборами тестов с использованием Power Platform REST API. Используя REST API, вы можете программно запускать оценки агентов в рамках рабочих процессов разработки, например, во время обновлений агентов, проверки релизов или регрессионного тестирования.

Автоматизация оценок помогает вам:

  • Проверьте качество агента после внесения изменений.
  • Проводите повторяющиеся проверки производительности с производственными или стадифицирующими агентами.
  • Интегрировать тестирование агентов в CI/CD конвейеры.
  • Обнаружить регрессии в поведении агентов на ранних этапах жизненного цикла разработки.

Prerequisites

  • У вас есть идентификатор бота и идентификатор среды для целевого агента.
  • Тестовый набор c0<> созданный в Copilot Studio для вашего целевого агента.
  • Пользовательский токен доступа, выпущенный Microsoft Entra ID (OAuth 2.0). Чтобы получить токен, см. раздел «Аутентификация».
    • Получите токен доступа, используя идентификатор клиента регистрации приложения, который имеет соответствующий объем, предоставленный API Power Platform.

Обзор выполнения оценок с использованием REST API

Чтобы провести оценку с помощью API Power Platform, следуйте следующим общим шагам:

  1. Выполните все необходимые требования.
  2. Найдите и получите ID тестового набора нужного вам тестового набора.
  3. Проведите оценку.
  4. Получите результаты с помощью идентификатора запуска оценки.

Когда запрос удовлетворён, оценка проходит асинхронно и даёт результаты, которые можно просмотреть в Copilot Studio.

Операции API для автоматизации оценок

Copilot Studio поддерживает операции REST API, которые можно использовать для программного запуска оценок вашего агента с помощью существующего тестового набора.

Для получения дополнительной информации о том, как и когда использовать API Power Platform, см.:

Получите тестовые наборы агентов

  • Конечная точка:GET https://api.powerplatform.com/copilotstudio/environments/{EnvironmentId}/bots/{BotId}/api/makerevaluation/testsets?api-version=2024-10-01
  • Цель: Получить массив идентификаторов тестового множества и другие детали конкретного агента.
  • Ответ: Возвращает список value тестовых наборов со следующей информацией:
    • auditInfo: Временные метки и пользовательские идентификаторы для создания и изменения каждого тестового набора
    • displayName: Название тестового набора.
    • id: ID тестового набора. Используйте в Start an agent evaluation , чтобы выбрать, какой набор тестов использовать.
    • description: Описание тестового набора.
    • state: Статус тестового набора. Используемый тестовый набор имеет статус Active.
    • totalTestCases: Количество тестовых случаев внутри тестового набора.

Узнайте больше в разделе List Maker Evaluation Test Sets.

Получите детали тестового набора агентов

  • Конечная точка:GET https://api.powerplatform.com/copilotstudio/environments/{EnvironmentId}/bots/{BotId}/api/makerevaluation/testsets/{TestSetId}?api-version=2024-10-01
  • Цель: Получить данные для конкретного тестового набора с использованием идентификатора тестового набора.
  • Ответ: Возвращает информацию о одном элементе в массиве откликов тестовых наборов агента Get.

Узнайте больше в разделе List Maker Evaluation Test Sets.

Начните оценку агента

  • Конечная точка:POST https://api.powerplatform.com/copilotstudio/environments/{EnvironmentId}/bots/{BotId}/api/makerevaluation/testsets/{TestSetId}/run?api-version=2024-10-01
  • Цель: Выполнить оценку для тестового набора с использованием idтестового набора . Вы также можете добавить профиль пользователя для аутентификации соединений во время проверки. Используйте mcsConnectionId для указания профиля пользователя. Если вы не добавите an mcsConnectionId в свой звонок, оценка проходит без аутентификации.
  • Ответ: Возвращает следующую информацию:
    • runId: ID для оценочного запуска. Используйте этот идентификатор для получения данных оценки.
    • lastUpdatedAt: Когда последний раз обновлялся статус серии.
    • executionState: Статус запуска во время проведения оценки.
    • state: Текущее состояние пробега.
    • totalTestCases: Общее количество тестовых случаев в тестовом наборе, используемом для оценки.
    • testCasesProcessed: Общее количество тестовых случаев, оценённых по состоянию на последнее обновление.

Узнайте больше в Run Maker Evaluation Test Set.

Получите тестовые запуски агентов

  • Конечная точка:GET https://api.powerplatform.com/copilotstudio/environments/{EnvironmentId}/bots/{BotId}/api/makerevaluation/testruns?api-version=2024-10-01
  • Цель: Получить массив всех предыдущих забегов.
  • Ответ: Каждый элемент в массиве содержит те же значения, что и в деталях тестирования агента Get Agent.

Узнайте больше в разделе Test Runs для List Maker Assessment Tests.

Получите детали тестирования агента

  • Конечная точка:GET https://api.powerplatform.com/copilotstudio/environments/{EnvironmentId}/bots/{BotId}/api/makerevaluation/testruns/{TestRunId}?api-version=2024-10-01
  • Цель: Получите детали оценки, используя runId его для вашего целевого запуска.
  • Ответ: Возвращает следующую информацию:
    • id: ID для оценочного запуска. Используйте этот идентификатор для получения данных оценки.
    • environmentId: ID для окружающей среды вашего агента.
    • cdsBotId: ID целевого агента.
    • ownerId: ID пользователя, который начал запуск оценки.
    • testSetId: ID тестового набора, используемого для оценки.
    • state: Статус прогресса оценки.
    • startTime: Когда началась оценка.
    • endTime: Когда оценка закончилась, если она закончилась.
    • name: Название оценки.
    • totalTestCases: Общее количество тестовых случаев в тестовом наборе.
    • mcsConnectionId: идентификатор соединения для Copilot Studio подключения пользовательского профиля, используемого для оценки. null если профиль пользователя не подключён.
    • testCasesResults: Список тестовых случаев в ходе оценки. Включает:
      • testCaseId: ID тестового случая.
      • state: Статус завершения тестового дела.
      • metricsResults: Детали и результаты для каждого метода тестирования, используемого в тестовом случае. Включает следующее:
        • type: Метод тестирования.
        • result: Итоговый результат теста для этого тестового случая. Включает следующее:
          • data: Детали результата. Точные значения зависят от метода тестирования. Узнайте больше в документации API Power Platform. Для общего теста качества ответ включает следующее:
            • abstention: Ответил ли агент на вопрос.
            • relevance: Был ли ответ релевантным.
            • completeness: Полный ли ответ.
        • status: Статус тестового дела.
        • errorReason: Если произошла ошибка, причина её ошибки.
        • aiResultReason: Объяснение результата тестового случая с помощью ИИ.

Узнайте больше в разделе Get Maker Assessment Test Run.

Используйте идентификатор Microsoft Studio Connector для оценок

Для Start a agent evaluation вы можете по желанию добавить Microsoft Studio Connector ID в звонок как пользовательский профиль для оценки. Чтобы найти ваши mcsConnectionId:

  1. Перейдите в Power Automate.
  2. Откройте страницу «Связи ».
  3. Выберите соединение Microsoft Copilot Studio.
  4. Скопируйте mcsConnectionId их с URL: .../connections/shared_microsoftcopilotstudio/{mcsConnectionId}/details