Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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
- 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äkerhetsutvärderare: Bedömer risker och säkerhetsproblem i svar.
- Utvärderare för generell användning: Kvalitetsutvärdering, till exempel konsekvens och flyt.
- OpenAI-baserade granskare: Använd OpenAI-granskare inklusive strängkontroll, textlikhet och poäng/etikettmodell.
- 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
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.