Como executar uma avaliação no Azure DevOps (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 extensão Azure DevOps permite a avaliação offline de Microsoft Foundry Agents dentro dos seus pipelines 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 extensão, forneça um conjunto de dados com consultas de teste e uma lista de avaliadores. Esta tarefa invoca os seus agentes com as consultas, avalia-as 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

O método de autenticação recomendado é o Microsoft Entra ID através de uma ligação de serviço ao Azure Resource Manager. Crie uma ligação service no seu projeto Azure DevOps, depois referencia-a no pipeline usando a tarefa AzureCLI@2 antes de AIAgentEvaluation@2.

Entradas

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.

Pipeline de exemplo

Para usar esta extensão, adicione a tarefa AIAgentEvaluation@2 ao seu Azure Pipeline. O exemplo seguinte mostra um pipeline completo que se autentica usando uma ligação de serviço do Azure Resource Manager e avalia um agente.

steps:
  - task: AIAgentEvaluation@2
    displayName: "Evaluate AI Agents"
    inputs:
      azure-ai-project-endpoint: "$(AzureAIProjectEndpoint)"
      deployment-name: "$(DeploymentName)"
      data-path: "$(System.DefaultWorkingDirectory)/path/to/your/dataset.json"
      agent-ids: "$(AgentIds)"

Resultados e saídas da avaliação

Vê os resultados das avaliações no resumo do pipeline Azure DevOps. O relatório mostra as pontuações de avaliação para cada métrica, intervalos de confiança e – quando avalia múltiplos agentes – uma comparação estatística par a par que indica se as diferenças são significativas ou dentro da variação aleatória.

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

Captura de ecrã do resumo do pipeline do Azure DevOps mostrando as pontuações de avaliação dos agentes com intervalos de confiança e comparação estatística emparelhada para dois agentes.