Compartilhar via


O que é Avaliação do Agente do Mosaic AI?

Importante

Esse recurso está em uma versão prévia.

Este artigo fornece uma visão geral de como trabalhar com a Avaliação do Agente do Mosaic AI. A Avaliação do Agente ajuda os desenvolvedores a avaliar a qualidade, o custo e a latência dos aplicativos de agente IA, incluindo aplicativos e cadeias com irregularidade. A Avaliação do Agente foi projetada para identificar problemas de qualidade e determinar a causa raiz desses problemas. Os recursos da Avaliação do Agente são unificados nas fases de desenvolvimento, preparo e produção do ciclo de vida de MLOps, e todas as métricas e dados de avaliação são registrados em execuções de MLflow.

A Avaliação do Agente integra técnicas avançadas de avaliação apoiadas por pesquisas em um SDK e interface do usuário fáceis de usar integrados ao seu lakehouse, ao MLflow e aos outros componentes da Plataforma de Inteligência de Dados da Databricks. Desenvolvida em colaboração com a pesquisa da Mosaic AI, essa tecnologia proprietária oferece uma abordagem abrangente para analisar e aprimorar o desempenho do agente.

Diagrama LLMOps mostrando a avaliação

As aplicações de IA agêntica são complexas e envolvem muitos componentes diferentes. Avaliar o desempenho desses aplicativos não é tão simples quanto avaliar o desempenho de modelos ML tradicionais. As métricas qualitativas e quantitativas usadas para avaliar a qualidade são inerentemente mais complexas. A Avaliação do Agente inclui métricas de agente e de juízes de LLM proprietárias para avaliar a qualidade de recuperação e solicitação, além de métricas de desempenho de caráter geral, como latência e custo de tokens.

Como faço para usar a Avaliação do Agente?

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

Você pode copiar e colar o seguinte no notebook do Databricks existente:

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

import mlflow
import pandas as pd

examples =  {
    "request": [
      {
      # Recommended `messages` format
        "messages": [{
          "role": "user",
          "content": "Spark is a data analytics framework."
        }],
      },
      # Primitive string format
      # Note: Using a primitive string is discouraged. The string will be wrapped in the
      # OpenAI messages format before being passed to your agent.
      "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, você pode importar e executar o seguinte notebook no workspace do Databricks:

Notebook de exemplo da Avaliação do Agente do Mosaic AI

Obter notebook

Entradas e saídas de avaliação do agente

O diagrama a seguir mostra uma visão geral das entradas aceitas pela Avaliação do Agente e as saídas correspondentes produzidas pela Avaliação do Agente.

agent_eval_data_flows

Entradas

Para obter detalhes sobre a entrada esperada para a Avaliação do Agente, incluindo nomes de campo e tipos de dados, consulte o esquema de entrada. Alguns dos campos são os seguintes:

  • Consulta do usuário (request): Entrada para o agente (pergunta ou consulta do usuário). Por exemplo, "O que é RAG?".
  • Resposta do agente (response): Resposta gerada pelo agente. Por exemplo, "A geração aumentada de recuperação é ...".
  • Resposta esperada (expected_response): (Opcional) Uma resposta de verdade (correta).
  • Rastreamento de MLflow (trace): (Opcional) O rastreamento de MLflow do agente, do qual a Avaliação do Agente extrai saídas intermediárias, como o contexto recuperado ou as chamadas de ferramenta. Como alternativa, você pode fornecer essas saídas intermediárias diretamente.

Saídas

Com base nessas entradas, a Avaliação do Agente produz dois tipos de saídas:

  1. Resultados da avaliação (por linha): para cada linha fornecida como entrada, a Avaliação do agente produz uma linha de saída correspondente que contém uma avaliação detalhada da qualidade, do custo e da latência do agente.
    • Os juízes do LLM verificam diferentes aspectos da qualidade, como correção ou fundamentação, saída de uma pontuação sim/não e justificativa escrita para essa pontuação. Para obter detalhes, consulte Como a qualidade, o custo e a latência são avaliados pela Avaliação do Agente.
    • As avaliações dos juízes do LLM são combinadas para produzir uma pontuação geral que indica se essa linha "passa" (é de alta qualidade) ou "falha" (tem um problema de qualidade).
      • Para todas as linhas com falha, uma causa raiz é identificada. Cada causa raiz corresponde à avaliação de um juiz LLM específico, permitindo que você use a lógica do juiz para identificar possíveis correções.
    • O custo e a latência são extraídos do rastreamento do MLflow. Para obter detalhes, consulte Como o custo e a latência são avaliados.
  2. Métricas (pontuações agregadas): pontuações agregadas que resumem a qualidade, o custo e a latência do seu agente em todas as linhas de entrada. Isso inclui métricas como porcentagem de respostas corretas, contagem média de tokens, latência média e muito mais. Para obter detalhes, consulte Como o custo e a latência são avaliados e Como as métricas são agregadas no nível de uma execução do MLflow para qualidade, custo e latência.

Desenvolvimento (avaliação offline) e produção (monitoramento online)

A Avaliação do Agente foi projetada para ser consistente entre seus ambientes de desenvolvimento (offline) e produção (online). Esse design permite uma transição suave do desenvolvimento para a produção, permitindo que você itere, avalie, implante e monitore rapidamente aplicativos agenciais de alta qualidade.

A principal diferença entre desenvolvimento e produção é que, na produção, você não tem rótulos de verdade, enquanto no desenvolvimento, você pode usar opcionalmente rótulos de verdade. O uso de rótulos de verdade permite que a Avaliação do Agente calcule métricas de qualidade adicionais.

Desenvolvimento (offline)

agent_eval_overview_dev

Em desenvolvimento, você requests e expected_responses vem de um conjunto de avaliação. Um conjunto de avaliação é uma coleção de entradas representativas que seu agente deve ser capaz de lidar com precisão. Para obter mais informações sobre conjuntos de avaliação, consulte Conjuntos de avaliação.

Para obter response e trace, a Avaliação do Agente pode chamar o código do agente para gerar essas saídas para cada linha no conjunto de avaliação. Como alternativa, você mesmo pode gerar essas saídas e passá-las para a Avaliação do agente. Consulte Como fornecer entrada para uma execução de avaliação para obter mais informações.

Produção (online)

agent_eval_overview_prod

Na produção, todas as entradas para a Avaliação do agente vêm de seus logs de produção.

Se você usar o Mosaic AI Agent Framework para implantar seu aplicativo de IA, a Avaliação do Agente poderá ser configurada para coletar automaticamente essas entradas das tabelas de inferência aprimoradas do Agente e atualizar continuamente um painel de monitoramento. Para obter mais detalhes, consulte Como monitorar a qualidade do seu agente no tráfego de produção.

Se você implantar seu agente fora do Azure Databricks, poderá ETL seus logs para o esquema de entrada necessário e configurar um painel de monitoramento da mesma forma.

Estabeleça uma referência de qualidade com um conjunto de avaliação

Para medir a qualidade de um aplicativo de IA em desenvolvimento (offline), você precisa definir um conjunto de avaliação, ou seja, um conjunto de perguntas representativas e respostas opcionais de verdade. Se o aplicativo envolver uma etapa de recuperação, como em fluxos de trabalho RAG, você poderá, opcionalmente, fornecer documentos de suporte nos quais você espera que a resposta seja baseada.

Para obter detalhes sobre conjuntos de avaliação, incluindo dependências de métricas e práticas recomendadas, consulte Conjuntos de avaliação. Para obter o esquema necessário, consulte Esquema de entrada de Avaliação do Agente.

Execuções de avaliação

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

  • Você pode executar o aplicativo como parte da execução de 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ção de quando usar cada opção, consulte Como fornecer entrada para uma execução de avaliação.

Obter comentários humanos sobre a qualidade de um aplicativo GenAI

O aplicativo de revisão do Databricks facilita a coleta de feedback sobre a qualidade de um aplicativo de IA de revisores humanos. Para obter detalhes, confira Obter feedback sobre a qualidade de um aplicativo agenciado.

Disponibilidade geográfica dos recursos do Assistente

O Mosaic AI Agent Evaluation é um serviço designado que usa o Geos para gerenciar a residência de dados ao processar o conteúdo do cliente. Para saber mais sobre a disponibilidade da Avaliação de agentes em diferentes áreas geográficas, consulte Serviços designados da Databricks.

Preços

Para obter mais informações sobre preços, consulte Preços da Avaliação do Agente do Mosaic AI.

Limitação

A Avaliação do Agente não está disponível em espaços de trabalho habilitados para HIPAA.

Informações sobre os modelos que alimentam os avaliadores LLM

  • Os avaliadores LLM podem usar serviços de terceiros para avaliar os aplicativos GenAI, incluindo o Azure OpenAI operado pela Microsoft.
  • Para o Azure OpenAI, a Databricks optou por não usar o Monitoramento de Abuso, portanto, nenhum prompt ou resposta é armazenado com o Azure OpenAI.
  • Para workspaces da União Europeia (UE), os avaliadores LLM usam modelos hospedados na Europa. Todas as outras regiões usam modelos hospedados nos EUA.
  • Desabilitar os Serviços de IA do Azure Recursos de assistência de IA impedem que o avaliador de LLM chame os modelos da plataforma de IA do Azure.
  • Os dados enviados ao avaliador de LLM não são usados para nenhum treinamento de modelo.
  • Avaliadores LLM destinam-se a ajudar os clientes a avaliar os aplicativos RAG, e os resultados dos avaliadores LLM não devem ser utilizados ​​para treinar, melhorar ou fazer um ajuste fino no LLM.