Copilot Studioでは、Power Platform REST API を使用して、定義済みのテスト セットに対して自動テストを実行することで、エージェントのパフォーマンスを継続的に評価するツールを提供します。 REST API を使用すると、エージェントの更新、リリース検証、回帰テストなどの開発ワークフローの一部として、エージェントの評価をプログラムでトリガーできます。
評価の自動化は、次のことに役立ちます。
- 変更後にエージェントの品質を検証する
- 運用エージェントまたはステージング エージェントに対して定期的なパフォーマンス チェックを実行する
- CI/CD パイプラインにエージェント テストを統合する
- 開発ライフサイクルの早い段階でエージェントの動作の回帰を検出する
前提条件
- ターゲット エージェントの「ボット ID」と「環境 ID」があります。
- ターゲット エージェントのCopilot Studioで作成されたテスト セット。
- Microsoft Entra ID (OAuth 2.0) によって発行されたユーザー アクセス トークン。 トークンを取得するには、「 認証」を参照してください。
- Power Platform API で付与された適切なスコープを持つアプリ登録のクライアント ID を使用して、アクセス トークンを取得する必要があります。
-
エージェント評価の開始では、必要に応じて、評価のユーザー プロファイルとして使用する Microsoft Studio Connector ID を呼び出しに追加できます。 以下のようにして
mcsConnectionIdを見つけましょう。- Power Automate に移動します。
- [接続] ページを開きます。
- Microsoft Copilot Studio接続を選択します。
- URL から
mcsConnectionIdをコピーします。.../connections/shared_microsoftcopilotstudio/{mcsConnectionId}/details
REST API を使用した評価の実行の概要
Power Platform API を使用して評価を実行するには、次の一般的な手順に従います。
- 前提条件を満たす。
- 使用する テスト セットのテスト セット ID を 検索して取得します。
- 評価を実行します。
- 評価実行 ID を使用して結果を取得します。
要求が成功すると、評価は非同期的に実行され、Copilot Studioで確認できる結果が生成されます。
評価を自動化するための API 操作
Copilot Studioでは、既存のテスト セットを使用してエージェントに対する評価をプログラムでトリガーするために使用できる REST API 操作がサポートされています。
エージェント テスト セットを取得する
-
エンドポイント:
GET https://api.powerplatform.com/copilotstudio/environments/{EnvironmentId}/bots/{BotId}/api/makerevaluation/testsets?api-version=2024-10-01 - 目的: 特定のエージェントのテスト セット ID とその他の詳細の配列を取得します。
-
応答: 次の情報を含むテスト セットの
valueと呼ばれる一覧を返します。-
auditInfo: 各テスト セットを作成および変更するためのタイムスタンプとユーザー ID -
displayName: テスト セットの名前。 -
id: テスト セットの ID。 エージェント評価を開始で、使用するテストセットを選択します。 -
description: テスト セットの説明。 -
state: テスト セットの状態。 使用可能なテスト セットがActive。 -
totalTestCases: テスト セット内のテスト ケースの数。
-
エージェント テスト セットの詳細を取得する
-
エンドポイント:
GET https://api.powerplatform.com/copilotstudio/environments/{EnvironmentId}/bots/{BotId}/api/makerevaluation/testsets/{yourTestSetId}?api-version=2024-10-01 - 目的: テスト セット ID を使用して、特定のテスト セットの詳細を取得します。
- 応答: Get エージェント テスト セット 応答配列内の 1 つの項目の情報を返します。
詳細については、 Get Test Set Details API リファレンス ドキュメントを参照してください。
エージェントの評価を開始する
-
エンドポイント:
GET https://api.powerplatform.com/copilotstudio/environments/{EnvironmentId}/bots/{BotId}/api/makerevaluation/testsets/{yourTestSetId}/run?api-version=2024-10-01 -
目的: テスト セットの
idを使用して、テスト セットの評価を実行します。 評価の実行中に接続を認証するためのユーザー プロファイルを含めることもできます。mcsConnectionIdを使用して、ユーザー プロファイルを指定します。 呼び出しにmcsConnectionIdを追加しない場合、評価は認証なしで実行されます。 MCS 接続 ID を検索する方法の 前提条件 を参照してください。 -
応答: 次の情報を返します。
-
runId: 評価実行の ID。 この ID を使用して評価の詳細を取得します。 -
lastUpdatedAt: 実行の状態が最後に更新されたとき。 -
executionState: 評価を実行している間の実行状態。 -
state: 実行の現在の状態。 -
totalTestCases: 評価に使用されたテスト セット内のテスト ケースの合計数。 -
testCasesProcessed: 前回の更新時点で評価されたテスト ケースの合計数。
-
エージェント テストの実行の詳細を取得する
-
エンドポイント:
GET https://api.powerplatform.com/copilotstudio/environments/{EnvironmentId}/bots/{BotId}/api/makerevaluation/testruns/{yourTestRunId}?api-version=2024-10-01 -
目的: ターゲット評価実行の
runIdを使用して、評価の詳細を取得します。 -
応答: 次の情報を返します。
-
id: 評価実行の ID。 この ID を使用して評価の詳細を取得します。 -
environmentId: エージェントの環境 ID です。 -
cdsBotId: ターゲット エージェントの ID。 -
ownerId: 評価実行を開始したユーザーの ID。 -
testSetId: 評価に使用されるテスト セットの ID。 -
state: 評価の進行状況。 -
startTime: 評価が開始されたとき。 -
endTime: 評価が完了したとき (完了した場合)。 -
name: 評価の名前。 -
totalTestCases: テスト セット内のテスト ケースの合計数。 -
mcsConnectionId: 評価実行に使用するユーザープロファイルのCopilot Studio接続ID。nullユーザー プロファイルが接続されていない場合は 。 -
testCasesResults: 評価実行のテスト ケースの一覧。 含まれる内容:-
testCaseId: テスト ケースの ID。 -
state: テスト ケースの完了状態。 -
metricsResults: テスト ケースに使用される各テスト メソッドの詳細と結果。 含まれる内容:-
type: テスト メソッド。 -
result: このテスト ケースのテストの最終的な結果。 含まれる内容:-
data: 結果の詳細。 正確な値は、テスト メソッドによって異なります。 詳細については、Power Platform API に関するドキュメントを参照してください。 一般的な品質 テストの場合、応答には次のものが含まれます。-
abstention: エージェントがクエリに応答したかどうか。 -
relevance: 回答が関連していたかどうか。 -
completeness: 回答が完了したかどうか。
-
-
-
status: テスト ケースの 状態 。 -
errorReason: エラーが発生した場合、エラーの原因。 -
aiResultReason: テスト ケースの結果の AI の説明。
-
-
-
エージェントのテスト実行結果を取得する
-
エンドポイント:
GET https://api.powerplatform.com/copilotstudio/environments/{EnvironmentId}/bots/{BotId}/api/makerevaluation/testruns?api-version=2024-10-01 - 目的: 以前のすべての実行の配列を取得します。
- 応答: 配列内の各項目には、「 エージェントのテスト実行の詳細を取得する」で見つかったのと同じ値が含まれます。
関連資料
- エージェント評価によるテストの自動化
ツール、フロー、または Power Automate - Power Platform API ドキュメントでのエージェントの評価