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.
Visão geral da arquitetura:
Os aplicativos Databricks se integram nativamente com:
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 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.
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:
identify_bottleneck_station
para determinar a estação que causa mais atrasos.check_inventory_levels
para recuperar dados de estoque em tempo real para uma estação especificada.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.
Aqui está a interface do chatbot rodando localmente; mais tarde, demonstraremos após o deployment para Databricks Apps.
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.
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)
:
api_app
) na rota /api
./api
(por exemplo, /api/chat
) é direcionada para esta sub-aplicação.api_app
.app.mount("/", ui_app)
:
client/build
na rota raiz (/
).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)./api
será direcionada para o ui_app
./chat
) sob a instância api_app
que aponta para o endpoint de serviço de modelo do agente Mosaic AI no Databricks.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
.ChatResponse
para o cliente.app.py
.requirements.txt
:
app.yaml
:
A seção de comando descreve a configuração do servidor gunicorn com as seguintes especificações:
A seção env especifica pares de chave-valor que definem variáveis de ambiente para passar para o aplicativo [2]:
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.
npm run build
e coloque os arquivos estáticos em /client/build
.Aqui está a estrutura do arquivo:
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.
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.
[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