Obter comentários sobre a qualidade de um aplicativo agente
Importante
Esse recurso está em uma versão prévia.
Este artigo mostra como usar o aplicativo de revisão do Databricks para coletar feedback de revisores humanos sobre a qualidade do aplicativo agente. Ele aborda as seguintes tarefas:
- Como implantar o aplicativo de revisão.
- Como os revisores usam o aplicativo para fornecer feedback sobre as respostas do aplicativo agente.
- Como os especialistas podem revisar os chats registrados para fornecer sugestões de melhoria e outro feedback usando o aplicativo.
O que acontece em uma avaliação humana?
O aplicativo de revisão da Databricks prepara o LLM em um ambiente em que as partes interessadas especializadas podem interagir com ele, em outras palavras, conversar, 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 avaliação ajuda a garantir a qualidade e a segurança das respostas que seu aplicativo fornece.
Os stakeholders podem conversar com o bot do aplicativo e fornecer feedback sobre essas conversas ou fornecer feedback sobre logs históricos, rastreamentos coletados ou saídas do agente.
Requisitos
As tabelas de inferência devem ser habilitadas no ponto de extremidade que está atendendo o agente.
Cada revisor humano deve ter acesso ao workspace do aplicativo de revisão ou ser sincronizado com sua conta do 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 configurar o aplicativo de revisão.%pip install databricks-agents dbutils.library.restartPython()
Configurar permissões para usar o aplicativo de revisão
Observação
Os revisores humanos não precisam de acesso ao workspace para usar o aplicativo de revisão.
Você pode conceder acesso ao aplicativo de revisão a qualquer usuário em sua conta do Databricks, mesmo que ele não tenha acesso ao workspace que contém o aplicativo de revisão.
- Para usuários que não têm acesso ao workspace, um administrador de conta usa o provisionamento SCIM no nível da conta para sincronizar usuários e grupos automaticamente do provedor de identidade com a conta do Azure Databricks. Você também pode registrar manualmente esses usuários e grupos para dar a eles acesso ao configurar identidades no Databricks. Confira Sincronizar usuários e grupos do Microsoft Entra ID.
- Para usuários que já têm acesso ao workspace que contém o aplicativo de revisão, nenhuma configuração adicional é necessária.
O exemplo de código a seguir mostra como conceder permissão aos usuários para o aplicativo de revisão de um agente. O users
parâmetro 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 revisar um registro de bate-papo, um usuário deve ter a CAN_REVIEW
permissão.
Implantar o aplicativo de revisão
Quando você implanta um agente usando o agents.deploy()
, o aplicativo de revisão é habilitado e implantado automaticamente. 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 aplicativo de IA generativa.
Se você perder o link para a implantação, poderá encontrá-lo usando o list_deployments()
.
from databricks import agents
deployments = agents.list_deployments()
deployments
Revisar a interface do usuário do aplicativo
Para abrir o aplicativo de revisão, clique na URL fornecida. A interface do usuário do aplicativo de revisão tem três guias na barra lateral esquerda:
- Instruções exibe instruções para o revisor. Consulte Fornecer instruções aos revisores.
- Chats para revisar Exibe logs das interações dos revisores com o aplicativo para avaliação por especialistas. Confira Revisão por especialistas de logs das interações dos usuários com o aplicativo.
- Testar o bot Permite que os revisores conversem com o aplicativo e enviem revisões de suas respostas. Consulte Conversar com o aplicativo e enviar revisões.
Quando você abre o aplicativo de revisão, a página de instruções é exibida.
- Para conversar com o bot, clique em Iniciar revisão ou selecione Testar o bot na barra lateral esquerda. Consulte Conversar com o aplicativo e enviar revisões para obter mais detalhes.
- Para revisar os logs de chat que foram disponibilizados para sua revisão, selecione Chats para revisar na barra lateral. Confira Revisão por especialistas de logs das interações dos usuários com o aplicativo para obter detalhes. Para saber como disponibilizar logs de chat no aplicativo de revisão, consulte Disponibilizar logs de chat para avaliação por revisores especializados.
Fornecer instruções aos revisores
Para fornecer texto personalizado para as instruções exibidas para os 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)
Conversar com o aplicativo e enviar revisões
Para conversar com o aplicativo e enviar revisões:
Clique em Testar o bot na barra lateral esquerda.
Digite sua pergunta na caixa e pressione Return ou Enter no teclado ou clique na seta na caixa. O aplicativo exibe a resposta para sua pergunta e as fontes que usou para encontrar a resposta.
Examine a resposta do aplicativo e selecione Sim, Não ou Não sei.
Para obter mais informações, leia as Perguntas frequentes. Marque as caixas apropriadas ou digite seus comentários no campo fornecido.
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.
Clique em Concluído para salvar suas edições.
Continue fazendo perguntas para fornecer feedback adicional.
O diagrama a seguir a ilustra esse fluxo de trabalho.
- Usando o aplicativo de revisão, o revisor conversa com o aplicativo agente.
- Usando o aplicativo de revisão, o revisor fornece feedback sobre as respostas do aplicativo.
- Todas as solicitações, respostas e feedback são registrados em tabelas de inferência.
Disponibilizar logs de chat 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 feedback adicionais são salvos em tabelas de inferência. As tabelas de inferência estão localizadas no mesmo catálogo e esquema do Catálogo do Unity em que o modelo foi registrado e são nomeadas <model_name>_payload
, <model_name>_payload_assessment_logs
e <model_name>_payload_request_logs
. Para obter mais informações sobre essas tabelas, incluindo esquemas, consulte Tabelas de inferência aprimoradas por agente.
Para carregar esses logs no aplicativo de revisão para avaliação por revisores especializados, você deve primeiro encontrar o request_id
e habilitar as revisões para esse request_id
da seguinte maneira:
Localize os
request_id
s a serem revisados na tabela de inferência<model_name>_payload_request_logs
. As tabelas de inferência estão no mesmo catálogo e esquema do Catálogo do Unity em que o modelo foi registrado.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", ], )
A célula de resultado inclui um link para o aplicativo de revisão com os logs selecionados carregados para revisão.
Revisão por especialistas de logs das interações dos usuários com o aplicativo
Para revisar os logs de chats anteriores, os logs devem ter sido habilitados para revisão. Consulte Disponibilizar logs de chat para avaliação por revisores especializados.
Na barra lateral esquerda do aplicativo de revisão, selecione Chats para revisar. As solicitações habilitadas são exibidas.
Clique em uma solicitação para exibi-la para revisão.
Verifique a solicitação e a resposta. O aplicativo também mostra as fontes usadas como referência. Você pode clicar neles para revisar a referência e fornecer feedback sobre a relevância da fonte.
Para fornecer comentários sobre a qualidade da resposta, selecione Sim, Não ou Não sei.
Para obter mais informações, leia as Perguntas frequentes. Marque as caixas apropriadas ou digite seus comentários no campo fornecido.
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. Consulte Conversar com o aplicativo e enviar revisões para assistir a um vídeo de demonstração do processo.
Clique em Concluído para salvar suas edições.
O diagrama a seguir a ilustra esse fluxo de trabalho.
- Usando o aplicativo de revisão ou o aplicativo personalizado, os revisores conversam com o aplicativo agente.
- Todas as solicitações e respostas são registradas em tabelas de inferência.
- O desenvolvedor de aplicativos usa
enable_trace_reviews([request_id])
(onderequest_id
é da tabela de inferência) para postar logs de chat papo para revisar o aplicativo<model_name>_payload_request_logs
. - Usando o aplicativo de revisão, as avaliações de especialistas registram e fornecem feedback. Os comentários dos especialistas são registrados em tabelas de inferência.
Observação
Se você tiver o Firewall de Armazenamento do Microsoft Azure habilitado, entre em contato com sua equipe de conta do Azure Databricks para habilitar tabelas de inferência para seus pontos de extremidade.
Use mlflow.evaluate()
na tabela de logs de solicitação
O notebook a seguir ilustra como usar os logs do aplicativo de revisão como entrada para uma rodada de avaliação usando mlflow.evaluate()
.