Pular para o conteúdo principal

Crie e compartilhe uma interface de chat com o Databricks Apps

Use o Databricks Apps para criar e implantado uma IU de chat para seu agente. Padrões de aplicativo de agente incluem esta IU 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.

Interface de usuário de chat de exemplo para conversar com agentes implantados.

Requisitos

Esta IU 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 : Obrigatório para autenticação, consulte o guia de instalação.

    1. Instale a CLI do Databricks.

    2. Defina o seu nome de perfil:

      Bash
      export DATABRICKS_CONFIG_PROFILE='your_profile_name'
    3. Configure a 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 AI SDK para criar uma interface de chat pronta para produção.

Consulte o projeto README.md 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 não streaming

  • Chamadas de ferramentas : Renderiza chamadas de ferramentas para agentes criados usando as práticas recomendadas de Agentes Personalizados

  • Integração do Databricks Agent e do Foundation Model : Conexão direta com Foundation Models, endpoints de disponibilização do Databricks Agent, Knowledge Assistant e Supervisor Agent.

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

  • história de chat persistente : armazena conversas no Databricks Lakebase (Postgres) com governança completa

Abra as seguintes seções para habilitar recursos opcionais:

Habilitar história do chat

Habilitar história de chat

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, realize a execução do script de início rápido descrito no padrão README.md.

Habilitar o feedback do usuário

Habilitar feedback do usuário

Os usuários podem fornecer feedback de polegar para cima/para baixo nas respostas, que é registrado em um experimento do MLflow.

Se estiver a usar um padrão de agente, como agent-openai-agents-sdk ou agent-langgraph, o pacote configura automaticamente a autenticação para que o aplicativo escreva feedback do usuário no experimento do MLflow. O feedback funciona após databricks bundle deploy sem os passos adicionais.

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 README.md do padrão para configurar a autenticação para o experimento do MLflow.

nota

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

Hospedar 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 direciona para um esquema ai_chatbot fixo na instância do banco de dados. Para hospedar múltiplos aplicativos a partir da mesma instância, é preciso 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-base para o seu novo nome de esquema desejado na instância de banco de dados existente.
  3. Realize a execução de npm run db:generate para regenerar migrações de banco de dados.
  4. Implante o aplicativo.

Ativar a autorização do usuário (Pré-visualização Pública)

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

Os endpoints do Agente Supervisor sempre exigem autorização do usuário. Endpoints de servindo modelo personalizados também exigem autorização do usuário quando o endpoint tem escopos de 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 etapa Configurar recursos , em Autorização de usuário , clique em +Adicionar escopo .
  2. Adicione o escopo serving.serving-endpoints. Este escopo é exigido para todos os endpoints que usam autorização de usuário.
  3. Insira 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 estiver faltando escopos obrigatórios, ele exibirá um banner de aviso listando os escopos ausentes.

Compartilhar o aplicativo

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

Limitações conhecidas

  • Sem suporte para entradas de imagem ou outras multimodais.
  • Este aplicativo suporta apenas autenticação CLI do Databricks (desenvolvimento local) e autenticação da entidade de serviço (aplicativos implantados). PAT, identidades gerenciadas do Azure e outros mecanismos não são compatíveis.
  • Os escopos de função do Unity Catalog não são compatíveis com a 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 de e2e-chatbot-app-next.