重要
この記事でマークされている項目 (プレビュー) は、現在パブリック プレビュー段階です。 このプレビューはサービス レベル アグリーメントなしで提供されており、運用環境のワークロードにはお勧めしません。 特定の機能がサポートされていないか、機能が制限されている可能性があります。 詳細については、「Microsoft Azure プレビューの使用条件を参照してください。
この GitHub Action により、CI/CD パイプライン内の Microsoft Foundry Agents のオフライン評価が可能になります。 オフライン評価プロセスが効率化されるため、運用環境に更新プログラムをリリースする前に潜在的な問題を特定し、改善することができます。
このアクションを使用するには、テスト クエリとエバリュエーターの一覧を含むデータ セットを指定します。 このアクションにより、クエリを使用してエージェントが呼び出され、評価が実行され、概要レポートが生成されます。
機能
- Agent Evaluation: CI/CD ワークフロー内のMicrosoft Foundry エージェントの実稼働前評価を自動化します。
- エバリュエーター: Foundry 評価者カタログから任意の評価者を使用します。
- 統計分析: 評価結果には信頼区間が含まれており、統計的有意性をテストして、ランダムな変動による変化ではなく意味があるかどうかを判断します。
エバリュエーターのカテゴリ
- エージェント エバリュエーター: エージェント ワークフローのプロセス とシステム レベルのエバリュエーター。
- RAG エバリュエーター: RAG システムでエンド ツー エンドのプロセスと取得プロセスを評価します。
- リスクと安全の評価者: 対応に関するリスクと安全上の懸念を評価します。
- 汎用エバリュエーター: 一貫性や流暢性などの品質評価。
- OpenAI ベースの採点者: 文字列チェック、テキストの類似性、スコア/ラベル モデルを含む OpenAI 採点者を使用します。
- Custom エバリュエーター: Pythonコードまたは LLM の判断パターンを使用して、独自のカスタム エバリュエーターを定義します。
前提 条件
- プロジェクト。 詳細については、「 プロジェクトの作成」を参照してください。
- 鋳造所エージェント。
ヒント
認証には、Microsoft Entra IDを使用することをお勧めします。これを使用して、Azure リソースに安全に接続できます。 Azure ログイン GitHub アクションを使用して、認証プロセスを自動化できます。 詳細については、「Azure Login action with OpenID Connectを参照してください。
AI エージェントの評価を設定する方法
AIエージェント評価入力
パラメーター
| 名前 | 必須。 | 説明 |
|---|---|---|
| azure-ai-project-endpoint | はい | Microsoft Foundry Projectのエンドポイント。 この値を見つけるには、 Foundry ポータル でプロジェクトを開き、[ 概要 ] ページからエンドポイントをコピーします。 |
| デプロイメント名 | はい | 評価に使用するAzure AI モデル デプロイの名前。 Foundry ポータルの [モデルとエンドポイント ] で既存のデプロイを検索します。 |
| data-path | はい | 評価用のエバリュエーターと入力クエリを含むデータ ファイルへのパス。 |
| エージェントID | はい | 形式 agent-name:version で評価する 1 つ以上のエージェントの ID ( my-agent:1 や my-agent:1,my-agent:2など)。 複数のエージェントがコンマで区切られ、統計的なテスト結果と比較されます。 |
| baseline-agent-id | いいえ | 複数のエージェントを評価するときに比較するベースライン エージェントの ID。 指定しない場合は、最初のエージェントが使用されます。 |
メモ
エージェント ID とバージョンを見つけるには、 Foundry ポータルでプロジェクトを開き、[ エージェント] に移動し、エージェントを選択して、詳細ウィンドウから エージェント ID を コピーします。 バージョンは、展開バージョン番号 (たとえば、 my-agent:1) です。
データ ファイル
入力データ ファイルは、次の構造の JSON ファイルである必要があります。
| フィールド | タイプ | 必須。 | 説明 |
|---|---|---|---|
| 名前 | 文字列 | はい | 評価データセットの名前。 |
| エバリュエータ | string[] | はい | 使用するエバリュエーター名の一覧。 Foundry ポータルのプロジェクトのエバリュエーター カタログで使用可能なエバリュエーターの一覧を確認します。Build > Evaluations > Evaluator catalog. |
| データ | object[] | はい |
queryとオプションのエバリュエーター フィールド (ground_truth、context など) を含む入力オブジェクトの配列。 エバリュエーターに自動マップされます。 data_mapping を使用してオーバーライドします。 |
| openai_graders | オブジェクト | いいえ | OpenAI ベースのエバリュエーター (label_model、score_model、string_checkなど) の構成。 |
| 評価パラメータ | オブジェクト | いいえ | エバリュエーター固有の初期化パラメーター (しきい値、カスタム設定など)。 |
| データマッピング | オブジェクト | いいえ | ユーザー設定のデータ フィールド マッピング (指定されていない場合はデータから自動生成されます)。 |
基本的なサンプル データ ファイル
{
"name": "test-data",
"evaluators": [
"builtin.fluency",
"builtin.task_adherence",
"builtin.violence"
],
"data": [
{
"query": "Tell me about Tokyo disneyland"
},
{
"query": "How do I install Python?"
}
]
}
その他のサンプル データ ファイル
| ファイル名 | 説明 |
|---|---|
| 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 を使用して異なるエージェントを比較するときに AI エージェント評価を実行する方法を示します。
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 評価GitHub アクションの概要セクションに出力されます。 このレポートには、各メトリックの評価スコア、信頼区間、および複数のエージェントを評価する場合は、差分が意味のあるかランダムな変動内かを示すペアワイズ統計比較が表示されます。
次のスクリーンショットは、2 つのエージェントを比較したサンプル レポートを示しています。