Avaliadores Retrieval-Augmented Geração (RAG)

Um sistema de Geração Retrieval-Augmented (RAG) tenta gerar a resposta mais relevante, consistente com o grounding dos documentos, em resposta à consulta do utilizador. A consulta de um utilizador desencadeia uma recuperação de pesquisa no corpus de documentos de grounding para fornecer contexto de grounding ao modelo de IA gerar uma resposta.

Avaliador Melhores práticas Utilizar quando Purpose Output
Recuperação de documentos Avaliação de processos A qualidade de recuperação é um gargalo para o seu RAG, e tem rótulos de relevância de consulta (verdade fundamental) para métricas precisas de qualidade de pesquisa para depuração e otimização de parâmetros Mede métricas de qualidade de pesquisa (Fidelidade, NDCG, XDCG, Relevância Máxima, Buracos) comparando documentos recuperados com rótulos de verdade no terreno Composto: Fidelidade, NDCG, XDCG, Relevância Máxima, Buracos (com Aprovado/Reprovado)
Recuperação Avaliação de processos Queres avaliar a qualidade textual do contexto recuperado, mas não tens verdades fundamentadas Mede a relevância dos blocos de contexto recuperados para responder a uma consulta usando um juiz LLM Binário: Aprovado/Reprovado com base no limiar (escala 1-5)
Groundedness Avaliação do sistema Queres uma definição de fundamento abrangente que funcione com inputs do agente, e traz os teus próprios modelos GPT como juiz do LLM Mede quão bem a resposta gerada se alinha com o contexto dado sem fabricar conteúdo (aspeto de precisão) Binário: Aprovado/Reprovado com base no limiar (escala 1-5)
Groundedness Pro (pré-visualização) Avaliação do sistema Quer uma definição rigorosa de fundamento baseada no Segurança de conteúdo de IA do Azure e utilize o nosso modelo de serviço Deteta se a resposta é estritamente consistente com o contexto usando o serviço Segurança de conteúdo de IA do Azure Binário: Verdadeiro/Falso
Relevância Avaliação do sistema Queres avaliar quão bem a resposta do RAG responde à questão, mas não tens verdades fundamentadas Mede a precisão, completude e relevância direta da resposta à pergunta Binário: Aprovado/Reprovado com base no limiar (escala 1-5)
Completude da Resposta (pré-visualização) Avaliação do sistema Quer garantir que a resposta do RAG não perca informações críticas (aspeto de recordação) da sua verdade no terreno Mede até que ponto a resposta cobre completamente a informação esperada em comparação com a verdade no terreno Binário: Aprovado/Reprovado com base no limiar (escala 1-5)

Pense na solidez e na completude das respostas como:

  • A Groundedness foca-se no aspeto de precisão da resposta. Não contém conteúdo fora do contexto de grounding.
  • A completude da resposta foca-se no aspeto da recordação da resposta. Não perde informações críticas em comparação com a resposta esperada ou a verdade no terreno.

Avaliação do sistema

A avaliação do sistema examina a qualidade da resposta final no seu fluxo de trabalho RAG. Estes avaliadores garantem que o conteúdo gerado pela IA é preciso, relevante e completo com base no contexto fornecido e na consulta do utilizador:

  • Fundamentação - A resposta está fundamentada no contexto fornecido sem fabricação?
  • Groundedness Pro - A resposta segue estritamente o contexto (Segurança de conteúdo de IA do Azure)?
  • Relevância - A resposta responde corretamente à questão do utilizador?
  • Completude da Resposta (pré-visualização) - A resposta cobre toda a informação crítica a partir da verdade no terreno?

Examples:

Avaliação de processos

A avaliação de processos avalia a qualidade da etapa de recuperação de documentos nos sistemas RAG. O passo de recuperação é crucial para fornecer contexto relevante ao modelo de linguagem:

  • Recuperação - Quão relevantes são os blocos de contexto recuperados para a consulta?
  • Recuperação de Documentos - Quão bem corresponde a recuperação aos rótulos de verdade do terreno (requer qrels)?

Para mais exemplos, veja all amostras de avaliadores de qualidade.

Utilização de avaliadores RAG

Os avaliadores RAG avaliam quão bem os sistemas de IA recuperam e utilizam o contexto para gerar respostas fundamentadas. Cada avaliador requer mapeamentos de dados e parâmetros específicos:

Avaliador Entradas necessárias Parâmetros necessários
Groundedness response, context (opcional e recomendado); query opcional para pontuação melhorada; ou query, response para modo de resposta do agente, tool_definitions deployment_name
Groundedness Pro (pré-visualização) query, response, context (nenhum)
Relevância query, response deployment_name
Completude da Resposta (pré-visualização) ground_truth, response deployment_name
Recuperação query, context deployment_name
Recuperação de documentos retrieval_ground_truth, retrieved_documents (nenhum)

Exemplo de entrada

O seu conjunto de dados de teste deve conter os campos referenciados nos seus mapeamentos de dados:

{"query": "What are the store hours?", "context": "Our store is open Monday-Friday 9am-6pm and Saturday 10am-4pm.", "response": "The store is open weekdays from 9am to 6pm and Saturdays from 10am to 4pm."}
{"query": "What is the return policy?", "context": "Items can be returned within 30 days with original receipt for full refund.", "response": "You can return items within 30 days if you have your receipt."}

Formato de contexto

O context campo é uma cadeia simples que contém o contexto recuperado fornecido ao modelo. Para a recuperação de múltiplos blocos, concatene blocos numa única cadeia usando um separador, como \n\n entre blocos:

{"query": "What is the return policy?", "context": "Items can be returned within 30 days with receipt.\n\nGift items are eligible for store credit only.", "response": "You can return items within 30 days with your receipt."}

Observação

Para avaliação de agentes com {{sample.output_items}}, o context campo é opcional se a resposta contiver mensagens de chamada de ferramenta — o avaliador pode extrair contexto dos resultados das chamadas de ferramenta.

Tip

Definições de ferramentas para avaliação de agentes: Ao avaliar respostas de agentes, forneça tool_definitions para ajudar o avaliador de Groundedness a avaliar melhor se as respostas assistidas por ferramentas estão fundamentadas no contexto recuperado. Se os teus rastros de agente já incluírem definições de ferramentas, são usados automaticamente.

Exemplo de configuração

Sintaxe do mapeamento de dados:

  • {{item.field_name}} Referências a campos do seu conjunto de dados de teste (por exemplo, {{item.query}}).
  • {{sample.output_items}} Referências às respostas do agente geradas ou recolhidas durante a avaliação. Utilize-o ao avaliar com um alvo de agente ou uma fonte de dados de resposta de agente. Para avaliação de agentes, context é opcional se a resposta contiver chamadas de ferramenta — o avaliador pode extrair contexto dos resultados das chamadas de ferramenta.

Tip

Para melhores resultados de Groundedness, forneça os três campos — query, response, e context. O query campo é opcional, mas melhora a precisão de pontuação quando disponível.

testing_criteria = [
    {
        "type": "azure_ai_evaluator",
        "name": "groundedness",
        "evaluator_name": "builtin.groundedness",
        "initialization_parameters": {"deployment_name": model_deployment},
        "data_mapping": {
            "context": "{{item.context}}",
            "response": "{{item.response}}",
        },
    },
    {
        "type": "azure_ai_evaluator",
        "name": "relevance",
        "evaluator_name": "builtin.relevance",
        "initialization_parameters": {"deployment_name": model_deployment},
        "data_mapping": {"query": "{{item.query}}", "response": "{{item.response}}"},
    },
    {
        "type": "azure_ai_evaluator",
        "name": "retrieval",
        "evaluator_name": "builtin.retrieval",
        "initialization_parameters": {"deployment_name": model_deployment},
        "data_mapping": {"query": "{{item.query}}", "context": "{{item.context}}"},
    },
]

Consulte Run evaluations from the SDK para detalhes sobre avaliações em execução e configuração de fontes de dados.

Exemplo de saída

Estes avaliadores apresentam pontuações de 1 a 5, sendo 1 muito fraco e 5 excelente. O limite padrão de aprovação é 3. Pontuações com ou acima do limiar são consideradas aprovadas. Campos-chave de saída:

{
    "type": "azure_ai_evaluator",
    "name": "Groundedness",
    "metric": "groundedness",
    "score": 4,
    "label": "pass",
    "reason": "The response is well-grounded in the provided context without fabricating content.",
    "threshold": 3,
    "passed": true
}

O Groundedness Pro utiliza o serviço Segurança de conteúdo de IA do Azure e devolve um resultado booleano em vez de uma pontuação numérica:

{
    "type": "azure_ai_evaluator",
    "name": "Groundedness Pro",
    "metric": "groundedness_pro",
    "label": "pass",
    "reason": "The response is strictly consistent with the provided context.",
    "passed": true
}

Recuperação de documentos

Devido ao seu papel a montante no RAG, a qualidade da recuperação é importante. Se a qualidade da recuperação for fraca e a resposta exigir conhecimento específico do corpus, há menos hipótese de o teu modelo de linguagem te dar uma resposta satisfatória. A medição mais precisa é usar o document_retrieval avaliador para avaliar a qualidade da recuperação e otimizar os seus parâmetros de pesquisa para o RAG.

  • O avaliador de recuperação de documentos mede quão bem o RAG recupera os documentos corretos do armazenamento de documentos. Como um avaliador composto útil para cenários RAG com verdade no terreno, calcula uma lista de métricas úteis de qualidade de pesquisa para depurar os seus pipelines RAG:

    Métrico Category Descrição
    Fidelidade Search Fidelity Quão bem os primeiros n blocos recuperados refletem o conteúdo de uma dada consulta: número de bons documentos devolvidos do total de bons documentos conhecidos num conjunto de dados
    NDCG Pesquisa NDCG Quão bons são os rankings numa ordem ideal em que todos os itens relevantes estejam no topo da lista
    XDCG Pesquisa XDCG Quão bons são os resultados nos documentos top-k, independentemente da pontuação de outros documentos de índice
    Relevância máxima N Pesquisa Relevância Máxima Relevância máxima nos blocos top-k
    Buracos Pesquisar Rótulo Sanidade Número de documentos com falta de relevância de consulta, julgamentos ou verdade fundamentada
  • Para otimizar o seu RAG num cenário chamado varrimento de parâmetros, pode usar estas métricas para calibrar os parâmetros de pesquisa para obter os resultados ótimos do RAG. Gera diferentes resultados de recuperação para vários parâmetros de pesquisa, como algoritmos de pesquisa (vetor, semântica), top_k e tamanhos de blocos que gostas de testar. Depois, use document_retrieval para encontrar os parâmetros de pesquisa que produzem a maior qualidade de recuperação.

Exemplo de recuperação de documentos

testing_criteria = [
    {
        "type": "azure_ai_evaluator",
        "name": "document_retrieval",
        "evaluator_name": "builtin.document_retrieval",
        "initialization_parameters": {
            "ground_truth_label_min": 1,  # SDK default: 0
            "ground_truth_label_max": 5,  # SDK default: 4
        },
        "data_mapping": {
            "retrieval_ground_truth": "{{item.retrieval_ground_truth}}",
            "retrieved_documents": "{{item.retrieved_documents}}",
        },
    },
]

Contém retrieval_ground_truth pontuações de relevância rotuladas por humanos por documento:

retrieval_ground_truth = [
    {"document_id": "1", "query_relevance_label": 4},
    {"document_id": "2", "query_relevance_label": 2},
]

Contém retrieved_documents as pontuações do seu sistema de pesquisa:

retrieved_documents = [
    {"document_id": "2", "relevance_score": 45.1},
    {"document_id": "6", "relevance_score": 35.8},
]

Saída de recuperação de documentos

O document_retrieval avaliador devolve múltiplas métricas para a qualidade da recuperação:

[
    {
        "type": "azure_ai_evaluator",
        "name": "Document Retrieval",
        "metric": "ndcg@3",
        "score": 0.646,
        "label": "pass",
        "passed": true
    },
    {
        "type": "azure_ai_evaluator",
        "name": "Document Retrieval",
        "metric": "fidelity",
        "score": 0.019,
        "label": "fail",
        "passed": false
    },
    # more metrics...
]

O avaliador também devolve xdcg@3, top1_relevance, top3_max_relevance, holes, e holes_ratio métricas.