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 marqués (aperçu) dans cet article sont actuellement en aperçu public. Cette version préliminaire est fournie sans contrat de niveau de service, et nous la déconseillons pour les charges de travail en production. Certaines fonctionnalités peuvent être limitées ou non prises en charge. Pour plus d’informations, consultez les Conditions d’utilisation Complémentaires de Microsoft Azure Previews.
Cette action GitHub permet l’évaluation hors connexion des agents Microsoft Foundry dans votre pipelines CI/CD. Il est conçu pour simplifier le processus d’évaluation hors connexion, afin de pouvoir identifier les problèmes potentiels et apporter des améliorations avant de publier une mise à jour en production.
Pour utiliser cette action, fournissez un jeu de données avec des requêtes de test et une liste d’évaluateurs. Cette action appelle vos agents avec les requêtes, exécute les évaluations et génère un rapport de synthèse.
Fonctionnalités
- Évaluation de l’agent : automatisez l’évaluation de préproduction des agents Microsoft Foundry dans votre flux de travail CI/CD.
- Évaluateurs : utilisez tous les évaluateurs du catalogue d'évaluateurs de 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 de flux de travail d’agents aux niveaux des processus et des systèmes.
- É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 polyvalents : évaluation de la qualité, telle que la cohérence et la fluidité.
- Évaluateurs basés sur OpenAI : utilisez des évaluateurs OpenAI, incluant la vérification de chaîne, la similarité de texte, et le modèle de notation/étiquette.
- Évaluateurs personnalisés : définissez vos propres évaluateurs personnalisés à l’aide du code Python ou des modèles LLM-as-a-juge.
Prerequisites
- Un project. Pour plus d’informations, consultez Create a project.
- Un agent de Foundry.
Conseil / Astuce
La méthode recommandée pour l’authentification consiste à utiliser Microsoft Entra ID, ce qui vous permet de vous connecter en toute sécurité à vos ressources Azure. Vous pouvez automatiser le processus d’authentification à l’aide de l’action Azure connexion GitHub. Pour plus d’informations, consultez Azure Action de connexion avec OpenID Connect.
Comment configurer des évaluations de l’assistant IA
Entrée des évaluations de l’assistant IA
Paramètres
| Nom | Obligatoire ? | Descriptif |
|---|---|---|
| azure-ai-project-endpoint | Oui | Point de terminaison de votre Project Microsoft Foundry. |
| nom-de-déploiement | Oui | Nom du déploiement du modèle IA Azure à utiliser pour l’évaluation. |
| 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’agent | 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. |
| ID d'agent de référence | 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é. |
Fichier de données
Le fichier de données d’entrée doit être un fichier JSON avec la structure suivante :
| Champ | Type | Obligatoire ? | Descriptif |
|---|---|---|---|
| nom | ficelle | Oui | Nom du jeu de données d’évaluation. |
| Évaluateurs | chaîne de caractères[] | Oui | Liste des noms d’évaluateurs à utiliser. Consultez la liste des évaluateurs disponibles dans le catalogue d'évaluateurs de votre project dans le portail Foundry : Build > Évaluations > Catalogue évaluateur. |
| données | object[] | Oui | Tableau d’objets d’entrée avec query et champs évaluateur facultatifs tels que ground_truth, context. Mappé automatiquement aux évaluateurs ; utilisez data_mapping pour effectuer le remplacement. |
| 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). |
| data_mapping | 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
| Filename | Descriptif |
|---|---|
| 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 Foundry intégrés (par exemple, cohérence, fluidité, pertinence, mesures). |
| dataset-openai-graders.json | Exemple d'évaluateurs basés sur OpenAI (modèles de label, modèles de notation, 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. |
Flux de travail d’évaluation des agents IA
Pour utiliser l’action GitHub, ajoutez l’action de GitHub à vos flux de travail CI/CD. Spécifiez les critères de déclencheur, tels que lors de la validation, et les chemins d’accès aux fichiers pour déclencher vos flux de travail automatisés.
Conseil / Astuce
Pour réduire les coûts, n'exécutez pas l'évaluation à chaque engagement.
Cet exemple montre comment exécuter Azure Agent AI Evaluation lorsque vous comparez différents agents à l’aide d’ID d’agent.
name: "AI Agent Evaluation"
on:
workflow_dispatch:
push:
branches:
- main
permissions:
id-token: write
contents: read
jobs:
run-action:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Azure login using Federated Credentials
uses: azure/login@v2
with:
client-id: ${{ vars.AZURE_CLIENT_ID }}
tenant-id: ${{ vars.AZURE_TENANT_ID }}
subscription-id: ${{ vars.AZURE_SUBSCRIPTION_ID }}
- name: Run Evaluation
uses: microsoft/ai-agent-evals@v3-beta
with:
# Replace placeholders with values for your Foundry Project
azure-ai-project-endpoint: "<your-ai-project-endpoint>"
deployment-name: "<your-deployment-name>"
agent-ids: "<your-ai-agent-ids>"
data-path: ${{ github.workspace }}/path/to/your/data-file
Sortie des évaluations de l’assistant IA
Les résultats de l’évaluation sont générés dans la section récapitulative de chaque action d’évaluation d’IA GitHub exécutée sous Actions dans GitHub.
Voici un exemple de rapport pour comparer deux agents.