Partilhar via


Obter feedback sobre a qualidade de um aplicativo agentic (MLflow 2)

Importante

Esta funcionalidade está em Pré-visualização Pública.

Importante

O Databricks recomenda que você use a versão atual do Review App.

Este artigo mostra como usar o aplicativo de revisão Databricks para coletar feedback de revisores humanos sobre a qualidade do seu agente de IA. Abrange o seguinte:

  • Como implantar o aplicativo de revisão.
  • Como os revisores usam o aplicativo para fornecer feedback sobre as respostas do aplicativo agentic.
  • Como os especialistas podem revisar os chats registrados para fornecer sugestões de melhoria e outros comentários usando o aplicativo.

O que acontece numa avaliação humana?

O aplicativo de revisão Databricks prepara o LLM em um ambiente onde as partes interessadas especializadas podem interagir com ele - em outras palavras, ter uma conversa, fazer perguntas, fornecer feedback e assim por diante. O aplicativo de revisão registra todas as perguntas, respostas e comentários em uma tabela de inferência para que você possa analisar melhor o desempenho do LLM. Dessa forma, o aplicativo de revisão ajuda a garantir a qualidade e a segurança das respostas que seu aplicativo fornece.

Os interessados podem conversar com o bot da aplicação e dar feedback sobre essas conversas ou sobre logs históricos, registos selecionados ou resultados do agente.

Requisitos

  • Tabelas de inferência devem ser ativadas no ponto de extremidade que está servindo o agente.

  • Cada revisor humano deve ter acesso ao espaço de trabalho do aplicativo de revisão ou ser sincronizado com sua conta Databricks com o SCIM. Consulte a próxima seção, Configurar permissões para usar o aplicativo de revisão.

  • Os desenvolvedores devem instalar o SDK do databricks-agents para configurar permissões e o aplicativo de revisão.

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

Configurar permissões para usar o aplicativo de revisão

Nota

Os revisores humanos não precisam de acesso ao espaço de trabalho para usar o aplicativo de revisão.

Você pode conceder acesso ao aplicativo de revisão a qualquer usuário em sua conta Databricks, mesmo que eles não tenham acesso ao espaço de trabalho que contém o aplicativo de revisão.

  • Para usuários que não têm acesso ao espaço de trabalho, um administrador de conta usa o provisionamento SCIM no nível da conta para sincronizar usuários e grupos automaticamente do seu provedor de identidade para sua conta do Azure Databricks. Você também pode registrar manualmente esses usuários e grupos para dar-lhes acesso ao configurar identidades no Databricks. Veja Sincronizar utilizadores e grupos do Microsoft Entra ID usando SCIM.
  • Para os usuários que já têm acesso ao espaço de trabalho que contém o aplicativo de revisão, nenhuma configuração adicional é necessária.

O exemplo de código a seguir mostra como dar permissão aos usuários para o aplicativo de revisão para um agente. O parâmetro users usa uma lista de endereços de e-mail.

from databricks import agents

# Note that <user_list> can specify individual users or groups.
agents.set_permissions(model_name=<model_name>, users=[<user_list>], permission_level=agents.PermissionLevel.CAN_QUERY)

Para rever um registo de chat, um utilizador tem de ter a CAN_REVIEW permissão.

Implantar o aplicativo de revisão

Quando se implanta um agente usando o agents.deploy(), a aplicação de revisão é automaticamente habilitada e implantada. A saída do comando mostra a URL do aplicativo de revisão. Para obter informações sobre como implantar um agente, consulte Implantar um agente para aplicativos de IA generativos.

Link para avaliar a app a partir da saída do comando do notebook

Se perder o link para a implementação, poderá encontrá-lo usando list_deployments().

from databricks import agents

deployments = agents.list_deployments()
deployments

Rever a interface de utilizador da aplicação

Para abrir o aplicativo de revisão, clique no URL fornecido. A interface do usuário do aplicativo de revisão tem três guias na barra lateral esquerda:

Quando você abre o aplicativo de revisão, a página de instruções é exibida.

Rever o ecrã de abertura da aplicação

Fornecer instruções aos revisores

Para fornecer texto personalizado para as instruções exibidas para revisores, use o seguinte código:

from databricks import agents

agents.set_review_instructions(uc_model_name, "Thank you for testing the bot. Use your domain expertise to evaluate and give feedback on the bot's responses, ensuring it aligns with the needs and expectations of users like yourself.")
agents.get_review_instructions(uc_model_name)

Uma captura de tela das instruções do aplicativo de revisão especificou o exemplo do Python.

Converse com o aplicativo e envie avaliações

Para conversar com o aplicativo e enviar avaliações:

  1. Clique em Testar o bot na barra lateral esquerda.

  2. Digite sua pergunta na caixa e pressione Return ou Enter no teclado ou clique na seta na caixa.

    O aplicativo exibe sua resposta à sua pergunta e as fontes que ele usou para encontrar a resposta.

    Nota

    Se o agente usar um retriever, as fontes de dados serão identificadas pelo campo doc_uri definido pelo esquema retriever definido durante a criação do agente. Consulte Esquema de recuperação para garantir a compatibilidade com o MLflow.

  3. Reveja a resposta da aplicação e selecione Sim, Não ou Não sei.

  4. O aplicativo pede informações adicionais. Marque as caixas apropriadas ou digite seus comentários no campo fornecido.

  5. Você também pode editar a resposta diretamente para fornecer uma resposta melhor. Para editar a resposta, clique em Editar resposta, faça as alterações na caixa de diálogo e clique em Salvar, conforme mostrado no vídeo a seguir.

    Como editar uma resposta

  6. Clique em Concluído para salvar seus comentários.

  7. Continue fazendo perguntas para fornecer feedback adicional.

O diagrama a seguir ilustra esse fluxo de trabalho.

  1. Usando o aplicativo de revisão, o revisor conversa com o aplicativo agentic.
  2. Usando o aplicativo de avaliação, o revisor fornece comentários sobre as respostas do aplicativo.
  3. Todas as solicitações, respostas e comentários são registrados em tabelas de inferência.

Execute o aplicativo de revisão no qual os especialistas conversam com o aplicativo agentic e fornecem feedback.

Disponibilizar logs de bate-papo para avaliação por revisores especializados

Quando um usuário interage com o aplicativo usando a API REST ou o aplicativo de revisão, todas as solicitações, respostas e comentários adicionais são salvos em tabelas de inferência. As tabelas de inferência estão localizadas no mesmo catálogo e esquema do Unity Catalog onde o modelo foi registrado e são nomeadas <model_name>_payload, <model_name>_payload_assessment_logse <model_name>_payload_request_logs. Para obter mais informações sobre essas tabelas, incluindo esquemas, consulte Tabelas de inferência do agente: logs de solicitação e avaliação (preterido).

Para carregar esses logs na aplicação de revisão para avaliação por revisores especializados, deve primeiro encontrar o request_id e habilitar revisão para esse request_id da seguinte maneira:

  1. Localize os request_ids a serem revisados na tabela de inferência <model_name>_payload_request_logs. A tabela de inferência está no mesmo catálogo e esquema do Unity Catalog onde o modelo foi registrado.

  2. Use um código semelhante ao seguinte para carregar os logs de revisão no aplicativo de revisão:

    from databricks import agents
    
    agents.enable_trace_reviews(
      model_name=model_fqn,
      request_ids=[
          "52ee973e-0689-4db1-bd05-90d60f94e79f",
          "1b203587-7333-4721-b0d5-bba161e4643a",
          "e68451f4-8e7b-4bfc-998e-4bda66992809",
      ],
    )
    
  3. A célula de resultado inclui um link para o aplicativo de revisão com os logs selecionados carregados para revisão.

Revise a aplicação com registos de chat carregados para revisão de especialistas

Revisão especializada de logs de interações de outros usuários com o aplicativo

Para revisar registos de conversas anteriores, os registos devem ter sido habilitados para revisão. Consulte Disponibilizar logs de bate-papo para avaliação por revisores especializados.

  1. Na barra lateral esquerda do aplicativo de avaliação, selecione Chats para revisar. As solicitações habilitadas são exibidas.

    Chats ativados para revisão

  2. Clique em uma solicitação para exibi-la para revisão.

  3. Analise a solicitação e a resposta. O aplicativo também mostra as fontes que usou como referência. Você pode clicar sobre eles para rever a referência e fornecer feedback sobre a relevância da fonte.

  4. Para fornecer feedback sobre a qualidade da resposta, selecione Sim, Não ou Não sei.

  5. O aplicativo pede informações adicionais. Marque as caixas apropriadas ou digite seus comentários no campo fornecido.

  6. Você também pode editar a resposta diretamente para fornecer uma resposta melhor. Para editar a resposta, clique em Editar resposta, faça as alterações na caixa de diálogo e clique em Salvar. Veja o chat com a aplicação e como enviar avaliações num vídeo que demonstra o processo.

  7. Clique em Concluído para salvar seus comentários.

O diagrama a seguir ilustra esse fluxo de trabalho.

  1. Usando o aplicativo de revisão ou o aplicativo personalizado, os revisores conversam com o aplicativo agentic.
  2. Todas as solicitações e respostas são registradas em tabelas de inferência.
  3. O desenvolvedor de aplicações usa enable_trace_reviews([request_id]) (onde request_id é da tabela de inferência <model_name>_payload_request_logs) para publicar registos de bate-papo na aplicação de revisão.
  4. Usando o aplicativo de revisão, o especialista registra e fornece feedback. O feedback de especialistas é registrado em tabelas de inferência.

Execute uma revisão de rastreamento na qual os revisores interagem com o aplicativo de revisão ou com a API REST para fornecer comentários.

Nota

Se tiver o Firewall de Armazenamento do Azure ativado, entre em contato com a equipa da sua conta Azure Databricks para ativar tabelas de inferência para os seus endpoints.

Use mlflow.evaluate() na tabela de registos de pedidos

O seguinte notebook ilustra como usar os logs da aplicação de revisão como entrada para uma execução de uma avaliação usando mlflow.evaluate().

Executar avaliação sobre caderno de logs de requisições

Obter caderno