Archived. This article has not been updated since the publish date above. The dynamic nature of information means that previously accurate content can become outdated or even obsolete over time. Readers are advised to exercise due diligence and cross-check any information found in this blog post before making decisions or adopting any practices based on said information.
Le Databricks Apps offrono una piattaforma robusta per la creazione e l'hosting di applicazioni interattive. React è ottimo per creare applicazioni web moderne e dinamiche che necessitano di aggiornamenti fluidi e un aspetto curato. Combinando questa piattaforma con un frontend basato su React e il Agent Bricks Custom Agents, gli sviluppatori possono creare applicazioni di chat efficienti e intelligenti. Questo blog si concentra sull'implementazione tecnica di una chatbot ospitata su Databricks e ne dimostra il potenziale con un caso d'uso specifico del settore: un Chatbot per la Gestione delle Operazioni di Produzione.
Panoramica dell'architettura:

Le Databricks Apps si integrano nativamente con:
Le Databricks Apps eliminano la necessità di infrastrutture di hosting esterne. Le applicazioni ereditano le funzionalità integrate della piattaforma per la sicurezza, la conformità e la gestione delle risorse, semplificando la distribuzione e la manutenzione.
Le Databricks Apps supportano un'ampia gamma di framework come Dash, Streamlit, Gradio, Flask e FastAPI. Questa flessibilità consente applicazioni sia ricche di dati che visivamente accattivanti.
Il Agent Bricks Custom Agents è un set di strumenti su Databricks che aiuta gli sviluppatori a creare, distribuire e gestire agenti AI, come quelli utilizzati nella Retrieval-Augmented Generation (RAG). Si integra con framework come LangChain e LlamaIndex e utilizza funzionalità Databricks come Unity Catalog per la governance dei dati e il tool-calling.
Gli sviluppatori possono registrare e testare agenti con MLflow, debuggarne il comportamento e migliorarne le prestazioni. Funzionalità come il logging delle richieste, lo streaming dei token di risposta e le app di revisione rendono più semplice la creazione e la distribuzione di agenti AI per casi d'uso reali.
La Gestione delle Operazioni di Produzione (MOM) è cruciale per ottimizzare i processi produttivi, migliorare l'efficienza e mantenere la competitività nel panorama industriale in rapida evoluzione di oggi.
La domanda di gestione delle operazioni tramite agenti AI con interfacce in linguaggio naturale è in rapida crescita, guidata dalla necessità di maggiore efficienza, miglioramento del processo decisionale e esperienze utente potenziate.
Secondo l'ultima pubblicazione di Meticulous Research® (fonte), il mercato dell'AI nella produzione dovrebbe raggiungere 84,5 miliardi di dollari entro il 2031, con un CAGR del 32,6% durante il periodo di previsione 2024–2031 [1]. Questa crescita significativa sottolinea il crescente riconoscimento dell'importanza della gestione delle operazioni basata sull'AI in vari settori.
Un'azienda manifatturiera che implementa il chatbot Databricks sfruttando il tool-calling può assistere i responsabili di produzione in:
identify_bottleneck_station per determinare la stazione che causa i maggiori ritardi.check_inventory_levels per recuperare dati di magazzino in tempo reale per una stazione specificata.Queste query possono essere facilmente implementate come funzioni memorizzate in Unity Catalog, utilizzando SQL o Python. Quindi un agente AI può eseguire attività come il recupero dati, l'esecuzione di codice e il processo decisionale basato sul contesto sfruttando le chiamate di funzione. Sebbene qui non approfondiremo i dettagli della configurazione dell'agente per il tool-calling, puoi fare riferimento al Databricks Generative AI Cookbook qui per una guida dettagliata.
Una volta che l'agente Databricks è configurato per gestire vari strumenti, può essere distribuito come endpoint di model serving su Databricks. Questo endpoint funge da interfaccia backend, consentendo alle applicazioni frontend come i chatbot di inviare query e ricevere insight in tempo reale.

Ecco l'interfaccia del chatbot in esecuzione in locale; in seguito, la dimostreremo dopo la distribuzione su Databricks Apps.

Il frontend React fornisce un'interfaccia interattiva e user-friendly per interrogare il chatbot e visualizzare le risposte. Le funzionalità principali includono il rendering dei messaggi in tempo reale, l'invio di query e la gestione delle risposte del bot, un'interfaccia utente interattiva con feedback e supporto Markdown.
Codice Frontend che Invia Messaggi al Backend
API Client: Axios viene utilizzato per effettuare richieste HTTP. Il baseURL viene impostato dinamicamente in base all'ambiente (sviluppo o produzione).
HandleSendMessage: Cattura l'input dell'utente, invia il messaggio all'endpoint API /api/chat e aggiorna la cronologia della chat con i messaggi dell'utente e del bot.
Il backend FastAPI funge da ponte tra il frontend React e gli agenti Databricks. Instrada le query degli utenti all'endpoint di model serving dell'agente per ottenere una risposta.
Codice Backend che Gestisce le Query degli Utenti
Questo endpoint API riceve i messaggi degli utenti, interagisce con l'endpoint di model serving dell'agente Databricks e restituisce risposte specifiche per l'attività.
In FastAPI, l'ordine di montaggio delle sotto-applicazioni è cruciale perché determina come vengono instradate le richieste in arrivo.
app.mount("/api", api_app):
api_app) al percorso /api./api (ad esempio, /api/chat) viene instradata a questa sotto-applicazione.api_app.app.mount("/", ui_app):
client/build al percorso radice (/).index.html, JavaScript, CSS e altre risorse statiche. La maggior parte dei principali framework UI (ad esempio, React, Vue e Svelte) supporta la compilazione in un set di risorse tramite diversi bundler (ad esempio, Vite, Webpack o esbuild)./api verrà instradata a ui_app./chat) sull'istanza api_app che punta all'endpoint di model-serving dell'agente Databricks su Databricks.Depends) per iniettare un WorkspaceClient, responsabile dell'interazione con le API Databricks. La funzione chat_with_llm accetta una ChatRequest contenente il messaggio dell'utente, lo formatta come ChatMessage con il ruolo USER e lo invia all'endpoint di serving utilizzando il metodo client.serving_endpoints.query.ChatResponse al client.app.py.Definisci le dipendenze in requirements.txt:
Crea un file app.yaml:
La sezione command delinea la configurazione del server gunicorn con le seguenti specifiche:
La sezione env specifica coppie chiave-valore che definiscono le variabili d'ambiente da passare all'app [2]:
Sto mappando le variabili d'ambiente SERVING_ENDPOINT_NAME all'endpoint di model-serving delle risorse Databricks agent_MODEL_NAME_FQN, dove MODEL_NAME_FQN rappresenta il namespace a tre livelli di Unity Catalog per catalog.db.model_name.
npm run build e posiziona i file statici in /client/build.Ecco la struttura dei file:
Crea l'App Databricks:


Sincronizza i File:
Esegui il Deployment dell'App:
Dopo aver eseguito questo comando, il processo di deployment richiederà alcuni minuti. Una volta completato con successo, verrà visualizzato l'URL dell'App Databricks, indicando che è attiva e funzionante.

E puoi iniziare a chattare con essa. Ad esempio, la nostra efficienza produttiva è bassa. Trova il collo di bottiglia, controlla la sua efficienza e genera un report dettagliato. Invia un'email a user@email.com con il report. Analizza anche il sentiment del report.

L'integrazione di Databricks Apps con React e il Agent Bricks Custom Agents offre una soluzione potente per la creazione di applicazioni di chat dinamiche e interattive. Sfruttando le capacità di elaborazione dati integrate di Databricks, il model-serving sicuro e l'infrastruttura di deployment semplificata, gli sviluppatori possono creare sistemi robusti in grado di gestire query complesse.
L'uso di FastAPI come ponte tra il frontend React e gli agenti Databricks garantisce una comunicazione fluida. Sebbene Databricks Apps supporti vari framework backend Python come Flask e Django, FastAPI è stato scelto per la sua API concisa e user-friendly.
Questa configurazione dimostra come le capacità avanzate di AI possano essere integrate in soluzioni pratiche del settore, come i chatbot per la produzione, per migliorare l'efficienza e il processo decisionale. Poiché Databricks continua a evolvere la sua piattaforma, queste integrazioni possono espandersi per soddisfare casi d'uso più ampi, rendendola uno strumento essenziale per le aziende che mirano a innovare con soluzioni basate sull'AI.
Per fare riferimento al codice sorgente, si prega di trovare il repository GitHub collegato qui.
[1] Il mercato dell'AI nella produzione raggiungerà gli 84,5 miliardi di dollari entro il 2031. Fonte:
https://www.meticulousresearch.com/pressrelease/294/ai-in-manufacturing-market
[2] Configurazione delle app Databricks. Fonte:
https://docs.databricks.com/en/dev-tools/databricks-apps/configuration.html#databricks-apps-configuration
L'integrazione di Databricks Apps con React e il Agent Bricks Custom Agents offre una soluzione potente per la creazione di applicazioni di chat dinamiche e interattive. Sfruttando le capacità di elaborazione dati integrate di Databricks, il model-serving sicuro e l'infrastruttura di deployment semplificata, gli sviluppatori possono creare sistemi robusti in grado di gestire query complesse.
Prova il Databricks Apps Product Tour per creare le applicazioni di dati e AI più veloci e sicure sulla Databricks Data + AI Platform.
(Questo post sul blog è stato tradotto utilizzando strumenti basati sull'intelligenza artificiale) Post originale
Iscriviti al nostro blog e ricevi gli ultimi articoli direttamente nella tua casella di posta.