Cli-Referenz für Agentauswertungen (Vorschau)

Dieser Artikel enthält eine vollständige Befehlszeilenreferenz für den runevals Befehl, der Teil des @microsoft/m365-copilot-eval Pakets ist.

Hinweis

Die Agent-Auswertungs-CLI befindet sich derzeit in der Vorschauphase. Features und Funktionen können geändert werden.

Synopsis

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

Beschreibung

Der runevals Befehl wertet Microsoft 365 Copilot Agents aus, indem Testeingabeaufforderungen und Bewertungsantworten mithilfe von Azure KI + Machine Learning-Auswertungsmetriken gesendet werden. Das Tool unterstützt die Batchauswertung aus JSON-Dateien, Inlineeingabeaufforderungen und interaktive Tests.

Optionen

-V, --version

Geben Sie die Versionsnummer des CLI-Tools aus.

Beispiel:

runevals --version

Ausgabe:

1.3.0-preview.1

--log-level [level]

Legen Sie den Ausführlichkeitsgrad der Protokollierung fest. Verfügbare Ebenen: debug, info, warning, error.

  • Standard: Wenn Sie das Flag ohne Einen Wert verwenden, wird standardmäßig verwendet info.
  • debug: Ausführliche Debuginformationen, einschließlich API-Nutzlasten.
  • info: Allgemeine Informationen zum Auswertungsfortschritt.
  • Warnung: Nur Warnmeldungen.
  • error: Nur Fehlermeldungen.

Beispiele:

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

# Debug level
runevals --log-level debug

# Error level only
runevals --log-level error

Warnung

Die debug Ebene kann unformatierte API-Nutzlasten und Antwortdaten in der Konsolenausgabe enthalten. Die Redaction ist musterbasiert und fängt möglicherweise nicht alle PII oder Anmeldeinformationen ab. Geben Sie die Debugausgabe nicht ohne manuelle Überprüfung öffentlich frei.

--prompts <prompts...>

Geben Sie eine oder mehrere Eingabeaufforderungen direkt in der Befehlszeile für schnelle Tests an, ohne eine Datei zu erstellen.

Beispiele:

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

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

--expected <responses...>

Geben Sie erwartete Antworten zu den mit --promptsangegebenen Eingabeaufforderungen an. Die Anzahl der Antworten muss mit der Anzahl der Eingabeaufforderungen übereinstimmen.

Beispiel:

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

Mehrere Eingabeaufforderungen und Antworten:

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

--prompts-file <file>

Geben Sie eine benutzerdefinierte JSON-Datei mit Testeingabeaufforderungen an. Diese Datei überschreibt die automatische Ermittlung.

Beispiel:

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

Dateiformat:

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

Das vollständige Datasetschema finden Sie unter Datasetschema und Testentwurf.

-o, --output <file>

Geben Sie den Pfad und das Format der Ausgabedatei an. Das Format wird durch die Dateierweiterung bestimmt.

Unterstützte Formate:

  • .html - HTML-Bericht (Standard, automatisch im Browser geöffnet)
  • .json – JSON-Ergebnisse
  • .csv - CSV-Tabelle

Beispiele:

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

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

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

Standardverhalten:

Ohne --outputspeichert der Befehl Ergebnisse in ./.evals/YYYY-MM-DD_HH-MM-SS.html.

-i, --interactive

Wechseln Sie in den interaktiven Modus für manuelle Eingaben und Tests von Eingabeaufforderungen.

Beispiel:

runevals --interactive

Im interaktiven Modus werden Sie aufgefordert, Eingabeaufforderungen einzeln einzugeben, sodass Sie explorative Tests durchführen können.

--m365-agent-id <id>

Überschreiben Sie die Agent-ID, um einen bestimmten Agent auszuwerten. Dieser Parameter ist nützlich, wenn mehrere Agents getestet werden oder wenn die Agent-ID nicht automatisch erkannt werden kann.

Beispiel:

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

Agent-ID-Formate:

  • Benutzerbereich: U_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  • Mandantenbereich: T_agent-name.declarativeAgent

--env <environment>

Geben Sie die zu ladende Umgebungskonfiguration an. Dieser Parameter lädt env/.env.<environment>.

Standard: dev (lädt env/.env.dev)

Beispiele:

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

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

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

Rangfolge der Umgebungsdatei:

  1. .env.local (automatisch für Agents-Toolkit-Projekte erkannt)
  2. .env.local.user (Geheimnisse, falls vorhanden automatisch geladen)
  3. env/.env.<environment> (angegeben durch --env)
  4. Systemumgebungsvariablen

--init-only

Initialisiert die Python-Umgebung und lädt Abhängigkeiten herunter, ohne Auswertungen auszuführen. Diese Option ist nützlich für:

  • Vorbereiten des Caches in CI/CD-Pipelines
  • Beheben von Installationsproblemen
  • Überprüfen des Setups vor dem Ausführen von Tests

Beispiel:

runevals --init-only

Kombinieren Sie für die Problembehandlung diese Option mit --log-level debug:

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

-h, --help

Zeigt Hilfeinformationen zu verfügbaren Befehlen und Optionen an.

Beispiel:

runevals --help

Cachebefehle

Das Auswertungstool verwendet einen lokalen Cache für die Python-Runtime und Abhängigkeiten. Diese Befehle helfen Ihnen beim Verwalten des Caches.

cache-info

Zeigt Statistiken zur zwischengespeicherten Python-Umgebung an, einschließlich Größe, Speicherort und installierten Paketen.

Beispiel:

runevals cache-info

Ausgabe:

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

Entfernt die zwischengespeicherte Python-Umgebung und alle heruntergeladenen Abhängigkeiten. Verwenden Sie diesen Befehl, um Installationsprobleme zu beheben oder Speicherplatz frei zu geben.

Beispiel:

runevals cache-clear

Nachverfolgung:

Initialisieren Sie nach dem Löschen des Caches erneut:

runevals --init-only

cache-dir

Gibt den absoluten Pfad zum Cacheverzeichnis aus. Dieses Feature ist nützlich für Skripts oder manuelle Überprüfungen.

Beispiel:

runevals cache-dir

Ausgabe:

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

Verwendung in Skripts:

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

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

Umgebungsvariablen

Das Tool liest die Konfiguration aus Umgebungsdateien und Systemvariablen. Schritt-für-Schritt-Anweisungen zum Abrufen dieser Werte finden Sie unter Erforderliche Umgebungsvariablen.

Erforderliche Variablen

Variable Beschreibung Beispiel
TENANT_ID Microsoft Entra Mandanten-ID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
AZURE_AI_OPENAI_ENDPOINT endpunkt-URL für Azure OpenAI in Foundry Models https://your-resource.openai.azure.com/
AZURE_AI_API_KEY Azure OpenAI-API-Schlüssel your-api-key-here

Optionale Variablen

Variable Beschreibung Default
M365_AGENT_ID Auszuwertende Agent-ID Automatisch erkannt von M365_TITLE_ID
M365_TITLE_ID Agent-Titel-ID (Agents Toolkit) Keine
AZURE_AI_API_VERSION Azure OpenAI-API-Version 2024-12-01-preview
AZURE_AI_MODEL_NAME Modell für Auswertungen gpt-4o-mini

Beispiele

Grundlegende Nutzung

Auswerten mithilfe der automatisch ermittelten Datasetdatei:

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

Umgebung angeben

Verwenden Der Konfiguration der Produktionsumgebung:

runevals --env prod

Benutzerdefinierte Datasetdatei

Verwenden Sie eine bestimmte Testdatei:

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

Inlinetests

Schnelltest mit Inlineeingabeaufforderungen:

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

Interaktiver Modus

Geben Sie Eingabeaufforderungen manuell ein:

runevals --interactive

Benutzerdefiniertes Ausgabeformat

Generieren von JSON-Ergebnissen:

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

Debug-Modus

Ausführung mit detaillierter Protokollierung:

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

Nur Setup

Python-Umgebung ohne Ausführen von Tests vorab zwischenspeichern:

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

Agent-ID überschreiben

Testen eines bestimmten Agents:

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

Kombinierte Optionen

Umfassende Auswertung mit benutzerdefinierten Einstellungen:

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"

Exitcodes

Code Bedeutung
0 Erfolgreich
1 Allgemeiner Fehler
2 Ungültige Argumente
3 Umgebungskonfigurationsfehler
4 Agent nicht gefunden
5 Authentifizierungsfehler
10 Fehler beim Einrichten der Python-Umgebung

Problembehandlung

Informationen zu häufigen Problemen mit installation, Authentifizierung, Laufzeitfehlern, Cacheproblemen und Proxyeinrichtung finden Sie im Artikel Problembehandlung .