Microsoft Foundry SDK を使用したクラウド評価の概要

クラウド評価を使用して、ローカル コンピューティングを管理することなく、大規模な生成 AI アプリケーションをテストします。 この記事では、共有 SDK クライアントを設定し、デプロイ前または運用評価のワークフローを選択するのに役立ちます。

前提条件

  • フォンドリー プロジェクト

  • gpt-5-miniなど、チャットの完了をサポートする GPT モデルを使用した Azure OpenAI デプロイ。

  • Foundry プロジェクトにおける Foundry User ロール。

    Important

    Foundry RBAC ロールの名前が最近変更されました。 Foundry User, Foundry Owner, Foundry Account Owner、および Foundry Project Manager は、以前は、AZURE AI ユーザー、Azure AI 所有者、Azure AI アカウント所有者、および AZURE AI Project Manager という名前でした。 名前の変更がロールアウトされている間、以前の名前が表示される場合があります。ロール ID とコア アクセス許可は、名前の変更によって変更されません。

  • 必要に応じて、評価データ用のお客様自身のストレージ アカウント

一部の評価機能には、地域的な制限があります。 始める前に、サポートされているリージョンを確認してください。

SDK クライアントを設定する

言語の SDK をインストールします。 次の共有環境変数を設定します。

  • AZURE_AI_PROJECT_ENDPOINT: Foundry プロジェクト エンドポイント (たとえば、 https://<account_name>.services.ai.azure.com/api/projects/<project_name>)。
  • AZURE_AI_MODEL_DEPLOYMENT_NAME: AI 支援エバリュエーターによって使用されるモデルデプロイ。
  • DATASET_NAME および DATASET_VERSION: 再利用可能なデータセットの省略可能な値。

DefaultAzureCredentialで認証し、プロジェクト クライアントを作成し、評価 API で使用される OpenAI クライアントを取得します。

pip install "azure-ai-projects>=2.2.0"
import os
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
from azure.ai.projects.models import TestingCriterionAzureAIEvaluator
from openai.types.eval_create_params import DataSourceConfigCustom
from openai.types.evals.create_eval_jsonl_run_data_source_param import (
    CreateEvalJSONLRunDataSourceParam,
    SourceFileContent,
    SourceFileContentContent,
    SourceFileID,
)

endpoint = os.environ["AZURE_AI_PROJECT_ENDPOINT"]
model_deployment_name = os.environ.get(
    "AZURE_AI_MODEL_DEPLOYMENT_NAME", ""
)
dataset_name = os.environ.get("DATASET_NAME", "")
dataset_version = os.environ.get("DATASET_VERSION", "1")

project_client = AIProjectClient(
    endpoint=endpoint,
    credential=DefaultAzureCredential(),
)
openai_client = project_client.get_openai_client()

リファレンス: AIProjectClientDefaultAzureCredential

管理者接続を介して接続されたモデルをターゲットとして使用する、モデルを判断する、または会話シミュレーターを使用する方法については、「 クラウド評価で管理者に接続されたモデルを使用する」を参照してください。

評価ワークフローを理解する

クラウド評価には、次の 3 つの手順があります。

  1. データ図形と、それをスコア付けするエバリュエーターを定義します。
  2. 評価クライアントを使用して評価を作成します。
  3. 実行を開始し、完了するまでポーリングを行い、スコアリング結果を取得します。

クラウド評価結果は Foundry プロジェクトに格納されます。 SDK を使用して取得したり、ポータルで確認したり、接続時に Application Insights にルーティングしたりできます。

エバリュエーターの選択

エバリュエーターは、列マッピングを使用してデータ内のフィールドにバインドします。 データセット ワークフローでは項目フィールドが公開されますが、ターゲット生成ワークフローでは、サンプル スキーマを介してモデルまたはエージェントの出力も公開されます。

テスト条件を構成する前 に、組み込みのエバリュエーターカスタム エバリュエーター を確認します。

出発点を選択する

評価単位 開始ポイント Workflow
個々のターン クエリと応答を含む JSONL または CSV テスト データがある。 クエリ応答データセットを評価する
個々のターン クエリがあり、モデルまたはエージェントで応答を生成する必要がある。 モデルとエージェントの応答を評価する
個々のターン デプロイされたモデルまたはエージェントとの個々の対話からの応答またはトレースが格納されている。 デプロイされたモデルとエージェントの相互作用を評価する
個々のターン 合成クエリを生成する必要があります。 合成クエリを生成する
会話を完了する 完全な会話のデータセットがある。 会話データセットを評価する
会話を完了する デプロイされたモデルまたはエージェントとの完全な会話をキャプチャするトレースがあります。 デプロイされたモデルとエージェントの会話を評価する
会話を完了する シミュレートされたエージェントの会話を生成して評価する必要があります。 エージェントの会話をシミュレートする
評価単位 実行のポーリング、解釈、キャンセル、またはトラブルシューティングを行う必要があります。 評価結果を取得する

敵対的な安全性テストには、 AI レッド チーミングを使用します。 スタンドアロン データセットを作成するには、「 合成評価データセットの生成」を参照してください。