Pular para o conteúdo principal

Crie e compartilhe uma IU de chat com Databricks Apps

Use o Databricks Apps para criar e implantar uma IU de chat para seu agente. Padrões de aplicativo de agente incluem esta interface do usuário de chat sem configuração adicional. Use esta página para personalizar a IU do padrão ou para adicionar uma IU de chat a um agente implantado sem um padrão.

Exemplo de interface do usuário de chat para conversar com agentes implantados.

Requisitos

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

Você deve ter as seguintes ferramentas de desenvolvimento:

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

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

    1. Instale o Databricks CLI.

    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 chat

O aplicativo de exemplo, e2e-chatbot-app-next, usa NextJS, React e AI SDK para criar uma interface de chat pronta para produção.

Consulte o 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 à medida que são geradas com fallback automático para o modo sem transmissão.

  • Chamadas de ferramenta : Renderiza chamadas de ferramenta para agentes criados usando melhores práticas de Agentes Personalizados

  • Integração do Databricks Agent e do Foundation Model: conexão direta com Foundation Models e Endpoint de disponibilização do Databricks Agent

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

  • Histórico de bate-papo persistente: armazena conversas no Databricks Lakebase (Postgres) com governança completa

Abra as seções a seguir para habilitar recursos opcionais:

Habilitar o feedback do usuário

Habilitar feedback do usuário

Os usuários podem fornecer feedback positivo/negativo sobre as respostas, que é registrado em um experimento do 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 o aplicativo gravar o feedback do usuário no experimento do MLflow. O feedback funciona após databricks bundle deploy sem passos extras.

Se você estiver usando o e2e-chatbot-app-next autônomo apontado para um endpoint de agente existente, execute o script de início rápido descrito no padrão README.md para configurar a autenticação para o experimento MLflow.

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

Hospedar 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 visa 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 na base de código para o novo nome de esquema desejado dentro da instância de banco de dados existente.
  3. Execute npm run db:generate para regenerar migrações de banco de dados.
  4. Implemente o aplicativo.

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

Habilitar a autorização do 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 veiculação exigem que o aplicativo encaminhe o access token do usuário em vez do token do Service Principal do aplicativo. Isso é chamado de autorização do usuário, às vezes referida como autorização em nome do usuário .

Endpoints de servindo modelo personalizados exigem autorização do usuário quando o Endpoint tem escopos de API configurados em sua política de autenticação.

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

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

  1. Na etapa Configurar recursos , em Autorização do usuário , clique em +Adicionar escopo .
  2. Adicione o escopo model-serving. Este escopo é exigido para todos os endpoints que usam autorização do usuário.
  3. Adicionar quaisquer escopos adicionais listados na política de autenticação do Endpoint.

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

Depois de adicionar ou alterar escopos, você deve limpar os cookies do URL do aplicativo. Caso contrário, a sessão continuará usando os escopos anteriores:

  1. Vá para o URL do aplicativo.
  2. No Chrome, abra o DevTools ( F12 , ou Cmd+Option+I no macOS, ou Ctrl+Shift+I no Windows ou Linux).
  3. Abra a Application tab, selecione a URL do seu aplicativo em Armazenamento > Cookies , clique com o botão direito em cada cookie e escolha Excluir , conforme mostrado abaixo.

Limpar cookies do navegador depois de alterar os escopos

Depois de adicionar ou alterar escopos, a alteração entra em vigor imediatamente e o aplicativo não precisa reiniciar. No entanto, sua sessão do navegador reutiliza os tokens emitidos antes da alteração, portanto, limpe seus cookies para a URL do aplicativo antes de testar. Caso contrário, a sessão continua usando os escopos anteriores.

Chrome DevTools mostrando a tab Aplicativo, cookies para uma URL de aplicativo e o menu Excluir com o botão direito do mouse.

Compartilhe o aplicativo

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

Limitações conhecidas

  • Sem suporte para entradas de imagem ou outras multimodais
  • Este aplicativo só oferece suporte à autenticação da CLI do Databricks (desenvolvimento local) e à autenticação de service principal (aplicativos implantados). PAT, identidades gerenciadas do Azure e outros mecanismos não são compatíveis.
  • Escopos de função do Unity Catalog não são suportados para autorização do usuário.

Aplicativo de chat do agente Streamlit

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