Como executar uma avaliação no GitHub Action (pré-visualização)

Importante

Os itens marcados (pré-visualização) neste artigo encontram-se atualmente em pré-visualização pública. Esta pré-visualização é fornecida sem um acordo de nível de serviço, e não a recomendamos para cargas de trabalho em produção. Certas funcionalidades podem não ser suportadas ou podem ter capacidades limitadas. Para mais informações, consulte Termos de Utilização Suplementares para Microsoft Azure Pré-visualizações.

Esta Ação do GitHub permite a avaliação offline de Microsoft Foundry Agents nos seus pipelines de CI/CD. Simplifica o processo de avaliação offline, permitindo identificar potenciais problemas e fazer melhorias antes de lançar uma atualização em produção.

Para usar esta ação, forneça um conjunto de dados com consultas de teste e uma lista de avaliadores. Esta ação invoca os seus agentes com as consultas, executa as avaliações e gera um relatório resumo.

Características

  • Avaliação de Agentes: Automatize a avaliação pré-produção dos agentes Microsoft Foundry no seu fluxo de trabalho CI/CD.
  • Avaliadores: Utilize quaisquer avaliadores do catálogo de avaliadores da Foundry.
  • Análise Estatística: Os resultados da avaliação incluem intervalos de confiança e testes de significância estatística para determinar se as alterações são significativas e não se devem a variação aleatória.

Categorias de avaliadores

Pré-requisitos

Dica

A forma recomendada de autenticação é usando o Microsoft Entra ID, que pode usar para se ligar de forma segura aos seus recursos Azure. Pode automatizar o processo de autenticação usando a ação GitHub Azure Login. Para saber mais, consulte Azure Ação de Login com OpenID Connect.

Como configurar avaliações de agentes de IA

Informações de avaliação de agentes de IA

Parâmetros

Nome Obrigatório? Descrição
Azure-AI-ponto-de-acesso-do-projeto Sim Endpoint do seu projeto Foundry da Microsoft. Para encontrar este valor, abra o seu projeto no portal Foundry e copie o endpoint da página de Visão Geral .
Nome de deployment Sim O nome de uma implementação de um modelo de IA do Azure a usar para avaliação. Encontre implementações existentes em Modelos + endpoints no portal Foundry.
Caminho de dados Sim Caminho para o ficheiro de dados que contém os avaliadores e as consultas de entrada para as avaliações.
IDs de agente Sim ID de um ou mais agentes a avaliar no formato agent-name:version (por exemplo, my-agent:1 ou my-agent:1,my-agent:2). Múltiplos agentes são separados por vírgulas e comparados com os resultados dos testes estatísticos.
ID do agente de referência Não ID do agente de referência para comparar ao avaliar vários agentes. Se não for fornecido, é utilizado o primeiro agente.

Nota

Para encontrar o ID e a versão do seu agente, abra o seu projeto no portal Foundry, vá a Agentes, selecione o seu agente e copie o ID do Agente do painel de detalhes. A versão é o número da versão de implementação (por exemplo, my-agent:1).

Ficheiro de dados

O ficheiro de dados de entrada deve ser um ficheiro JSON com a seguinte estrutura:

Campo Tipo Obrigatório? Descrição
Nome cadeia (de caracteres) Sim Nome do conjunto de dados de avaliação.
avaliadores string[] Sim Lista de nomes de avaliadores para usar. Consulte a lista de avaliadores disponíveis no catálogo de avaliadores do seu projeto no portal Foundry: catálogo Build > Evaluations > Evaluator.
dados objeto[] Sim Array de objetos de entrada com query e campos avaliadores opcionais como ground_truth, context. Automapeado para avaliadores; Uso data_mapping para sobrepor.
openai_graders objecto Não Configuração para avaliadores baseados em OpenAI (label_model, score_model, string_check, etc.).
parâmetros_do_avaliador objecto Não Parâmetros de inicialização específicos do avaliador (por exemplo, limiares, definições personalizadas).
mapeamento de dados objecto Não Mapeamentos personalizados de campos de dados (gerados automaticamente a partir dos dados se não fornecidos).

Ficheiro básico de dados de exemplo

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

Ficheiros de dados de exemplo adicionais

Nome do ficheiro Descrição
dataset-tiny.json Conjunto de dados com um pequeno número de consultas de avaliação e avaliadores.
dataset.json Conjunto de dados com todos os tipos de avaliadores suportados e consultas suficientes para cálculo de intervalos de confiança e testes estatísticos.
dataset-builtin-evaluators.json Exemplo de avaliadores Foundry incorporados (por exemplo, coerência, fluência, relevância, fundamentação, métricas).
dataset-openai-graders.json Exemplo de avaliadores baseados em OpenAI (modelos de etiquetas, modelos de pontuação, similaridade de texto, verificações de cadeias).
dataset-custom-evaluators.json Exemplo de avaliadores personalizados com parâmetros de avaliação.
dataset-data-mapping.json Exemplo de mapeamento de dados que mostra como sobrescrever mapeamentos automáticos de campos com nomes personalizados de colunas de dados.

Fluxo de trabalho de avaliação de agentes de IA

Para usar a Ação do GitHub, adicione a Ação do GitHub aos seus fluxos de trabalho de CI/CD. Especifique os critérios de gatilho, como na confirmação, e os caminhos dos ficheiros para ativar os seus fluxos de trabalho automatizados.

Dica

Para minimizar custos, não faça avaliações em todos os compromissos.

Este exemplo mostra como pode executar a Avaliação de Agentes por IA ao comparar diferentes agentes usando IDs de 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

Resultado das avaliações de agentes de IA

Os resultados da avaliação são enviados para a secção de resumo para cada Ação de Avaliação GitHub IA executada em Ações em GitHub. O relatório mostra as pontuações de avaliação para cada métrica, intervalos de confiança e — quando se avaliam múltiplos agentes — uma comparação estatística par a par que indica se as diferenças são significativas ou estão dentro de variações aleatórias.

A captura de ecrã seguinte mostra um relatório de exemplo comparando dois agentes.

Captura de ecrã do GitHub Actions mostrando o resumo do fluxo de trabalho com as pontuações de avaliação dos agentes, intervalos de confiança e comparação estatística par a par entre dois agentes.