クラウド評価を使用して、ローカル コンピューティングを管理することなく、大規模な生成 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()
管理者接続を介して接続されたモデルをターゲットとして使用する、モデルを判断する、または会話シミュレーターを使用する方法については、「 クラウド評価で管理者に接続されたモデルを使用する」を参照してください。
評価ワークフローを理解する
クラウド評価には、次の 3 つの手順があります。
- データ図形と、それをスコア付けするエバリュエーターを定義します。
-
openai_client.evals.create()を使用して評価を作成します。 -
openai_client.evals.runs.create()で実行を開始し、完了するまでポーリングして、スコア付けされた結果を取得します。
クラウド評価結果は Foundry プロジェクトに格納されます。 SDK を使用して取得したり、ポータルで確認したり、接続時に Application Insights にルーティングしたりできます。
エバリュエーターの選択
エバリュエーターは、列マッピングを使用してデータ内のフィールドにバインドします。 データセット ワークフローでは項目フィールドが公開されますが、ターゲット生成ワークフローでは、サンプル スキーマを介してモデルまたはエージェントの出力も公開されます。
テスト条件を構成する前 に、組み込みのエバリュエーター と カスタム エバリュエーター を確認します。
出発点を選択する
| 開始ポイント | Workflow |
|---|---|
| クエリと応答を含む JSONL または CSV テスト データがある。 | クラウド内のデータセットを評価する |
| クエリがあり、モデルまたはエージェントで応答を生成する必要がある。 | クラウド内のモデルとエージェントを評価する |
| Application Insights トレースを使用してモデルまたはエージェントをデプロイしました。 | デプロイされたエージェントとモデルの相互作用を評価する |
| 完全な会話データまたは実稼働の会話トレースがある。 | クラウドでの会話を評価する |
| 合成クエリまたはシミュレートされた会話が必要です。 | 合成データを生成する |
| 実行のポーリング、解釈、取り消し、またはトラブルシューティングを行う必要があります。 | クラウド評価結果を取得する |
敵対的な安全性テストには、 AI レッド チーミングを使用します。 スタンドアロン データセットを作成するには、「 合成評価データセットの生成」を参照してください。