Ir para o conteúdo principal

Construindo Aplicativos Databricks com React e Agentes de IA Mosaic para Soluções de Chat Corporativo

Building Databricks Apps with React and Mosaic AI Agents for Enterprise Chat Solutions

Published: March 21, 2025

Produção industrial10 min de leitura

Os Apps Databricks fornecem uma plataforma robusta para construção e hospedagem de aplicações interativas. React é ótimo para construir aplicações web modernas e dinâmicas que precisam ser atualizadas suavemente e ter uma aparência polida. Ao combinar esta plataforma com uma interface baseada em React e o Mosaic AI Agent Framework, os desenvolvedores podem criar aplicações de chat eficientes e inteligentes. Este blog se concentra na implementação técnica de um chatbot hospedado no Databricks e demonstra seu potencial com um caso de uso específico da indústria de Gerenciamento de Operações de Manufatura.

Integração Databricks Apps e Mosaic AI

Visão geral da arquitetura:

O usuário envia uma consulta para os Apps Databricks, direcionando-a para o endpoint de serviço do modelo.
User sends a query to Databricks Apps, routing it to the model-serving endpoint

Principais Fortalezas dos Apps Databricks

Os aplicativos Databricks se integram nativamente com:

  • Databricks SQL: Para consultar grandes conjuntos de dados de maneira eficiente.
  • Catálogo Unity: Para governança de dados centralizada e controle de acesso.
  • Serviço de Modelos: Para implantar modelos de aprendizado de máquina em larga escala.
  • Pontos de Serviço: Para consultas eficientes aos modelos de ML e agentes LLM.
  • Jobs: Para pipelines ETL e processos de fluxo de trabalho.

Os Apps Databricks eliminam a necessidade de infraestrutura de hospedagem externa. As aplicações herdam os recursos de segurança, conformidade e gerenciamento de recursos integrados da plataforma, simplificando o deployment e a manutenção.

Os Apps Databricks suportam uma ampla gama de frameworks como Dash, Streamlit, Gradio, Flask e FastAPI. Essa flexibilidade permite aplicações ricas em dados e visualmente atraentes.

O que é o Framework de Agente de IA Mosaic?

O Mosaic AI Agent Framework é um conjunto de ferramentas no Databricks que ajuda os desenvolvedores a criar, implantar e gerenciar agentes de IA, como os usados na Geração Aprimorada por Recuperação (RAG). Ele se integra a frameworks como LangChain e LlamaIndex e usa recursos do Databricks como o Unity Catalog para governança de dados e chamada de ferramentas.

Os desenvolvedores podem registrar e testar agentes com o MLflow, depurar seu comportamento e melhorar o desempenho. Recursos como registro de solicitações, streaming de tokens de resposta e revisão de aplicativos facilitam a construção e implantação de agentes de IA para casos de uso do mundo real.

Caso de Uso: Chatbot de Gerenciamento de Operações de Manufatura

O Gerenciamento de Operações de Manufatura (MOM) é crucial para otimizar processos de produção, melhorar a eficiência e manter a competitividade na paisagem industrial de rápida evolução de hoje.

A demanda por gerenciamento de operações usando agentes de IA com interfaces de linguagem natural está crescendo rapidamente, impulsionada pela necessidade de maior eficiência, melhor tomada de decisões e experiências de usuário aprimoradas.

De acordo com a última publicação da Meticulous Research® (fonte), o mercado de IA na fabricação deve atingir $84,5 bilhões até 2031, com um CAGR de 32,6% durante o período de previsão de 2024–2031 [1]. Esse crescimento significativo destaca o reconhecimento crescente da importância da gestão de operações impulsionada por IA em várias indústrias.

Uma empresa de manufatura implementando a ferramenta de chatbot Mosaic AI pode auxiliar os gerentes de produção em:

Análise de Gargalo

  • Função da ferramenta: Consulta o SQL do Databricks usando a função identify_bottleneck_station para determinar a estação que causa mais atrasos.
  • Exemplo de consulta: "Qual é o gargalo atual na linha de montagem?"
  • Resposta: "A Estação 5 é o gargalo atual, com um atraso médio de 15 minutos por ciclo."

Rastreamento de Inventário

  • Função da ferramenta: Chama check_inventory_levels para recuperar dados de estoque em tempo real para uma estação especificada.
  • Exemplo de consulta: "Temos materiais suficientes para a Estação 3?"
  • Resposta: "A estação 3 tem materiais suficientes para os próximos cinco ciclos de produção.”

Essas consultas podem ser facilmente implementadas como funções armazenadas no Unity Catalog, usando SQL ou Python. Então, um agente de IA pode realizar tarefas como recuperação de dados, execução de código e tomada de decisões baseada em contexto, aproveitando as chamadas de função. Embora não vamos nos aprofundar nos detalhes de como configurar o agente para chamada de ferramentas aqui, você pode consultar o Databricks Generative AI Cookbook aqui para orientações detalhadas.

Uma vez que o agente de IA Mosaic é configurado para lidar com várias ferramentas, ele pode ser implantado como um ponto de serviço de modelo no Databricks. Este ponto de serviço atua como a interface de backend, permitindo que aplicativos de frontend como chatbots enviem consultas e recebam insights em tempo real.

Endpoint do modelo de chatbot do agente para receber consultas
Agent chatbot’s model-serving endpoint to receive queries

Aqui está a interface do chatbot rodando localmente; mais tarde, demonstraremos após o deployment para Databricks Apps.

O frontend localhost exibindo as consultas e respostas do usuário
The localhost front end displaying user’s queries and responses

Implementação de Databricks Apps

1. Frontend com React

A interface do React fornece uma interface interativa e amigável para o usuário fazer consultas ao chatbot e visualizar as respostas. Os recursos principais incluem renderização de mensagens em tempo real, envio de consultas e manipulação de respostas do bot, UI interativa com feedback e suporte a Markdown.

Código Frontend Enviando Mensagens para o Backend

Cliente API: Axios é usado para fazer solicitações HTTP. A baseURL é definida dinamicamente com base no ambiente (desenvolvimento ou produção).

HandleSendMessage: Captura a entrada do usuário, envia a mensagem para o endpoint da API /api/chat e atualiza o histórico de chat com as mensagens do usuário e do bot.

2. Backend com FastAPI

O backend FastAPI serve como a ponte entre o frontend React e os agentes de IA Mosaic. Ele direciona as consultas do usuário para o ponto de serviço do modelo do agente para obter uma resposta.

Código de Backend Manipulando Consultas do Usuário

Este endpoint da API recebe mensagens do usuário, interage com o endpoint de serviço de modelo do agente Mosaic AI e retorna respostas específicas da tarefa.

No FastAPI, a ordem de montagem de sub-aplicações é crucial porque determina como as solicitações recebidas são roteadas.

app.mount("/api", api_app):

  • Isso monta uma sub-aplicação (api_app) na rota /api.
  • Qualquer solicitação que comece com /api (por exemplo, /api/chat) é direcionada para esta sub-aplicação.
  • Isso garante que todas as solicitações relacionadas à API sejam processadas pela instância api_app.

app.mount("/", ui_app):

  • Isso monta os arquivos estáticos do diretório client/build na rota raiz (/).
  • Isso é normalmente usado para servir a aplicação frontend compilada, que inclui index.html, JavaScript, CSS e outros ativos estáticos. A maioria dos principais frameworks de UI (por exemplo, React, Vue e Svelte) suportam compilação em um conjunto de ativos através de diferentes empacotadores (por exemplo, Vite, Webpack ou esbuild).
  • Qualquer solicitação que não comece com /api será direcionada para o ui_app.
  • Configuração da API e Definição de Endpoint: O código define uma aplicação FastAPI com um endpoint POST (/chat) sob a instância api_app que aponta para o endpoint de serviço de modelo do agente Mosaic AI no Databricks.
  • Injeção de Dependência e Manipulação de Solicitações: O endpoint usa o mecanismo de injeção de dependência do FastAPI (Depends) para injetar um WorkspaceClient, que é responsável por interagir com as APIs do Databricks. A função chat_with_llm recebe um ChatRequest contendo a mensagem do usuário, formata como uma ChatMessage com o papel USER, e envia para o endpoint de serviço usando o método client.serving_endpoints.query.
  • Análise e Retorno da Resposta: A resposta do agente é estruturada e retornada como uma ChatResponse para o cliente.

Implantação em Apps Databricks

1. Preparando o Backend

  • Coloque o código FastAPI em um arquivo app.py.
  • Defina as dependências em requirements.txt:
  • Crie um arquivo app.yaml:

A seção de comando descreve a configuração do servidor gunicorn com as seguintes especificações:

  • server.app:app: Executa sua aplicação FastAPI.
  • -w 2: Usa dois processos de trabalho para lidar com solicitações recebidas.
  • uvicorn.workers.UvicornWorker: Usa trabalhadores Uvicorn, que são compatíveis com o framework ASGI do FastAPI.

A seção env especifica pares de chave-valor que definem variáveis de ambiente para passar para o aplicativo [2]:

  • name: o nome da variável de ambiente.
  • valueFrom: Para um valor definido externamente, o nome da fonte que contém o valor. Por exemplo, o nome de um segredo ou uma tabela de banco de dados contendo o valor.

Estou mapeando as variáveis de ambiente SERVING_ENDPOINT_NAME para o agente do endpoint de serviço de modelo Databricks MODEL_NAME_FQN, onde MODEL_NAME_FQN representa o namespace de três níveis do Catálogo Unity para catalog.db.model_name.

2. Preparando o Frontend

  • Construa o aplicativo React com npm run build e coloque os arquivos estáticos em /client/build.

Aqui está a estrutura do arquivo:

3. Passos de Deployment

  1. Crie o Databricks App:
  2. Configure os Recursos Databricks:
    Estou configurando os recursos Databricks para se alinharem com as funcionalidades definidas na seção env do arquivo app.yaml. Isso inclui a configuração de recursos como o ponto de extremidade de serviço do modelo (agent_MODEL_NAME_FQN).

    A imagem abaixo mostra que o aplicativo chatbot foi criado com sucesso:
  3. Sincronizar Arquivos:
  4. Implemente o App:

Após executar este comando, o processo de implantação levará alguns minutos. Uma vez implantado com sucesso, a URL do Databricks App será exibida, indicando que está funcionando.

E você pode começar a conversar com ele. Por exemplo, nossa eficiência de produção é baixa. Encontre o gargalo, verifique sua eficiência e gere um relatório detalhado. Envie um email para [email protected] com o relatório. Analise também o sentimento do relatório.

Apps Databricks exibindo a consulta e resposta do usuário
Databricks Apps displaying user’s query and response

Conclusão

A integração de Databricks Apps com React e o Mosaic AI Agent Framework oferece uma solução poderosa para criar aplicações de chat dinâmicas e interativas. Ao aproveitar as capacidades de processamento de dados integradas do Databricks, o serviço seguro de modelos e a infraestrutura de implantação simplificada, os desenvolvedores podem construir sistemas robustos que lidam com consultas complexas.

O uso do FastAPI como uma ponte entre o frontend React e os agentes Mosaic AI garante uma comunicação perfeita. Embora os Apps Databricks suportem vários frameworks de backend Python como Flask e Django, o FastAPI foi escolhido por sua API concisa e amigável para desenvolvedores.

Esta configuração mostra como as capacidades avançadas de IA podem ser integradas em soluções práticas da indústria, como chatbots de manufatura, para impulsionar a eficiência e a tomada de decisões. À medida que a Databricks continua a evoluir sua plataforma, essas integrações podem se expandir para atender a casos de uso mais amplos, tornando-se uma ferramenta essencial para empresas que visam inovar com soluções impulsionadas por IA.

Para referenciar o código fonte, por favor, encontre o repositório GitHub linkado aqui.

Referências

[1] Mercado de IA na Manufatura deve atingir $84.5 bilhões até 2031. Fonte:
https://www.meticulousresearch.com/pressrelease/294/ai-in-manufacturing-market

[2] Configuração dos Apps Databricks. Fonte:
https://docs.databricks.com/pt/dev-tools/databricks-apps/configuration.html#databricks-apps-configuration

A integração de Databricks Apps com React e o Mosaic AI Agent Framework oferece uma solução poderosa para criar aplicações de chat dinâmicas e interativas. Ao aproveitar as capacidades de processamento de dados integradas do Databricks, o serviço seguro de modelos e a infraestrutura de implantação simplificada, os desenvolvedores podem construir sistemas robustos que lidam com consultas complexas.

 

(This blog post has been translated using AI-powered tools) Original Post

Nunca perca uma postagem da Databricks

Inscreva-se nas categorias de seu interesse e receba as últimas postagens na sua caixa de entrada