Så här kör du en utvärdering i GitHub åtgärd (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 har begränsade funktioner. Mer information finns i Supplemental Terms of Use for Microsoft Azure Previews.

Den här GitHub-åtgärden möjliggör offlineutvärdering av Microsoft Foundry Agents i dina CI/CD-pipelines. Det effektiviserar 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.

Funktioner

  • Agent Evaluation: Automatisera förhandsproduktionsbedömning 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

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

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

Indata för AI-agentutvärderingar

Parametrar

Namn Krävs? Beskrivning
azure-ai-project-endpoint Ja Slutpunkten för Microsoft Foundry-Project. Om du vill hitta det här värdet öppnar du projektet i Foundry-portalen och kopierar slutpunkten från sidan Översikt .
deployeringsnamn Ja Namnet på en Azure AI-modelldistribution som ska användas för utvärdering. Hitta befintliga distributioner under Modeller + slutpunkter i Foundry-portalen.
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.

Observera

Om du vill hitta ditt agent-ID och din version öppnar du projektet i Foundry-portalen, går till Agenter, väljer din agent och kopierar agent-ID:t från informationsfönstret. Versionen är distributionsversionsnumret (till exempel my-agent:1).

Datafil

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

Fältet Typ Krävs? Beskrivning
Namn Sträng Ja Namnet på utvärderingsdatauppsättningen.
Utvärderarna string[] Ja Lista över namn på utvärderare som ska användas. Kolla in listan över tillgängliga utvärderare i projektets utvärderingskatalog i Foundry-portalen: Skapa > utvärderingsutvärderingskatalog>.
Data object[] 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ärderingsparametrar 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 Beskrivning
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ömningsmodeller (etikettmodeller, poängmodeller, 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 åtgärden GitHub lägger du till åtgärden GitHub i dina CI/CD-arbetsflöden. Ange kriterierna för utlösning, till exempel vid commit, och de filvägar som utlöser dina automatiserade arbetsflöden.

Tips

Kör ingen utvärdering vid varje incheckning för att minimera kostnaderna.

Det här exemplet visar hur du kan köra AI Agent 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 AI-utvärdering GitHub såtgärd som körs under Actions i GitHub. Rapporten visar utvärderingspoäng för varje mått, konfidensintervall och – när du utvärderar flera agenter – en parvis statistisk jämförelse som anger om skillnaderna är meningsfulla eller inom slumpmässig variation.

Följande skärmbild visar en exempelrapport som jämför två agenter.

Skärmbild av GitHub Actions arbetsflödessammanfattning som visar agentutvärderingspoäng med konfidensintervall och parvis statistisk jämförelse för två agenter.