Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
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
- Agentutvärderingar: Utvärderare på process- och systemnivå för agentarbetsflöden.
- RAG-utvärderare: Utvärdera processer från slutpunkt till slutpunkt och hämtning i RAG-system.
- Risk- och säkerhetsbedömare: Bedömer risker och säkerhetsaspekter i svar.
- Utvärderare för generell användning: Kvalitetsutvärdering, till exempel konsekvens och flyt.
- OpenAI-baserade bedömningsverktyg: Använd OpenAI-bedömare inklusive strängkontroll, textlikhet, poängsättnings-/etiketteringsmodell.
- Anpassade utvärderare: Definiera dina egna anpassade utvärderare med hjälp av Python-kod eller LLM-as-a-judge-mönster.
Förutsättningar
- Ett projekt. Mer information finns i Skapa ett projekt.
- En Foundry-agent.
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.