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 Mosaic AI Agent Framework, 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 Mosaic AI Agent Framework è 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 Mosaic AI 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 Mosaic AI è 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 Mosaic AI. 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 Mosaic AI 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 Mosaic AI 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.requirements.txt:
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:
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 [email protected] con il report. Analizza anche il sentiment del report.
L'integrazione di Databricks Apps con React e il Mosaic AI Agent Framework 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 Mosaic AI 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 Mosaic AI Agent Framework 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 Intelligence Platform.
(Questo post sul blog è stato tradotto utilizzando strumenti basati sull'intelligenza artificiale) Post originale
