Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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
- Avaliadores de agentes: Avaliadores a nível de processos e sistema para fluxos de trabalho de agentes.
- Avaliadores RAG: Avaliam processos de ponta a ponta e recuperação em sistemas RAG.
- Avaliadores de risco e segurança: Avaliar riscos e preocupações de segurança nas respostas.
- Avaliadores de propósito geral: Avaliação de qualidade, como coerência e fluência.
- Avaliadores baseados em OpenAI: Utilizem avaliadores OpenAI, incluindo verificação de cadeias, similaridade de texto, modelo de pontuação/etiqueta.
- Avaliadores personalizados: Defina os seus próprios avaliadores personalizados usando Python código ou padrões LLM-como-juiz.
Pré-requisitos
- Um projeto. Para saber mais, consulte Criar um projeto.
- Um agente da Foundry.
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.