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 Conditions d’utilisation supplémentaires pour les préversions de Microsoft Azure.
Cette action GitHub permet l’évaluation hors connexion des agents Microsoft Foundry au sein de vos 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 à 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 du code Python ou des modèles LLM-as-a-juge.
Prerequisites
- Un projet. Pour plus d’informations, consultez Créer un projet.
- Un agent de Foundry.
Conseil / Astuce
La méthode recommandée pour l’authentification consiste à utiliser l’ID Microsoft Entra, 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 GitHub de connexion Azure. Pour en savoir plus, consultez l’action connexion Azure 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 projet 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. Veuillez consulter la liste des évaluateurs disponibles dans le catalogue d’évaluateurs de votre projet dans le portail Foundry : Créer> des évaluations > Catalogue d’évaluateurs . |
| données | object[] | Oui | Tableau d’objets d’entrée avec query et champs évaluateur facultatifs tels que ground_truth, context. Associé 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). |
| 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 GitHub Action, ajoutez GitHub Action à 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 GitHub d’évaluation IA exécutée sous Actions dans GitHub.
Voici un exemple de rapport pour comparer deux agents.