Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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
- Évaluateurs d’agents : évaluateurs pour les processus et les systèmes des flux de travail d’agents.
- Évaluateurs RAG : évaluent les processus de bout en bout et de récupération dans les systèmes RAG.
- Évaluateurs de risque et de sécurité : évaluer les risques et les préoccupations en matière de sécurité dans les réponses.
- Évaluateurs à usage général : évaluation de la qualité, telle que la cohérence et la fluidité.
- Nuanceurs basés sur OpenAI : utilisez des nuanceurs OpenAI, notamment la vérification de chaîne, la similarité du texte, le modèle score/étiquette.
- Évaluateurs personnalisés : définissez vos propres évaluateurs personnalisés à l’aide de code Python ou de modèles LLM-en-tant-que-juge.
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.