Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
Os itens marcados (versão prévia) neste artigo estão atualmente em versão prévia pública. Essa versão prévia é fornecida sem um contrato de nível de serviço e não recomendamos isso para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou podem ter restrição de recursos. Para obter mais informações, consulte Termos de Uso Complementares para Versões Prévias do Microsoft Azure.
Esta Ação do GitHub permite a avaliação offline dos Agentes do Microsoft Foundry em seus pipelines de CI/CD. Ele foi projetado para simplificar o processo de avaliação offline, para que você possa identificar possíveis problemas e fazer melhorias antes de lançar uma atualização para a produção.
Para usar essa ação, forneça um conjunto de dados com consultas de teste e uma lista de avaliadores. Essa ação invoca seus agentes com as consultas, executa as avaliações e gera um relatório de resumo.
Features
- Avaliação do Agente: Automatize a avaliação pré-produção dos agentes do Microsoft Foundry em seu fluxo de trabalho de CI/CD.
- Avaliadores: use qualquer avaliador do catálogo de avaliadores do Foundry.
- Análise Estatística: os resultados da avaliação incluem intervalos de confiança e teste de significância estatística para determinar se as alterações são significativas e não devido à variação aleatória.
Categorias de avaliador
- Avaliadores de agente: avaliadores de processo e de nível de sistema para fluxos de trabalho do agente.
- Avaliadores RAG: Avaliar processos de ponta a ponta e recuperação em sistemas RAG.
- Avaliadores de risco e segurança: avalie os riscos e as preocupações com a segurança nas respostas.
- Avaliadores de finalidade geral: avaliação de qualidade, como coerência e fluência.
- Avaliadores baseados em OpenAI: Use avaliadores OpenAI, incluindo verificação de string, similaridade de texto, modelo de pontuação/rótulo.
- Avaliadores personalizados: defina seus próprios avaliadores personalizados usando o código Python ou padrões LLM-as-a-judge.
Pré-requisitos
- Um projeto. Para saber mais, confira Criar um projeto.
- Um agente do Foundry.
Dica
A maneira recomendada de autenticar é usando a ID do Microsoft Entra, que permite que você se conecte com segurança aos recursos do Azure. Você pode automatizar o processo de autenticação usando a ação de Login do Azure do GitHub. Para saber mais, confira a ação de Logon do Azure com o OpenID Connect.
Como configurar avaliações do agente de IA
Entrada de avaliações do agente de IA
Parâmetros
| Nome | Obrigatório? | DESCRIÇÃO |
|---|---|---|
| ponto de extremidade de projeto Azure AI | Yes | Ponto de extremidade do seu projeto Microsoft Foundry. |
| nome da implantação | Yes | O nome do modelo de IA do Azure a ser implantado para avaliação. |
| caminho de dados | Yes | Caminho para o arquivo de dados que contém os avaliadores e as consultas de entrada para avaliações. |
| IDs de agentes | Yes | ID de um ou mais agentes a serem avaliados em formato agent-name:version (por exemplo, my-agent:1 ou my-agent:1,my-agent:2). Vários agentes são separados por vírgula e comparados com os resultados do teste estatístico. |
| baseline-agent-id | Não | ID do agente de linha de base com a qual comparar ao avaliar vários agentes. Se não for fornecido, o primeiro agente será usado. |
Arquivo de dados
O arquivo de dados de entrada deve ser um arquivo JSON com a seguinte estrutura:
| Campo | Tipo | Obrigatório? | DESCRIÇÃO |
|---|---|---|---|
| nome | cadeia | Yes | Nome do conjunto de dados de avaliação. |
| avaliadores | cadeia de caracteres[] | Yes | Lista de nomes do avaliador a serem usados. Confira a lista de avaliadores disponíveis no catálogo de avaliadores do seu projeto no portal Foundry: Build > Avaliações > Catálogo de avaliadores. |
| dados | object[] | Yes | Matriz de objetos de entrada com query e campos de avaliador opcionais, como ground_truth e context. Mapeada automaticamente para avaliadores; use data_mapping para sobrescrever. |
| openai_graders | objeto | Não | Configuração para avaliadores baseados em OpenAI (label_model, score_model, string_check etc.). |
| parâmetros_do_avaliador | objeto | Não | Parâmetros de inicialização específicos do avaliador (por exemplo, limites, configurações personalizadas). |
| data_mapping | objeto | Não | Mapeamentos de campo de dados personalizados (gerados automaticamente de dados, se não fornecidos). |
Arquivo de dados de exemplo básico
{
"name": "test-data",
"evaluators": [
"builtin.fluency",
"builtin.task_adherence",
"builtin.violence",
],
"data": [
{
"query": "Tell me about Tokyo disneyland"
},
{
"query": "How do I install Python?"
}
]
}
Arquivos de dados de exemplo adicionais
| Nome do Arquivo | DESCRIÇÃO |
|---|---|
| dataset-tiny.json | Conjunto de dados com um número reduzido de consultas de teste e avaliadores. |
| dataset.json | Conjunto de dados com todos os tipos de avaliador compatíveis e consultas suficientes para cálculo de intervalo de confiança e teste estatístico. |
| dataset-builtin-evaluators.json | Exemplo de avaliadores internos do Foundry (por exemplo, coerência, fluência, relevância, fundamentação, métricas). |
| dataset-openai-graders.json | Exemplo de classificadores baseados em OpenAI (modelos de rótulo, modelos de pontuação, similaridade de texto, verificações de cadeia de caracteres). |
| dataset-custom-evaluators.json | Exemplo de avaliadores personalizados com parâmetros de avaliação. |
| dataset-data-mapping.json | Exemplo de mapeamento de dados mostrando como substituir mapeamentos automáticos de campo com nomes de coluna de dados personalizados. |
Fluxo de trabalho de avaliações do agente de IA
Para usar a Ação do GitHub, adicione a Ação do GitHub aos fluxos de trabalho de CI/CD. Especifique os critérios de gatilho, como na confirmação, e os caminhos de arquivo para disparar seus fluxos de trabalho automatizados.
Dica
Para minimizar os custos, não execute a avaliação em cada commit.
Este exemplo mostra como você pode executar a Avaliação de IA do Agente do Azure 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
Saída de avaliações do agente de IA
Os resultados da avaliação são gerados na seção de resumo de cada Ação do GitHub para Avaliação de IA, executada em Ações no GitHub.
Veja a seguir um relatório de exemplo para comparar dois agentes.