Partager via


Comment exécuter une évaluation dans GitHub Action (préversion)

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

Prerequisites

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.

Capture d’écran du résultat de l’évaluation de l’agent dans GitHub Action.