Delen via


Een evaluatie uitvoeren in GitHub Action (preview)

Belangrijk

Items die in dit artikel zijn gemarkeerd (preview) zijn momenteel beschikbaar als openbare preview. Deze preview wordt aangeboden zonder een service level agreement en we raden deze niet aan voor productieworkloads. Bepaalde functies worden mogelijk niet ondersteund of hebben mogelijk beperkte mogelijkheden. Voor meer informatie, zie Aanvullende Gebruiksvoorwaarden voor Microsoft Azure Previews.

Met deze GitHub Action kunt u offline evaluatie van Microsoft Foundry-agents in uw CI/CD-pijplijnen uitvoeren. Het is ontworpen om het offline evaluatieproces te stroomlijnen, zodat u potentiële problemen kunt identificeren en verbeteringen kunt aanbrengen voordat u een update naar productie publiceert.

Als u deze actie wilt gebruiken, geeft u een gegevensset op met testquery's en een lijst met evaluators. Met deze actie worden uw agents aangeroepen met de query's, worden de evaluaties uitgevoerd en wordt een overzichtsrapport gegenereerd.

Features

  • Agentevaluatie: Automatiseer de evaluatie van de preproductie van Microsoft Foundry-agents in uw CI/CD-werkstroom.
  • Evaluators: Gebruik alle evaluators uit de Foundry-evaluatorcatalogus.
  • Statistische analyse: evaluatieresultaten omvatten betrouwbaarheidsintervallen en test op statistische significantie om te bepalen of wijzigingen zinvol zijn en niet vanwege willekeurige variatie.

Categorieën van evaluatoren

Vereiste voorwaarden

Aanbeveling

De aanbevolen manier om te verifiëren is met behulp van Microsoft Entra ID, waarmee u veilig verbinding kunt maken met uw Azure-resources. U kunt het verificatieproces automatiseren met behulp van de Azure Login GitHub-actie. Zie de actie Aanmelden bij Azure met OpenID Connect voor meer informatie.

Hoe AI-agent evaluaties in te stellen

Invoer voor AI-agentevaluaties

Parameterwaarden

Naam Vereist? Description
azure-ai-project-endpoint Ja Eindpunt van uw Microsoft Foundry-project.
implementatienaam Ja De naam van de Azure AI-modelimplementatie die moet worden gebruikt voor evaluatie.
gegevenspad Ja Pad naar het gegevensbestand met de beoordelaars en invoeropdrachten voor evaluaties.
agent-id's Ja ID van een of meer agents om te evalueren in het formaat agent-name:version (bijvoorbeeld my-agent:1 of my-agent:1,my-agent:2). Meerdere agents worden door komma's gescheiden en vergeleken met statistische testresultaten.
basislijn-agent-id Nee. Id van de basislijnagent die moet worden vergeleken bij het evalueren van meerdere agents. Als deze niet is opgegeven, wordt de eerste agent gebruikt.

Gegevensbestand

Het invoergegevensbestand moet een JSON-bestand met de volgende structuur zijn:

Veld Typologie Vereist? Description
naam touw Ja Naam van de evaluatiegegevensset.
Beoordelaars string[] Ja Lijst met te gebruiken evaluatornamen. Bekijk de lijst met beschikbare evaluatoren in de evaluatorcatalogus van uw project in de Foundry-portal: Bouw > Evaluaties > Evaluatorcatalogus.
gegevens object[] Ja Matrix van invoerobjecten met query en optionele evaluatorvelden zoals ground_truth, context. Automatisch toegewezen aan beoordelaars; gebruik data_mapping om te overschrijven.
openai_graders object Nee. Configuratie voor op OpenAI gebaseerde evaluators (label_model, score_model, string_check, enzovoort).
evaluator_parameters object Nee. Evaluatiespecifieke initialisatieparameters (bijvoorbeeld drempelwaarden, aangepaste instellingen).
gegevenskoppeling object Nee. Aangepaste gegevensveldtoewijzingen (automatisch gegenereerd op basis van gegevens indien niet opgegeven).

Eenvoudig voorbeeldgegevensbestand

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

Aanvullende voorbeeldgegevensbestanden

Bestandsnaam Description
dataset-tiny.json Gegevensset met een klein aantal testquery's en evaluators.
dataset.json Gegevensset met alle ondersteunde evaluatortypen en voldoende query's voor berekening van betrouwbaarheidsinterval en statistische test.
dataset-builtin-evaluators.json Voorbeeld van ingebouwde Foundry-evaluatoren (bijvoorbeeld coherentie, vloeiendheid, relevantie, gebondenheid, metriekwaarden).
dataset-openai-graders.json Voorbeeld van op OpenAI gebaseerde graders (labelmodellen, scoremodellen, overeenkomsten met tekst, tekenreekscontroles).
dataset-custom-evaluators.json Aangepast evaluator voorbeeld met evaluatorparameters.
dataset-data-mapping.json Voorbeeld van gegevenstoewijzing waarin wordt getoond hoe u automatische veldtoewijzingen overschrijft met aangepaste kolomnamen van gegevens.

Werkstroom voor evaluaties van AI-agents

Als u de GitHub Action wilt gebruiken, voegt u de GitHub Action toe aan uw CI/CD-werkstromen. Geef de triggercriteria op, zoals bij doorvoeren en de bestandspaden om uw geautomatiseerde werkstromen te activeren.

Aanbeveling

Als u de kosten wilt minimaliseren, moet u niet elke doorvoering evalueren.

In dit voorbeeld ziet u hoe u AI-evaluatie van Azure Agent kunt uitvoeren wanneer u verschillende agents vergelijkt met behulp van agent-id's.

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

Uitvoer van AI-agentevaluaties

Evaluatieresultaten worden uitgevoerd in de samenvattingssectie voor elke GITHub-actie voor AI-evaluatie die wordt uitgevoerd onder Actions in GitHub.

Hier volgt een voorbeeldrapport voor het vergelijken van twee agents.

Schermopname van het resultaat van de agentevaluatie in GitHub Action.