Ausführen einer Auswertung in Azure DevOps (Vorschau)

Wichtig

In diesem Artikel markierte Elemente (Vorschau) befinden sich derzeit in der öffentlichen Vorschau. Diese Vorschau wird ohne Vereinbarung auf Serviceebene bereitgestellt und wird für Produktionsworkloads nicht empfohlen. Bestimmte Features werden möglicherweise nicht unterstützt oder weisen eingeschränkte Funktionen auf. Weitere Informationen finden Sie unter Supplementale Nutzungsbedingungen für Microsoft Azure Previews.

Diese Azure DevOps Erweiterung ermöglicht die Offlineauswertung von Microsoft Foundry Agents innerhalb Ihrer CI/CD-Pipelines. Er optimiert den Offlineauswertungsprozess, sodass Sie potenzielle Probleme erkennen und Verbesserungen vornehmen können, bevor Sie ein Update für die Produktion veröffentlichen.

Um diese Erweiterung zu verwenden, stellen Sie einen Datensatz mit Testabfragen und einer Liste der Auswertungen bereit. Diese Aufgabe ruft Ihre Agents mit den Abfragen auf, wertet sie aus und generiert einen Zusammenfassenden Bericht.

Funktionen

  • Agent Evaluation: Automatisieren Sie die Vorproduktionsbewertung von Microsoft Foundry Agents in Ihrem CI/CD-Workflow.
  • Evaluatoren: Verwenden Sie alle Bewerter aus dem Gießerei-Evaluatorkatalog.
  • Statistische Analyse: Auswertungsergebnisse umfassen Konfidenzintervalle und Tests zur statistischen Signifikanz, um festzustellen, ob Änderungen sinnvoll sind und nicht aufgrund zufälliger Variation.

Bewertungskategorien

Voraussetzungen

Tipp

Die empfohlene Authentifizierungsmethode ist Microsoft Entra ID über eine Azure Resource Manager-Dienstverbindung. Erstellen Sie eine serviceverbindung in Ihrem Azure DevOps Projekt, und verweisen Sie dann in Der Pipeline mithilfe des Vorgangs AzureCLI@2 vor AIAgentEvaluation@2 darauf.

Eingänge

Parameter

Namen Erforderlich? Beschreibung
Azure AI-Projekt-Endpunkt Ja Endpunkt Ihres Microsoft Foundry-Projekts. Um diesen Wert zu finden, öffnen Sie Ihr Projekt im Foundry-Portal und kopieren Sie den Endpunkt auf der Seite "Übersicht".
Bereitstellungsname Ja Der Name eines Azure AI-Modelleinsatzes zur Auswertung. Suchen Sie vorhandene Bereitstellungen unter "Modelle + Endpunkte " im Foundry-Portal.
Datenpfad Ja Pfad zur Datendatei, die die Bewerter und Abfragen für Auswertungen enthält.
Agent-IDs Ja ID eines oder mehrerer Agents, die im Format agent-name:version ausgewertet werden sollen (z. B my-agent:1 . oder my-agent:1,my-agent:2). Mehrere Agenten werden durch Kommas getrennt und mit den Ergebnissen statistischer Tests verglichen.
Baseline-Agenten-ID Nein ID des Basis-Agents, der beim Auswerten mehrerer Agents verglichen werden soll. Wenn nicht angegeben, wird der erste Agent verwendet.

Hinweis

Um Ihre Agent-ID und -Version zu finden, öffnen Sie Ihr Projekt im Foundry-Portal, wechseln Sie zu Agents, wählen Sie Ihren Agent aus, und kopieren Sie die Agent-ID aus dem Detailbereich. Die Version ist die Versionsnummer der Bereitstellung (z. B. my-agent:1).

Datendatei

Die Eingabedatendatei sollte eine JSON-Datei mit der folgenden Struktur sein:

Feld Typ Erforderlich? Beschreibung
Name Schnur Ja Name des Auswertungsdatensatzes.
Bewerter string[] Ja Liste der zu verwendenden Evaluatornamen. Sehen Sie sich die Liste der verfügbaren Auswerter im Auswerter-Katalog Ihres Projekts im Foundry-Portal an: Erstellen > Auswertungen > Auswerter-Katalog.
Daten Objekt[] Ja Array von Eingabeobjekten mit query und optionalen Evaluator-Feldern wie ground_truth, context. Automatisch an Auswerter zugeordnet; mit data_mapping überschreiben.
openai_graders Objekt Nein Konfiguration für OpenAI-basierte Bewerter (label_model, score_model, string_check usw.).
Auswerter-Parameter Objekt Nein Evaluatorspezifische Initialisierungsparameter (z. B. Schwellenwerte, benutzerdefinierte Einstellungen).
Datenzuordnung Objekt Nein Benutzerdefinierte Datenfeldzuordnungen (automatisch generiert aus Daten, falls nicht angegeben).

Grundlegende Beispieldatendatei


{
  "name": "test-data",
  "evaluators": [
    "builtin.fluency",
    "builtin.task_adherence",
    "builtin.violence"
  ],
  "data": [
    {
      "query": "Tell me about Tokyo disneyland"
    },
    {
      "query": "How do I install Python?"
    }
  ]
}

Zusätzliche Beispieldatendateien

Dateiname Beschreibung
dataset-tiny.json Dataset mit einer kleinen Anzahl von Testabfragen und Auswertungen.
dataset.json Dataset mit allen unterstützten Auswertungstypen und ausreichenden Abfragen für die Berechnung von Konfidenzintervallen und statistischen Tests.
dataset-builtin-evaluators.json Integrierte Foundry-Evaluatoren Beispiel (z. B. Kohärenz, Flüssigkeit, Relevanz, Verankerung, Metriken).
dataset-openai-graders.json OpenAI-basierte Grader (Beispiel für Beschriftungsmodelle, Bewertungsmodelle, Textähnlichkeit, Zeichenfolgenprüfungen).
dataset-custom-evaluators.json Beispiel für benutzerdefinierte Auswertungen mit Evaluatorenparametern.
dataset-data-mapping.json Beispiel für die Datenzuordnung, das zeigt, wie automatische Feldzuordnungen mit benutzerdefinierten Datenspaltennamen überschreiben.

Beispielpipeline

Um diese Erweiterung zu verwenden, fügen Sie der Azure Pipeline die Aufgabe AIAgentEvaluation@2 hinzu. Das folgende Beispiel zeigt eine vollständige Pipeline, die sich mithilfe einer Azure Resource Manager-Dienstverbindung authentifiziert und einen Agent auswertet.

steps:
  - task: AIAgentEvaluation@2
    displayName: "Evaluate AI Agents"
    inputs:
      azure-ai-project-endpoint: "$(AzureAIProjectEndpoint)"
      deployment-name: "$(DeploymentName)"
      data-path: "$(System.DefaultWorkingDirectory)/path/to/your/dataset.json"
      agent-ids: "$(AgentIds)"

Auswertungsergebnisse und Ausgaben

Die Auswertungsergebnisse werden in der Azure DevOps Pipelinezusammenfassung angezeigt. Der Bericht zeigt Auswertungsergebnisse für jede Metrik, konfidenzintervalle und - wenn Sie mehrere Agents auswerten - einen paarweisen statistischen Vergleich, der angibt, ob Unterschiede sinnvoll oder innerhalb zufälliger Variation sind.

Der folgende Screenshot zeigt einen Beispielbericht, in dem zwei Agents verglichen werden.

Screenshot Azure DevOps Pipelinezusammenfassung mit Bewertungsergebnissen für Agenten mit Konfidenzintervallen und paarweisem statistischen Vergleich für zwei Agents.