Referência de avaliadores para avaliações de agentes da CLI

A CLI de Avaliações de Agente do Microsoft 365 Copilot inclui um conjunto de avaliadores que pontuam automaticamente as respostas do agente. Cada avaliador mede um aspecto diferente da qualidade, desde a relevância semântica até a correspondência exata de strings. Este artigo descreve cada avaliador, seu comportamento de pontuação, opções de configuração e como usá-lo em seus conjuntos de dados de teste.

Para obter informações sobre como configurar avaliadores em seus conjuntos de dados, consulte Configurar avaliadores.

Você pode encontrar o esquema do conjunto de dados de avaliação no formato JSON Schema no GitHub.

Resumo do avaliador

A tabela a seguir resume todos os avaliadores disponíveis.

Avaliador Tipo Escala Limite padrão Habilitada por padrão Campos obrigatórios
Relevância Baseado em LLM 1-5 3 Sim prompt
Coerência Baseado em LLM 1-5 3 Sim prompt
Aterramento Baseado em LLM 1-5 3 Não prompt
Similaridade Baseado em LLM 1-5 3 Não prompt, expected_response
RetrievalQuery Não LLM Aprovado/reprovado N/D Não prompt, config do avaliador
RetrievalResult Não LLM Proporcional 1.0 Não prompt, config do avaliador
Citações Com base em contagem >= 0 1 Não prompt
PartialMatch Correspondência de cadeia de caracteres 0.0-1.0 0.5 Não prompt, expected_response
ExactMatch Correspondência de cadeia de caracteres Booliano N/D Não prompt, expected_response

Avaliadores baseados em LLM

Os avaliadores baseados em LLM usam um modelo OpenAI do Azure em seu projeto Microsoft Foundry (configurado por meio de suas variáveis de ambiente) para julgar a qualidade da resposta do agente. Esses avaliadores são da plataforma do SDK de Avaliação de IA do Azure. As pontuações variam de 1 a 5 em uma escala Likert, onde valores mais altos indicam melhor qualidade. Por padrão, uma pontuação igual ou superior a 3 é necessária para ser aprovada. Você pode alterar a pontuação necessária em sua configuração de teste.

Relevância

O avaliador de relevância avalia o quão bem a resposta do agente aborda a consulta do usuário. Ele avalia se a resposta responde direta e completamente à pergunta que foi feita.

  • Habilitado por padrão: Sim
  • Escala: 1-5 (Likert)
  • Limite padrão: 3
  • Campos obrigatórios:prompt
  • Verdade básica necessária: Não

O avaliador de relevância não requer um expected_response - ele avalia apenas a relação entre a consulta e a resposta.

Conjunto de dados de exemplo de relevância

{
  "schemaVersion": "1.6.0",
  "default_evaluators": {
    "Relevance": {}
  },
  "items": [
    {
      "prompt": "What are the key features of our enterprise plan?",
      "expected_response": "The enterprise plan includes advanced security, unlimited storage, 24/7 support, and custom integrations."
    }
  ]
}

Coerência

O avaliador de coerência mede a apresentação lógica e ordenada de ideias na resposta do agente. Ele avalia se a resposta tem conexões claras entre as frases, transições apropriadas e uma sequência lógica de ideias que seja fácil de seguir.

  • Habilitado por padrão: Sim
  • Escala: 1-5 (Likert)
  • Limite padrão: 3
  • Campos obrigatórios:prompt
  • Verdade básica necessária: Não

Conjunto de dados de exemplo de coerência

{
  "schemaVersion": "1.6.0",
  "default_evaluators": {
    "Coherence": {}
  },
  "items": [
    {
      "prompt": "Explain the process for submitting an expense report.",
      "expected_response": "To submit an expense report, first collect your receipts. Then open the expense portal, create a new report, attach your receipts, and submit for manager approval."
    }
  ]
}

Aterramento

O avaliador de fundamentação verifica se a resposta do agente é consistente e apoiada pelo contexto de fundamentação fornecido. Ele se concentra na precisão, verificando se a resposta não contém declarações ou informações que vão além do que os documentos recuperados dão suporte.

  • Habilitado por padrão: Não
  • Escala: 1-5 (Likert)
  • Limite padrão: 3
  • Campos obrigatórios:prompt, expected_response
  • Verdade básica necessária: Não

Use o avaliador Groundedness para detectar alucinações ou declarações não comprovadas nas respostas do seu agente.

Conjunto de dados de exemplo de fundamentação

{
  "schemaVersion": "1.6.0",
  "default_evaluators": {
    "Relevance": {},
    "Groundedness": {}
  },
  "items": [
    {
      "prompt": "What is our company's remote work policy?",
      "expected_response": "Employees can work remotely up to 3 days per week with manager approval."
    }
  ]
}

Similaridade

O avaliador de similaridade mede o grau de similaridade semântica entre a resposta do agente e uma fornecida expected_response (verdade fundamental). Ao contrário das métricas de sobreposição de tokens, como F1 ou Bilingual Evaluation Understudy (BLEU), ele se concentra no significado e no contexto mais amplo, em vez de correspondências de palavras no nível da superfície.

  • Habilitado por padrão: Não
  • Escala: 1-5 (Likert)
  • Limite padrão: 3
  • Campos obrigatórios:prompt, expected_response
  • Verdade básica necessária: Sim

Você precisa configurar expected_response em seus itens de conjunto de dados para o avaliador de similaridade.

Conjunto de dados de exemplo de similaridade

{
  "schemaVersion": "1.6.0",
  "default_evaluators": {
    "Similarity": {}
  },
  "items": [
    {
      "prompt": "What is Microsoft Graph?",
      "expected_response": "Microsoft Graph is a unified API endpoint that provides access to data and intelligence in Microsoft 365 services."
    }
  ]
}

Avaliadores de recuperação

Os avaliadores de recuperação validam o pipeline de recuperação de ponta a ponta do seu agente do Microsoft 365 Copilot. Eles inspecionam como o agente traduz consultas de usuário em operações de recuperação e se os recursos esperados aparecem nos resultados. Esses avaliadores não usam um juiz LLM - eles executam verificações determinísticas em dados de execução de recuperação.

RetrievalQuery

O avaliador RetrievalQuery valida se o Copilot traduziu corretamente a intenção do usuário em consultas de recuperação. Ele inspeciona os queryString valores dentro do normalizado retrieval_executions[] e verifica se eles correspondem aos padrões esperados.

  • Habilitado por padrão: Não
  • Escala: Aprovado/reprovado
  • Limite padrão: Não disponível
  • Campos obrigatórios:prompt, configuração do avaliador
  • Verdade básica necessária: Não

Opções de configuração do RetrievalQuery

Opção Tipo Obrigatório Descrição
capability string Sim A capacidade de recuperação para definir o escopo de quais execuções são examinadas (por exemplo, "OneDriveAndSharePoint", "Email", "GraphConnectors").
selector string Sim Uma substring que não diferencia maiúsculas de minúsculas usada para identificar a consulta de destino nas execuções de recuperação.
includes string Sim Subcadeias de caracteres que DEVEM aparecer na consulta correspondente.
excludes string Sim Subcadeias de caracteres que NÃO DEVEM aparecer na consulta correspondente.

Conjunto de dados de exemplo RetrievalQuery

{
  "schemaVersion": "1.6.0",
  "items": [
    {
      "prompt": "Find the Q4 sales report in SharePoint",
      "expected_response": "Here is the Q4 sales report.",
      "evaluators": {
        "RetrievalQuery": {
          "capability": "OneDriveAndSharePoint",
          "selector": "Q4 sales report",
          "includes": ["projections", "profit"],
          "excludes": ["FileType:OneNote"]
        }
      }
    }
  ]
}

RetrievalResult

O avaliador RetrievalResult valida se os recursos esperados realmente aparecem nos documentos, mensagens e itens retornados pelas execuções de recuperação. Ele verifica se trechos de texto específicos estão presentes em extrações de ocorrências de recuperação dentro de um limite de classificação configurável.

  • Habilitado por padrão: Não
  • Escala: Proporcional (0,0-1,0)
  • Limite padrão: 1,0 (todas as verificações devem ser aprovadas)
  • Campos obrigatórios:prompt, configuração do avaliador
  • Verdade básica necessária: Não

A pontuação é proporcional ao número de itens esperados encontrados. Por exemplo, se 2 dos 3 itens esperados forem encontrados, a pontuação será 0,67. No entanto, uma aprovação requer que todas as verificações sejam bem-sucedidas (o limite é sempre 1,0). Você deve configurar pelo menos um dos expected_items ou min_expected_count.

Opções de configuração RetrievalResult

Opção Tipo Obrigatório Descrição
expected_items array Condicional Matriz de objetos especificando os resultados esperados. Cada objeto pode incluir retrievalExtract_contains (um trecho de texto a ser correspondido em extratos de ocorrências de recuperação). Você deve configurar pelo menos um dos expected_items ou min_expected_count.
expected_items[].retrievalExtract_contains string Não Um trecho de texto que deve aparecer em uma extração de ocorrência de recuperação.
min_expected_count inteiro Condicional Número mínimo de resultados que devem ser recuperados. Você deve configurar pelo menos um dos expected_items ou min_expected_count.
max_rank inteiro Não Posição de classificação máxima a ser considerada ao corresponder itens esperados. O padrão é 10

Conjunto de dados de exemplo RetrievalResult

{
  "schemaVersion": "1.6.0",
  "items": [
    {
      "prompt": "Find recent emails about the Contoso project",
      "expected_response": "Here are the recent emails about the Contoso project.",
      "evaluators": {
        "RetrievalResult": {
          "expected_items": [
            { "retrievalExtract_contains": "update" },
            { "retrievalExtract_contains": "budget" }
          ],
          "max_rank": 5,
          "min_expected_count": 2
        }
      }
    }
  ]
}

Avaliadores baseados em cadeia de caracteres e contagem

Esses avaliadores usam a correspondência determinística de strings ou lógica de contagem. Eles não exigem um LLM e são executados localmente.

Citações

O avaliador de Citações conta o número de referências de citação na resposta do agente, como [1], [2], ou citações no estilo de hiperlink. Ele verifica se o agente atribui corretamente suas declarações às fontes. Defina o limite para o número esperado de citações.

  • Habilitado por padrão: Não
  • Escala:>= 0 (contagem)
  • Limite padrão: 1
  • Campos obrigatórios:prompt
  • Verdade básica necessária: Não

A pontuação é igual à contagem de citações e um mínimo de 1 citação é necessária para ser aprovada por padrão.

Opções de configuração de citações

Opção Tipo Obrigatório Descrição
citation_format string Não Especifica o formato de citação esperado, como "mixed".

Conjunto de dados de exemplo de citações

{
  "schemaVersion": "1.6.0",
  "items": [
    {
      "prompt": "What is our return policy?",
      "expected_response": "Our return policy allows returns within 30 days [1].",
      "evaluators": {
        "Citations": {
          "threshold": 2,
          "citation_format": "mixed"
        }
      }
    }
  ]
}

PartialMatch

O avaliador PartialMatch mede o grau de sobreposição textual entre a resposta do agente e o uso de similaridade no nível do expected_response token (análogo a uma abordagem de pontuação F1). Esse avaliador é útil quando você espera que a resposta contenha frases-chave ou informações da resposta esperada, mas não precisa de uma correspondência literal.

  • Habilitado por padrão: Não
  • Escala: 0,0-1,0
  • Limite padrão: 0,5
  • Campos obrigatórios:prompt, expected_response
  • Verdade básica necessária: Sim

A pontuação varia de 0,0 (sem sobreposição) a 1,0 (partida completa).

Conjunto de dados de exemplo PartialMatch

{
  "schemaVersion": "1.6.0",
  "items": [
    {
      "prompt": "Who is the CEO of Contoso?",
      "expected_response": "The CEO of Contoso is Jane Smith.",
      "evaluators": {
        "PartialMatch": {}
      }
    }
  ]
}

ExactMatch

O avaliador ExactMatch executa uma comparação direta de cadeia de caracteres entre a resposta do agente e o arquivo .expected_response Ela retorna uma aprovação ou falha booliana - a resposta corresponde exatamente ou não. Esse avaliador é útil para prompts com respostas esperadas determinísticas ou estereotipadas.

  • Habilitado por padrão: Não
  • Escala: Booleano (aprovado ou reprovado)
  • Limite padrão: Não disponível
  • Campos obrigatórios:prompt, expected_response
  • Verdade básica necessária: Sim

Opções de configuração ExactMatch

Opção Tipo Obrigatório Descrição
case_sensitive booliano Não Controla se a comparação diferencia maiúsculas de minúsculas. O padrão é true

Conjunto de dados de exemplo ExactMatch

{
  "schemaVersion": "1.6.0",
  "items": [
    {
      "prompt": "What is 2 + 2?",
      "expected_response": "4",
      "evaluators": {
        "ExactMatch": { "case_sensitive": false }
      }
    }
  ]
}