Dela via


Så här kör du en utvärdering i GitHub Action (förhandsversion)

Viktigt!

Objekt markerade (förhandsversion) i den här artikeln är för närvarande i offentlig förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och vi rekommenderar det inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.

Den här GitHub-åtgärden möjliggör offlineutvärdering av Microsoft Foundry-agenter i dina CI/CD-pipelines. Den är utformad för att effektivisera offlineutvärderingsprocessen, så att du kan identifiera potentiella problem och göra förbättringar innan du släpper en uppdatering till produktion.

Om du vill använda den här åtgärden anger du en datauppsättning med testfrågor och en lista över utvärderare. Den här åtgärden anropar dina agenter med frågorna, kör utvärderingarna och genererar en sammanfattningsrapport.

Features

  • Agentutvärdering: Automatisera förhandsproduktionsbedömningen av Microsoft Foundry-agenter i ditt CI/CD-arbetsflöde.
  • Utvärderare: Använd utvärderare från Foundry-utvärderingskatalogen.
  • Statistisk analys: Utvärderingsresultat inkluderar konfidensintervall och test för statistisk signifikans för att avgöra om ändringar är meningsfulla och inte på grund av slumpmässig variation.

Utvärderarkategorier

Förutsättningar

Tips/Råd

Det rekommenderade sättet att autentisera är att använda Microsoft Entra-ID, vilket gör att du kan ansluta till dina Azure-resurser på ett säkert sätt. Du kan automatisera autentiseringsprocessen med hjälp av Azure Login GitHub-åtgärden. Mer information finns i Azure Login-åtgärden med OpenID Connect.

Så här konfigurerar du AI-agentutvärderingar

Indata för AI-agentutvärderingar

Parameterar

Namn Krävs? Description
azure-ai-project-endpoint Ja Slutpunkten för ditt Microsoft Foundry-projekt.
namn på distribution Ja Namnet på den Azure AI-modelldistribution som ska användas för utvärdering.
datasökväg Ja Sökväg till datafilen som innehåller utvärderarna och indatafrågor för utvärderingar.
agent-ID:er Ja ID för en eller flera agenter som ska utvärderas i format agent-name:version (till exempel my-agent:1 eller my-agent:1,my-agent:2). Flera agenter är kommaavgränsade och jämförs med statistiska testresultat.
baslinje-agent-id Nej. ID för baslinjeagenten som ska jämföras med vid utvärdering av flera agenter. Om det inte anges används den första agenten.

Datafil

Indatafilen ska vara en JSON-fil med följande struktur:

Fält Typ Krävs? Description
name snöre Ja Namnet på utvärderingsdatauppsättningen.
Utvärderarna string[] Ja Lista över utvärderarnamn som ska användas. Kolla in listan över tillgängliga utvärderare i projektets utvärderingskatalog i Foundry-portalen: Skapa > utvärderingsutvärderingskatalog>.
data objekt[] Ja Matris med indataobjekt med query och valfria utvärderarfält som ground_truth, context. Automatiskt mappad till utvärderare; använd data_mapping för att åsidosätta.
openai_graders objekt Nej. Konfiguration för OpenAI-baserade utvärderare (label_model, score_model, string_check osv.).
utvärderarparametrar objekt Nej. Utvärderarspecifika initieringsparametrar (till exempel tröskelvärden, anpassade inställningar).
data_mapping objekt Nej. Anpassade datafältmappningar (genereras automatiskt från data om de inte tillhandahålls).

Grundläggande exempeldatafil

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

Ytterligare exempeldatafiler

Filnamn Description
dataset-tiny.json Datauppsättning med ett litet antal testfrågor och utvärderare.
dataset.json Datauppsättning med alla utvärderartyper som stöds och tillräckligt med frågor för beräkning av konfidensintervall och statistiskt test.
dataset-builtin-evaluators.json Exempel på inbyggda Foundry-utvärderare (till exempel koherens, flyt, relevans, grundvärde, mått).
dataset-openai-graders.json OpenAI-baserade bedömare (etikettmodeller, poängsättningsmodeller, textlikhet, strängkontroller).
dataset-custom-evaluators.json Exempel på anpassade utvärderare med utvärderarparametrar.
dataset-data-mapping.json Exempel på datamappning som visar hur du åsidosätter automatiska fältmappningar med anpassade datakolumnnamn.

Arbetsflöde för AI-agentutvärderingar

Om du vill använda GitHub-åtgärden lägger du till GitHub-åtgärden i dina CI/CD-arbetsflöden. Ange utlösarvillkoren, till exempel vid incheckning, och filsökvägarna för att utlösa dina automatiserade arbetsflöden.

Tips/Råd

För att minimera kostnaderna, kör inte utvärdering på varje commit.

Det här exemplet visar hur du kan köra Azure Agent AI Evaluation när du jämför olika agenter med hjälp av agent-ID:n.

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

Utdata för AI-agentutvärderingar

Utvärderingsresultat skickas till sammanfattningsavsnittet för varje GITHub-åtgärd för AI-utvärdering som körs under Åtgärder i GitHub.

Följande är en exempelrapport för att jämföra två agenter.

Skärmbild av agentutvärderingsresultatet i GitHub Action.