Référence CLI des évaluations d’agent

Cet article fournit une référence de ligne de commande complète pour la runevals commande qui fait partie du @microsoft/m365-copilot-eval package.

Résumé

runevals [options]
runevals cache-info
runevals cache-clear
runevals cache-dir

Description

La runevals commande évalue les agents Microsoft 365 Copilot en envoyant des invites de test et en notant les réponses à l’aide de l’évaluation cloud de Microsoft Foundry et de métriques intégrées. L’outil prend en charge l’évaluation par lots à partir de fichiers JSON, d’invites en ligne et de tests interactifs.

Options

-V, --version

Sortie le numéro de version de l’outil CLI.

Exemple :

runevals --version

Résultats :

1.15.0

--log-level [level]

Définissez le niveau de détail de la journalisation. Niveaux disponibles : debug, , warninginfoerror, .

  • Par défaut : lorsque vous utilisez l’indicateur sans valeur, il est défini par défaut sur info.
  • debug : informations de débogage détaillées, y compris les charges utiles d’API.
  • info : Informations générales sur les progrès de l’évaluation.
  • AVERTISSEMENT : messages d’avertissement uniquement.
  • erreur : messages d’erreur uniquement.

Exemples :

# Info level (default when flag is present)
runevals --log-level

# Debug level
runevals --log-level debug

# Error level only
runevals --log-level error

Avertissement

Le debug niveau peut inclure des charges utiles d’API brutes et des données de réponse dans la sortie de la console. La rédaction est basée sur des modèles et peut ne pas intercepter toutes les informations d’identification ou les informations d’identification. Ne partagez pas publiquement les résultats de débogage sans examen manuel.

--prompts <prompts...>

Spécifiez une ou plusieurs invites directement sur la ligne de commande pour un test rapide sans créer de fichier.

Exemples :

# Single prompt
runevals --prompts "What is Microsoft 365?"

# Multiple prompts
runevals --prompts "What is Teams?" "What is SharePoint?" "What is OneDrive?"

--expected <responses...>

Fournissez les réponses attendues pour accompagner les invites spécifiées avec --prompts. Le nombre de réponses doit correspondre au nombre d’invites.

Exemple :

runevals --prompts "What is Microsoft Graph?" \
  --expected "Microsoft Graph is the API gateway to Microsoft 365 data and intelligence."

Invites et réponses multiples :

runevals --prompts "What is Teams?" "What is SharePoint?" \
  --expected "Teams is a collaboration platform" "SharePoint is a content management system"

--prompts-file <file>

Spécifiez un fichier JSON personnalisé contenant des invites de test. Ce fichier remplace la découverte automatique.

Exemple :

runevals --prompts-file ./tests/my-custom-tests.json

Format de fichier :

[
  {
    "prompt": "Test question",
    "expected_response": "Expected answer"
  }
]

Pour obtenir le schéma complet du jeu de données, consultez Schéma du jeu de données et conception du test.

-o, --output <file>

Spécifiez le chemin d’accès et le format du fichier de sortie. Le format est déterminé par l’extension de fichier.

Formats pris en charge :

  • .html - Rapport HTML (par défaut, s’ouvre automatiquement dans le navigateur)
  • .json - Résultats JSON
  • .csv - Feuille de calcul CSV

Exemples :

# HTML output
runevals --output ./reports/results.html

# JSON output
runevals --output ./results/eval-results.json

# CSV output
runevals --output ./data/scores.csv

Valeur par défaut :

Sans --output, la commande enregistre les résultats dans ./.evals/YYYY-MM-DD_HH-MM-SS.html.

-i, --interactive

Permet d’activer le mode interactif pour la saisie manuelle et le test.

Exemple :

runevals --interactive

En mode interactif, vous êtes invité à entrer les invites une par une, afin de pouvoir effectuer des tests exploratoires.

--m365-agent-id <id>

Remplacez l’ID d’agent pour évaluer un agent spécifique. Ce paramètre est utile lorsque vous testez plusieurs agents ou lorsque l’ID d’agent ne peut pas être détecté automatiquement.

Exemple :

runevals --m365-agent-id "U_0dc4a8a2-b95f-edac-91c8-d802023ec2d4"

Formats d’ID d’agent :

  • Étendue utilisateur : U_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  • Étendue au client : T_agent-name.declarativeAgent

--env <environment>

Spécifiez la configuration de l’environnement à charger. Ce paramètre charge .env/.env.<environment>

Par défaut : dev (loads env/.env.dev)

Exemples :

# Load env/.env.dev (default)
runevals --env dev

# Load env/.env.prod
runevals --env prod

# Load env/.env.staging
runevals --env staging

Priorité des fichiers d’environnement :

  1. .env.local (détecté automatiquement pour les projets Agents, Toolkit)
  2. .env.local.user (secrets, chargés automatiquement le cas échéant)
  3. env/.env.<environment> (spécifié par --env)
  4. Variables d’environnement système

--init-only

Initialise l’environnement Python et télécharge les dépendances sans exécuter d’évaluations. Cette option est utile pour :

  • Préchauffage du cache dans les pipelines CI/CD
  • Dépannage des problèmes d’installation
  • Vérification de la configuration avant d’exécuter des tests

Exemple :

runevals --init-only

Pour le dépannage, combinez cette option avec --log-level debug:

runevals --init-only --log-level debug

-h, --help

Affiche des informations d’aide sur les commandes et options disponibles.

Exemple :

runevals --help

Commandes de cache

L’outil d’évaluation utilise un cache local pour le runtime et les dépendances Python. Ces commandes vous aident à gérer le cache.

cache-info

Affiche des statistiques sur l’environnement Python mis en cache, y compris la taille, l’emplacement et les packages installés.

Exemple :

runevals cache-info

Sortie :

Cache Information

Location: C:\Users\YourName\.m365-copilot-eval\cache
Size: 245 MB
Python Version: 3.11.5
Packages: 42 installed

Last updated: 2026-04-10 14:23:15

cache-clear

Supprime l’environnement Python mis en cache et toutes les dépendances téléchargées. Utilisez cette commande pour résoudre les problèmes d’installation ou libérer de l’espace disque.

Exemple :

runevals cache-clear

Suivi :

Après avoir effacé le cache, réinitialisez :

runevals --init-only

cache-dir

Imprime le chemin d’accès absolu au répertoire cache. Cette fonctionnalité est utile pour les scripts ou l’inspection manuelle.

Exemple :

runevals cache-dir

Sortie :

C:\Users\YourName\.m365-copilot-eval\cache

Utilisation dans les scripts :

# Check cache directory permissions (Unix/macOS)
chmod -R u+w $(runevals cache-dir)

# View cache contents
ls -lah $(runevals cache-dir)

Variables d’environnement

L’outil lit la configuration dans les fichiers d’environnement et les variables système. Pour obtenir des instructions détaillées sur l’obtention de ces valeurs, consultez la section Variables d’environnement requises.

Variables requises

Variable Description Exemple
TENANT_ID ID de locataire Microsoft Entra xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
AZURE_AI_PROJECT_ENDPOINT Point de terminaison du projet Microsoft Foundry https://<account>.services.ai.azure.com/api/projects/<project>

Variables facultatives

Variable Description Par défaut
M365_AGENT_ID ID d’agent à évaluer Détecté automatiquement à partir de M365_TITLE_ID
M365_TITLE_ID ID titre de l’agent (Agents Toolkit) Aucun
AZURE_AI_MODEL_NAME Modèle d’évaluation gpt-5-mini

Exemples

Utilisation de base

Évaluez en utilisant le fichier de jeu de données découvert automatiquement :

cd /path/to/your-agent-project
runevals

Spécifier l’environnement

Utiliser la configuration de l’environnement de production :

runevals --env prod

Fichier de jeu de données personnalisé

Utilisez un fichier de test spécifique :

runevals --prompts-file ./tests/regression-tests.json

Tests en ligne

Test rapide avec des invites en ligne :

runevals --prompts "What is Microsoft 365?" \
  --expected "Microsoft 365 is a cloud-based productivity suite"

Mode interactif

Pour entrer les invites manuellement :

runevals --interactive

Format de sortie personnalisé

Générez des résultats JSON :

runevals --output ./results/eval-$(date +%Y%m%d).json

Mode débogage

Exécutez avec une journalisation détaillée :

runevals --log-level debug --output ./debug-results.json

Installation uniquement

Pré-mettre en cache l’environnement Python sans exécuter de tests :

runevals --init-only --log-level info

Remplacer l’ID d’agent

Testez un agent spécifique :

runevals --m365-agent-id "U_0dc4a8a2-b95f-edac-91c8-d802023ec2d4"

Options combinées

Évaluation complète avec paramètres personnalisés :

runevals \
  --env staging \
  --prompts-file ./evals/full-suite.json \
  --output ./reports/staging-eval-$(date +%Y%m%d).html \
  --log-level info \
  --m365-agent-id "T_my-agent.declarativeAgent"

Codes de sortie

Code Signification
0 Opération réussie
1 Erreur générale
2 Arguments non valides
3 Erreur de configuration de l’environnement
4 Agent introuvable
5 Échec d’authentification
10 Échec de la configuration de l’environnement Python

Résolution des problèmes

Pour les problèmes courants d’installation, d’authentification, d’erreurs d’exécution, de problèmes de cache et de configuration de proxy, consultez l’article de dépannage .