Comment exécuter une évaluation dans Azure DevOps (préversion)

Important

Les éléments indiqués comme (aperçu) dans cet article sont en aperçu public. Cette préversion est fournie sans contrat de niveau de service et nous ne la recommandons pas pour les environnements de production. Certaines fonctionnalités peuvent ne pas être prises en charge ou avoir des fonctionnalités contraintes. Pour plus d’informations, consultez Conditions d'utilisation supplémentaires pour les versions préliminaires de Microsoft Azure.

Cette extension Azure DevOps permet l’évaluation hors connexion des agents Microsoft Foundry dans vos pipelines CI/CD. Il simplifie le processus d’évaluation hors connexion, ce qui vous permet d’identifier les problèmes potentiels et d’apporter des améliorations avant de publier une mise à jour en production.

Pour utiliser cette extension, fournissez un jeu de données avec des requêtes de test et une liste d’évaluateurs. Cette tâche appelle vos agents avec les requêtes, les évalue et génère un rapport de synthèse.

Fonctionnalités

  • Agent Evaluation : Automatiser l’évaluation de préproduction des agents de Microsoft Foundry dans votre flux de travail CI/CD.
  • Évaluateurs : utilisez n'importe quel évaluateur du catalogue des évaluateurs Foundry.
  • Analyse statistique : les résultats de l’évaluation incluent des intervalles de confiance et des tests de précision statistique pour déterminer si les modifications sont significatives et non en raison d’une variation aléatoire.

Catégories de l’évaluateur

Conditions préalables

  • Un projet. Pour plus d’informations, consultez Créer un projet.
  • Un agent Foundry.
  • L’extension d’évaluation de l’agent AI installée dans votre organisation Azure DevOps.

Conseil

La méthode d’authentification recommandée est Microsoft Entra ID via une connexion de service Azure Resource Manager. Créez une connexion service dans votre projet de Azure DevOps, puis référencez-la dans votre pipeline à l’aide de la tâche AzureCLI@2 avant AIAgentEvaluation@2.

Entrées

Paramètres

Nom Obligatoire? Description
projet azure-ai-point de terminaison Oui Point de terminaison de votre Microsoft Foundry Project. Pour trouver cette valeur, ouvrez votre projet dans le portail Foundry et copiez le point de terminaison à partir de la page Vue d’ensemble .
nom-de-déploiement Oui Nom d’un déploiement de modèle IA Azure à utiliser pour l’évaluation. Recherchez les déploiements existants sous Modèles + points de terminaison dans le portail Foundry.
chemin d’accès aux données Oui Chemin d’accès au fichier de données qui contient les évaluateurs et les requêtes d’entrée pour les évaluations.
identifiants d'agents Oui ID d’un ou de plusieurs agents à évaluer au format agent-name:version (par exemple, my-agent:1 ou my-agent:1,my-agent:2). Plusieurs agents sont séparés par des virgules et comparés aux résultats des tests statistiques.
identifiant-agent-de-base Non ID de l’agent de base à comparer lors de l’évaluation de plusieurs agents. S’il n’est pas fourni, le premier agent est utilisé.

Note

Pour rechercher votre ID d’agent et votre version, ouvrez votre projet dans le portail Foundry, accédez à Agents, sélectionnez votre agent et copiez l’ID de l’agent dans le volet d’informations. La version est le numéro de version du déploiement (par exemple). my-agent:1

Fichier de données

Le fichier de données d’entrée doit être un fichier JSON avec la structure suivante :

Champ Type Obligatoire? Description
Nom String Oui Nom du jeu de données d’évaluation.
Évaluateurs string[] Oui Liste des noms d’évaluateurs à utiliser. Consultez la liste des évaluateurs disponibles dans le catalogue d’évaluateurs de votre projet dans le portail Foundry : catalogue évaluateur d’évaluations > de build>.
Données object[] Oui Tableau d’objets d’entrée avec query et champs évaluateur facultatifs tels que ground_truth, context. Attribuée automatiquement aux évaluateurs ; utilisez data_mapping pour remplacer.
openai_graders Objet Non Configuration pour les évaluateurs basés sur OpenAI (label_model, score_model, string_check, etc.).
paramètres_évaluateur Objet Non Paramètres d’initialisation spécifiques à l’évaluateur (par exemple, seuils, paramètres personnalisés).
cartographie des données Objet Non Mappages de champs de données personnalisés (générés automatiquement à partir de données si elles ne sont pas fournies).

Exemple de fichier de données de base


{
  "name": "test-data",
  "evaluators": [
    "builtin.fluency",
    "builtin.task_adherence",
    "builtin.violence"
  ],
  "data": [
    {
      "query": "Tell me about Tokyo disneyland"
    },
    {
      "query": "How do I install Python?"
    }
  ]
}

Exemples de fichiers de données supplémentaires

Nom de fichier Description
dataset-tiny.json Jeu de données avec un petit nombre de requêtes de test et d’évaluateurs.
dataset.json Jeu de données avec tous les types d’évaluateurs pris en charge et suffisamment de requêtes pour le calcul de l’intervalle de confiance et le test statistique.
dataset-builtin-evaluators.json Exemples d'évaluateurs intégrés Foundry (par exemple, cohérence, fluidité, pertinence, fondement, métriques).
dataset-openai-graders.json Exemple d'évaluateurs basés sur OpenAI (modèles d'étiquettes, modèles de score, similarité de texte, vérifications de chaînes de caractères).
dataset-custom-evaluators.json Exemple d’évaluateurs personnalisés avec des paramètres d’évaluateur.
dataset-data-mapping.json Exemple de mappage de données montrant comment remplacer les mappages automatiques de champs avec des noms de colonnes de données personnalisés.

Pipeline d'exemple

Pour utiliser cette extension, ajoutez la tâche AIAgentEvaluation@2 à votre pipeline de Azure. L’exemple suivant montre un pipeline complet qui s’authentifie à l’aide d’une connexion de service Azure Resource Manager et évalue un agent.

steps:
  - task: AIAgentEvaluation@2
    displayName: "Evaluate AI Agents"
    inputs:
      azure-ai-project-endpoint: "$(AzureAIProjectEndpoint)"
      deployment-name: "$(DeploymentName)"
      data-path: "$(System.DefaultWorkingDirectory)/path/to/your/dataset.json"
      agent-ids: "$(AgentIds)"

Résultats et sorties d’évaluation

Vous voyez les résultats de l’évaluation dans le résumé du pipeline Azure DevOps. Le rapport affiche des scores d’évaluation pour chaque métrique, intervalles de confiance et - lorsque vous évaluez plusieurs agents - une comparaison statistique jumelée qui indique si les différences sont significatives ou au sein d’une variation aléatoire.

La capture d’écran suivante montre un exemple de rapport comparant deux agents.

Screenshot du résumé du pipeline de Azure DevOps montrant les scores d’évaluation de l’agent avec intervalles de confiance et comparaison statistique par paire pour deux agents.