Pular para o conteúdo principal

Crie e compartilhe uma interface de usuário de bate-papo com o Databricks Apps

Use Databricks Apps para criar e implantar uma interface de usuário de chat para seu agente. O aplicativo padrão do agente inclui essa interface de chat sem necessidade de configuração adicional. Use esta página para personalizar a interface de usuário padrão ou para adicionar uma interface de chat a um agente implantado sem um padrão.

Exemplo de UI de bate-papo para conversar com agentes implantados.

Requisitos

Esta interface de chat funciona com qualquer agente Databricks, exceto esquemas legados, incluindo:

Você precisa ter as seguintes ferramentas de desenvolvimento:

  • CLI do NPM : Necessária para desenvolvimento local. Consulte GitHub - NPM CLI

  • CLI do Databricks : Necessária para autenticação; consulte o guia de instalação.

    1. Instale a CLI do Databricks.

    2. Defina o nome do seu perfil:

      Bash
      export DATABRICKS_CONFIG_PROFILE='your_profile_name'
    3. Configurar autenticação:

      Bash
      databricks auth login --profile "$DATABRICKS_CONFIG_PROFILE"

Exemplo de aplicativo de bate-papo

O aplicativo de exemplo, e2e-chatbot-app-next, usa NextJS, React e SDKAI para construir uma interface de bate-papo pronta para produção.

Consulte o arquivo README.md do projeto para obter instruções detalhadas sobre como usar o padrão.

O aplicativo de exemplo demonstra o seguinte:

  • saída de transmissão : Exibe as respostas do agente conforme elas são geradas com fallback automático para o modo sem transmissão

  • Chamadas de ferramentas : Renderiza chamadas de ferramentas para agentes criados usando as melhores práticas do Agent Framework.

  • IntegraçãoDatabricks Agent com o Foundation Model : Conexão direta com o Foundation Model, o endpoint de serviço Databricks Agent e os Agent Bricks.

  • Autenticação Databricks : Utiliza a autenticação Databricks para identificar os usuários finais do aplicativo de bate-papo e gerenciar suas conversas com segurança.

  • Histórico de conversas persistente : Armazena conversas no Databricks Lakebase (PostgreSQL) com total governança.

Abra as seguintes seções para habilitar o recurso opcional:

Ativar histórias de bate-papo

Ativar histórias de bate-papo

Por default, as conversas são armazenadas apenas na memória e são perdidas quando a sessão termina. Para persistir a história no PostgreSQL, execute o script de início rápido descrito no README.md padrão.

Ativar feedback do usuário

Ativar feedback do usuário

Os usuários podem fornecer feedback positivo/negativo às respostas, o que é registrado em um experimento MLflow .

Se você estiver usando um padrão de agente como agent-openai-agents-sdk ou agent-langgraph, o pacote configura automaticamente a autenticação para que o aplicativo possa gravar o feedback do usuário no experimento MLflow . O feedback funciona após databricks bundle deploy sem nenhum passo extra.

Se você estiver usando o aplicativo independente e2e-chatbot-app-next apontando para um endpoint de agente existente, execute o script de inicialização rápida descrito no arquivo README.md padrão para configurar a autenticação para o experimento MLflow .

nota

Also bind a Lakebase database to persist the thumbs up/down state across page reloads. See Enable chat history.

Hospede vários aplicativos na mesma instância de banco de dados.

Hospede vários aplicativos na mesma instância de banco de dados.

Este exemplo cria apenas um banco de dados por aplicativo, porque o código do aplicativo tem como alvo um esquema ai_chatbot fixo na instância do banco de dados. Para hospedar vários aplicativos na mesma instância, você deve fazer o seguinte:

  1. Atualize o nome da instância do banco de dados em databricks.yml.
  2. Atualize as referências a ai_chatbot no código-fonte para o novo nome de esquema desejado na instância de banco de dados existente.
  3. execução npm run db:generate para regenerar migrações de banco de dados.
  4. implantou o aplicativo.

Ativar autorização de usuário (Pré-visualização pública)

Habilitar autorização de usuário

info

Preview

User authorization is in Public Preview. Your workspace admin must enable it before you can configure user authorization for your app.

Alguns endpoints de serviço exigem que o aplicativo encaminhe o access token do usuário em vez dos tokens da entidade de serviço do aplicativo. Isso se chama autorização de usuário, às vezes referida como autorização em nome do usuário .

O endpoint do Supervisor Multiagente sempre requer autorização do usuário. O endpoint do modelo de serviço personalizado também requer autorização do usuário quando o endpoint possui escopos API configurados em sua política de autenticação.

Para configurar a autorização do usuário, adicione os escopos necessários ao criar ou editar um aplicativo na interface do usuário do Databricks:

  1. Na Configuração do recurso o passo, em Autorização do usuário , clique em +Adicionar escopo .
  2. Adicione o escopo serving.serving-endpoints . Este escopo é necessário para todos os endpoints que utilizam autorização de usuário.
  3. Adicione quaisquer escopos adicionais listados na política de autenticação do endpoint.

Para obter instruções detalhadas, consulte Adicionar escopos a um aplicativo.

O padrão e2e-chatbot-app-next detecta automaticamente se o endpoint de serviço configurado requer autorização do usuário. Se o aplicativo não possuir os escopos necessários, ele exibirá um aviso listando os escopos ausentes.

Compartilhe o aplicativo

Conceda permissão aos usuários para view o aplicativo (consulte Configurar permissões para um aplicativo Databricks) e, em seguida, compartilhe o URL do aplicativo.

Limitações conhecidas

  • Não há suporte para entrada de imagens ou outros formatos multimodais.
  • Este aplicativo suporta apenas autenticação CLI Databricks (desenvolvimento local) e autenticação de entidade de serviço (aplicativos implantados). PAT, identidades gerenciadas Azure e outros mecanismos não são suportados.
  • Os escopos de função Unity Catalog não são suportados para autorização de usuário.

Aplicativo de bate-papo para agentes Streamlit

O padrão Streamlit anterior, e2e-chatbot-app, ainda está disponível, mas não possui o recurso de produção do e2e-chatbot-app-next.