Introdução à avaliação do agente Mosaic AI

Prévia

Este recurso está em Prévia pública.

Este artigo descreve Mosaic AI Agent Evaluation. O Agent Evaluation ajuda os desenvolvedores a avaliar a qualidade, o custo e a latência dos aplicativos de IA generativa, incluindo aplicativos e cadeias RAG. Os recursos da Avaliação de agentes são unificados nas fases de desenvolvimento, preparação e produção do ciclo de vida do site MLOps, e todas as métricas e dados de avaliação são registrados no site MLflow execução.

Os aplicativos agênticos são complexos e envolvem muitos componentes diferentes. A avaliação do desempenho desses aplicativos não é tão simples quanto a avaliação do desempenho dos modelos tradicionais de ML. As métricas qualitativas e quantitativas usadas para avaliar a qualidade são inerentemente mais complexas. Este artigo apresenta uma visão geral de como trabalhar com a Avaliação de agentes e inclui links para artigos com mais detalhes.

A avaliação do agente inclui juízes proprietários doLLM e métricas de agente para avaliar a qualidade da recuperação e da solicitação, bem como métricas gerais de desempenho, como latência e custo de tokens.

Exemplo de avaliação de agente

O código a seguir mostra como chamar e testar o Agent Evaluation em saídas geradas anteriormente. Ele retorna um dataframe com pontuações de avaliação calculadas pelos juízes do LLM que fazem parte da Avaliação do Agente.

O senhor pode copiar e colar o seguinte em seu site existente Databricks Notebook:

%pip install mlflow databricks-agents
dbutils.library.restartPython()

import mlflow
import pandas as pd

examples =  {
    "request": [
        "What is Spark?",
        "How do I convert a Spark DataFrame to Pandas?",
    ],
    "response": [
        "Spark is a data analytics framework.",
        "This is not possible as Spark is not a panda.",
    ],
    "retrieved_context": [ # Optional, needed for judging groundedness.
        [{"doc_uri": "doc1.txt", "content": "In 2013, Spark, a data analytics framework, was open sourced by UC Berkeley's AMPLab."}],
        [{"doc_uri": "doc2.txt", "content": "To convert a Spark DataFrame to Pandas, you can use toPandas()"}],
    ],
    "expected_response": [ # Optional, needed for judging correctness.
        "Spark is a data analytics framework.",
        "To convert a Spark DataFrame to Pandas, you can use the toPandas() method.",
    ]
}

result = mlflow.evaluate(
    data=pd.DataFrame(examples),    # Your evaluation set
    # model=logged_model.model_uri, # If you have an MLFlow model. `retrieved_context` and `response` will be obtained from calling the model.
    model_type="databricks-agent",  # Enable Mosaic AI Agent Evaluation
)

# Review the evaluation results in the MLFLow UI (see console output), or access them in place:
display(result.tables['eval_results'])

Como alternativa, o senhor pode importar e executar o seguinte Notebook em seu Databricks workspace:

Mosaic AI Exemplo de avaliação de agente Notebook

Abra o bloco de anotações em outra guia

Estabeleça a verdade fundamental com um conjunto de avaliação

Para medir a qualidade de um aplicativo agêntico, o senhor precisa definir o que é uma resposta precisa e de alta qualidade. Para fazer isso, o senhor cria um conjunto de avaliação, que é um conjunto de perguntas representativas e respostas verdadeiras. Se a solicitação envolver uma recuperação de passo, como no RAG fluxo de trabalho, o senhor poderá, opcionalmente, fornecer documentos de apoio nos quais espera que a resposta se baseie.

Para obter detalhes sobre conjuntos de avaliação, incluindo o esquema, dependências de métrica e práticas recomendadas, consulte Conjuntos de avaliação.

Avalie o desempenho com as métricas corretas

A avaliação de um aplicativo de IA exige vários conjuntos de métricas, incluindo:

  • Métricas de resposta, que medem se a resposta é precisa, consistente com o contexto recuperado (se houver) e relevante para a solicitação de entrada.

  • Métricas de recuperação, que medem se a recuperação dos passos (se houver) retornou pedaços relevantes para a solicitação de entrada.

  • Métricas de desempenho, que medem o número de tokens em todas as chamadas de geração de LLM e a latência em segundos para o rastreamento.

Para obter detalhes sobre métricas e juízes LLM, consulte Usar métricas do agente & juízes LLM para avaliar o desempenho do aplicativo.

Execuções de avaliação

Para obter detalhes sobre como executar uma avaliação, consulte Como executar uma avaliação e ver os resultados. A Avaliação de agentes oferece suporte a duas opções para fornecer saída da cadeia:

  • O senhor pode executar o aplicativo como parte da execução da avaliação. O aplicativo gera resultados para cada entrada no conjunto de avaliação.

  • Você pode fornecer a saída de uma execução anterior do aplicativo.

Para obter detalhes e explicações sobre quando utilizar cada opção, consulte Como fornecer informações para uma execução de avaliação.

Receber feedback humano sobre a qualidade de um aplicativo GenAI

O aplicativo de revisão da Databricks facilita a obtenção de feedback sobre a qualidade de um aplicativo agêntico de revisores humanos. Para obter detalhes, consulte Obter feedback sobre a qualidade de um aplicativo agêntico.

Limitação

A Avaliação de agentes não está disponível no espaço de trabalho habilitado para HIPAA.

Informação sobre os modelos que capacitam os juízes do LLM

  • Os juízes do LLM podem utilizar serviços de terceiros para avaliar suas aplicações GenAI, incluindo o Azure OpenAI operado pela Microsoft.

  • Para o Azure OpenAI, a Databricks optou por não utilizar o Abuse Monitoring, portanto nenhum prompt ou resposta é armazenado com o Azure OpenAI.

  • Para os espaços de trabalho da União Europeia (UE), os juízes do LLM usam modelos hospedados na UE. Todas as outras regiões usam modelos hospedados nos EUA.

  • A desativação dos recursos de assistência de IA alimentados por parceiros impedirá que o juiz do LLM ligue para modelos desenvolvidos por parceiros.

  • Os dados enviados para o juiz LLM não são utilizados para nenhum treinamento de modelo.

  • Os juízes do LLM têm como objetivo ajudar os clientes a avaliar seus aplicativos RAG e os resultados dos juízes do LLM não devem ser usados para treinar, melhorar nem ajustar um LLM.