Condividi tramite


Come eseguire una valutazione in GitHub Action (anteprima)

Importante

Gli elementi contrassegnati (anteprima) in questo articolo sono attualmente disponibili in anteprima pubblica. Questa anteprima viene fornita senza un contratto di servizio e non è consigliabile per i carichi di lavoro di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero presentare funzionalità limitate. Per altre informazioni, vedere le Condizioni supplementari per l'uso delle anteprime di Microsoft Azure.

Questa azione GitHub abilita la valutazione offline degli agenti Microsoft Foundry all'interno delle pipeline CI/CD. È progettato per semplificare il processo di valutazione offline, in modo da poter identificare potenziali problemi e apportare miglioramenti prima di rilasciare un aggiornamento alla produzione.

Per usare questa azione, fornire un set di dati con query di test e un elenco di analizzatori. Questa azione richiama gli agenti con le query, esegue le valutazioni e genera un report di riepilogo.

Funzionalità

  • Valutazione degli agenti: Automatizzare la valutazione in fase di pre-produzione degli agenti di Microsoft Foundry nel flusso di lavoro CI/CD.
  • Valutatori: utilizzare qualsiasi valutatore dal catalogo dei valutatori di Foundry.
  • Analisi statistica: i risultati della valutazione includono intervalli di confidenza e test di significatività statistica per determinare se le modifiche sono significative e non a causa di variazioni casuali.

Categorie di analizzatori

Prerequisiti

Suggerimento

Il modo consigliato per eseguire l'autenticazione consiste nell'usare Microsoft Entra ID, che consente di connettersi in modo sicuro alle risorse di Azure. È possibile automatizzare il processo di autenticazione usando l'azione GitHub di accesso di Azure. Per altre informazioni, vedere Azione di accesso di Azure con OpenID Connect.

Come configurare le valutazioni degli agenti di intelligenza artificiale

Input delle valutazioni dell'agente IA

Parametri

Nome Obbligatorio? Descrzione
azure-ai-project-endpoint (endpoint del progetto Azure AI) Endpoint del progetto Microsoft Foundry Project.
deployment-name Nome della distribuzione del modello di intelligenza artificiale di Azure da usare per la valutazione.
percorso dati Percorso del file di dati contenente gli analizzatori e le query di input per le valutazioni.
ID agente ID di uno o più agenti da valutare in formato agent-name:version (ad esempio, my-agent:1 o my-agent:1,my-agent:2). Più agenti sono separati da virgole e confrontati con i risultati dei test statistici.
baseline-agent-id NO ID dell'agente di base da confrontare durante la valutazione di più agenti. Se non specificato, viene usato il primo agente.

File di dati

Il file di dati di input deve essere un file JSON con la struttura seguente:

Campo TIPO Obbligatorio? Descrzione
nome corda Nome del set di dati di valutazione.
Valutatori string[] Elenco dei nomi dei valutatori da usare. Consultare l'elenco dei valutatori disponibili nel catalogo dei valutatori del progetto nel portale Foundry: Compilazione >Valutazioni >Catalogo dei valutatori.
data object[] Array di oggetti di input con campi dell'analizzatore facoltativi come query, ground_truth, context. Mappato automaticamente ai valutatori; utilizzare data_mapping per eseguire l'override.
openai_graders oggetto NO Configurazione per analizzatori basati su OpenAI (label_model, score_model, string_check e così via).
parametri_di_valutatore oggetto NO Parametri di inizializzazione specifici dell'analizzatore (ad esempio, soglie, impostazioni personalizzate).
data_mapping oggetto NO Mapping dei campi dati personalizzati (generato automaticamente dai dati, se non specificato).

File di dati di esempio di base

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

File di dati di esempio aggiuntivi

Filename Descrzione
dataset-tiny.json Set di dati con un numero ridotto di query e analizzatori di test.
dataset.json Set di dati con tutti i tipi di analizzatori supportati e query sufficienti per il calcolo dell'intervallo di confidenza e il test statistico.
dataset-builtin-evaluators.json Esempio di valutatori Foundry integrati (ad esempio coerenza, fluidità, pertinenza, aderenza, metriche).
dataset-openai-graders.json Esempio di classificatori basati su OpenAI (modelli di etichetta, modelli di punteggio, somiglianza del testo, controlli stringa).
dataset-custom-evaluators.json Esempio di analizzatori personalizzati con parametri dell'analizzatore.
dataset-data-mapping.json Esempio di mappatura dei dati che mostra come sostituire i mapping automatici dei campi con nomi di colonne personalizzati.

Flusso di lavoro di valutazione dell'agente di intelligenza artificiale

Per usare GitHub Action, aggiungere GitHub Action ai flussi di lavoro CI/CD. Specificare i criteri di trigger, ad esempio al commit, e i percorsi dei file per attivare i flussi di lavoro automatizzati.

Suggerimento

Per ridurre al minimo i costi, non eseguire la valutazione per ogni commit.

Questo esempio illustra come eseguire Valutazione di intelligenza artificiale dell'agente di Azure quando si confrontano agenti diversi usando gli ID agente.

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

Output delle valutazioni dell'agente IA

I risultati della valutazione vengono restituiti nella sezione di riepilogo per ogni azione GitHub di valutazione dell'intelligenza artificiale eseguita in Azioni in GitHub.

Di seguito è riportato un report di esempio per il confronto di due agenti.

Screenshot del risultato della valutazione dell'agente su GitHub Actions.