Durchführen einer Evaluation in GitHub Action (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 GitHub Action 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 Aktion zu verwenden, stellen Sie einen Datensatz mit Testabfragen und einer Liste von Auswertungen bereit. Diese Aktion ruft Ihre Agents mit den Abfragen auf, führt die Auswertungen 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 Methode zur Authentifizierung ist die Verwendung von Microsoft Entra ID, die Sie verwenden können, um eine sichere Verbindung mit Ihren Azure-Ressourcen herzustellen. Sie können den Authentifizierungsprozess mithilfe der Aktion Azure Anmelden GitHub automatisieren. Weitere Informationen finden Sie unter Azure Anmeldeaktion mit OpenID Connect.

Einrichten von Bewertungen für KI-Agenten

KI-Agenten-Bewertungseingaben

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.

KI-Agenten-Bewertungsworkflow

Um die GitHub Aktion zu verwenden, fügen Sie den CI/CD-Workflows die GitHub Aktion hinzu. Geben Sie die Triggerkriterien an, z. B. beim Commit, und die Dateipfade, um Ihre automatisierten Workflows auszulösen.

Tipp

Um Die Kosten zu minimieren, führen Sie keine Auswertung für jeden Commit aus.

In diesem Beispiel wird gezeigt, wie Sie die KI-Agent-Auswertung ausführen können, wenn Sie verschiedene Agents mithilfe von Agent-IDs vergleichen.

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

Ausgabe von KI-Agent-Auswertungen

Auswertungsergebnisse werden für jede AI-Auswertung GitHub Aktion unter Actions in GitHub ausgegeben. Der Bericht zeigt Auswertungsergebnisse für jede Metrik, Vertrauenswürdigkeitsintervalle und – wenn Sie mehrere Agents auswerten – einen paarweisen statistischen Vergleich, der angibt, ob Unterschiede sinnvoll oder innerhalb der zufallsvarianzen sind.

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

Screenshot GitHub Actions Workflowzusammenfassung mit Bewertungsergebnissen für Agenten mit Konfidenzintervallen und paarweisem statistischen Vergleich für zwei Agents.