Exécuter des évaluations cloud avec le Kit de développement logiciel (SDK) Microsoft Foundry

Utilisez des évaluations cloud pour tester des applications IA génératives à grande échelle sans gérer le calcul local. Cet article configure le client du Kit de développement logiciel (SDK) partagé et vous aide à choisir un flux de travail pour la prédéploiement ou l’évaluation de production.

Prerequisites

  • Un projet Foundry.

  • Un déploiement Azure OpenAI avec un modèle GPT qui prend en charge la complétion de conversation, comme gpt-5-mini.

  • Rôle Utilisateur Foundry sur le projet Foundry.

    Important

    Les rôles Foundry RBAC ont été récemment renommés. Foundry User, Foundry Owner, Propriétaire du compteFoundry et Foundry Project Manager ont été précédemment nommés Azure utilisateur IA, Azure propriétaire d’IA, propriétaire Azure compte IA et Azure gestionnaire Project IA. Il se peut que vous voyiez encore les anciens noms à certains endroits pendant le déploiement de ce changement de nom. Les ID de rôle et les autorisations de base ne sont pas modifiés par ce changement de nom.

  • Si vous le souhaitez, votre propre compte de stockage pour les données d’évaluation.

Certaines fonctionnalités d’évaluation ont des restrictions régionales. Passez en revue les régions prises en charge avant de commencer.

Configurer le client du Kit de développement logiciel (SDK)

Installez le Kit de développement logiciel (SDK) pour votre langue. Définissez ces variables d’environnement partagé :

  • AZURE_AI_PROJECT_ENDPOINT: point de terminaison de votre projet Foundry, par exemple https://<account_name>.services.ai.azure.com/api/projects/<project_name>.
  • AZURE_AI_MODEL_DEPLOYMENT_NAME: Le déploiement du modèle utilisé par les évaluateurs assistés par l’IA.
  • DATASET_NAME et DATASET_VERSION: valeurs facultatives pour les jeux de données réutilisables.

Authentifiez-vous avec DefaultAzureCredential, créez le client de projet et obtenez le client OpenAI utilisé par l’API d’évaluation.

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()

Pour utiliser un modèle connecté via des connexions d’administration en tant que cible, modèle de juge ou simulateur de conversation, consultez Utiliser des modèles connectés par l’administrateur dans les évaluations cloud.

Comprendre le flux de travail d’évaluation

Une évaluation cloud comporte trois étapes :

  1. Définissez la forme de données et les évaluateurs qui les notent.
  2. Créez l’évaluation avec openai_client.evals.create().
  3. Démarrez une exécution avec openai_client.evals.runs.create(), interrogez jusqu’à ce qu’elle se termine et récupérez les résultats marqués.

Les résultats de l’évaluation cloud sont stockés dans votre projet Foundry. Vous pouvez les récupérer via le Kit de développement logiciel (SDK), les examiner dans le portail ou les router vers Application Insights lorsqu’il est connecté.

Choisir des évaluateurs

Les évaluateurs sont liés à des champs dans vos données via des mappages de colonnes. Les flux de travail d’ensemble de données exposent les champs des éléments, tandis que les flux de travail générés à partir de la cible exposent également la sortie du modèle ou de l’agent via le schéma de l’échantillon.

Passez en revue les évaluateurs intégrés et les évaluateurs personnalisés avant de configurer les critères de test.

Choisir votre point de départ

Point de départ Workflow
Vous disposez de données de test JSONL ou CSV avec requête et réponse. Évaluer les jeux de données dans le cloud
Vous avez des requêtes et souhaitez qu’un modèle ou un agent génère des réponses. Évaluer des modèles et des agents dans le cloud
Vous avez déployé un modèle ou un agent avec des traces Application Insights. Évaluer les interactions de l’agent et du modèle déployés
Vous disposez de l’ensemble des données de conversation ou de traces de conversations en production. Évaluer les conversations dans le cloud
Vous avez besoin de requêtes synthétiques ou de conversations simulées. Générer des données synthétiques
Vous devez interroger, interpréter, annuler ou résoudre les problèmes liés à une exécution. Obtenir les résultats de l’évaluation cloud

Pour les tests de sécurité en conditions adverses, utilisez le red teaming de l’IA. Pour créer un jeu de données autonome, consultez Générer un jeu de données d’évaluation synthétique.