Important
この記事で "(プレビュー)" と付記されている項目は、現在、パブリック プレビュー段階です。 このプレビューはサービス レベル アグリーメントなしで提供されており、運用環境ではお勧めしません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳細については、「 Microsoft Azure プレビューの追加使用条件」を参照してください。
この GitHub アクション により、CI/CD パイプライン内での Microsoft Foundry エージェント のオフライン評価が可能になります。 オフライン評価プロセスを合理化するように設計されているため、運用環境に更新プログラムをリリースする前に潜在的な問題を特定し、改善することができます。
このアクションを使用するには、テスト クエリとエバリュエーターの一覧を含むデータ セットを指定します。 このアクションにより、クエリを使用してエージェントが呼び出され、評価が実行され、概要レポートが生成されます。
Features
- エージェント評価: CI/CD ワークフローで Microsoft Foundry エージェントの実稼働前評価を自動化します。
- エバリュエーター: Foundryのエバリュエーターカタログからエバリュエーターを使用します。
- 統計分析: 評価結果には信頼区間が含まれており、統計的有意性をテストして、ランダムな変動による変化ではなく意味があるかどうかを判断します。
エバリュエーターのカテゴリ
- エージェント エバリュエーター: エージェント ワークフローのプロセス とシステム レベルのエバリュエーター。
- RAG エバリュエーター: RAG システムでエンド ツー エンドのプロセスと取得プロセスを評価します。
- リスクと安全の評価者: 対応に関するリスクと安全上の懸念を評価します。
- 汎用エバリュエーター: 一貫性や流暢性などの品質評価。
- OpenAI ベースの採点者: 文字列チェック、テキストの類似性、スコア/ラベル モデルを含む OpenAI 採点者を使用します。
- カスタム エバリュエーター: Python コードまたは LLM の判断パターンを使用して、独自のカスタム エバリュエーターを定義します。
[前提条件]
- プロジェクト。 詳細については、「 プロジェクトの作成」を参照してください。
- Foundry エージェント。
ヒント
認証には、Microsoft Entra ID を使用することをお勧めします。これにより、Azure リソースに安全に接続できます。 Azure Login GitHub アクションを使用して、認証プロセスを自動化できます。 詳細については、 OpenID Connect を使用した Azure ログイン アクションに関するページを参照してください。
AI エージェントの評価を設定する方法
AI エージェント評価の入力
パラメーター
| 氏名 | 必須ですか? | [説明] |
|---|---|---|
| azure-ai-project-endpoint | イエス | Microsoft Foundry プロジェクトのエンドポイント。 |
| デプロイメント名 | イエス | 評価に使用する Azure AI モデル デプロイの名前。 |
| data-path | イエス | 評価用のエバリュエーターと入力クエリを含むデータ ファイルへのパス。 |
| エージェントID | イエス | 形式 agent-name:version で評価する 1 つ以上のエージェントの ID ( my-agent:1 や my-agent:1,my-agent:2など)。 複数のエージェントがコンマで区切られ、統計的なテスト結果と比較されます。 |
| ベースライン・エージェント・ID | いいえ | 複数のエージェントを評価するときに比較するベースライン エージェントの ID。 指定しない場合は、最初のエージェントが使用されます。 |
データ ファイル
入力データ ファイルは、次の構造の JSON ファイルである必要があります。
| フィールド | タイプ | 必須ですか? | [説明] |
|---|---|---|---|
| 名前 | 文字列 | イエス | 評価データセットの名前。 |
| エバリュエータ | string[] | イエス | 使用するエバリュエーター名の一覧。 Foundry ポータルのプロジェクトのエバリュエーター カタログで使用可能なエバリュエーターの一覧を確認します。Build > Evaluations > Evaluator catalog. |
| データ | object[] | イエス |
queryとオプションのエバリュエーター フィールド (ground_truth、context など) を含む入力オブジェクトの配列。 エバリュエーターに自動マップされます。 data_mapping を使用してオーバーライドします。 |
| オープンAIグレーダーズ | オブジェクト | いいえ | OpenAI ベースのエバリュエーター (label_model、score_model、string_checkなど) の構成。 |
| 評価者パラメータ | オブジェクト | いいえ | エバリュエーター固有の初期化パラメーター (しきい値、カスタム設定など)。 |
| data_mapping | オブジェクト | いいえ | ユーザー設定のデータ フィールド マッピング (指定されていない場合はデータから自動生成されます)。 |
基本的なサンプル データ ファイル
{
"name": "test-data",
"evaluators": [
"builtin.fluency",
"builtin.task_adherence",
"builtin.violence",
],
"data": [
{
"query": "Tell me about Tokyo disneyland"
},
{
"query": "How do I install Python?"
}
]
}
その他のサンプル データ ファイル
| Filename | [説明] |
|---|---|
| dataset-tiny.json | テスト クエリとエバリュエーターの数が少ないデータセット。 |
| dataset.json | サポートされているすべてのエバリュエーター型と、信頼区間の計算と統計テストのための十分なクエリを含むデータセット。 |
| dataset-builtin-evaluators.json | 組み込みの Foundry エバリュエーターの例 (一貫性、流暢さ、関連性、接地性、メトリックなど)。 |
| dataset-openai-graders.json | OpenAI ベースの採点者の例 (ラベル モデル、スコア モデル、テキストの類似性、文字列チェック)。 |
| dataset-custom-evaluators.json | エバリュエーター パラメーターを用いたカスタム エバリュエーターの例。 |
| dataset-data-mapping.json | 自動フィールド マッピングをカスタム データ列名でオーバーライドする方法を示すデータ マッピングの例。 |
AI エージェントの評価ワークフロー
GitHub アクションを使用するには、GitHub アクションを CI/CD ワークフローに追加します。 コミット時などのトリガー条件と、自動化されたワークフローをトリガーするファイル パスを指定します。
ヒント
コストを最小限に抑えるために、すべてのコミットで評価を実行しないでください。
この例では、エージェント ID を使用して異なるエージェントを比較するときに、Azure Agent AI Evaluation を実行する方法を示します。
name: "AI Agent Evaluation"
on:
workflow_dispatch:
push:
branches:
- main
permissions:
id-token: write
contents: read
jobs:
run-action:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Azure login using Federated Credentials
uses: azure/login@v2
with:
client-id: ${{ vars.AZURE_CLIENT_ID }}
tenant-id: ${{ vars.AZURE_TENANT_ID }}
subscription-id: ${{ vars.AZURE_SUBSCRIPTION_ID }}
- name: Run Evaluation
uses: microsoft/ai-agent-evals@v3-beta
with:
# Replace placeholders with values for your Foundry Project
azure-ai-project-endpoint: "<your-ai-project-endpoint>"
deployment-name: "<your-deployment-name>"
agent-ids: "<your-ai-agent-ids>"
data-path: ${{ github.workspace }}/path/to/your/data-file
AI エージェント評価の出力
評価結果は、GitHub の Actions で実行される各 AI Evaluation GitHub アクションの概要セクションに出力されます。
2 つのエージェントを比較するためのサンプル レポートを次に示します。