Publié: 22 mars 2025
par Wenwen Xie, Ivan Trusov et Andre Furlan Bueno
Les applications Databricks offrent une plateforme robuste pour la création et l'hébergement d'applications interactives. React est idéal pour créer des applications web modernes et dynamiques qui nécessitent des mises à jour fluides et une apparence soignée. En combinant cette plateforme avec un frontend basé sur React et le cadre d'agents Mosaic AI, les développeurs peuvent créer des applications de chat efficaces et intelligentes. Ce blog se concentre sur l'implémentation technique d'un chatbot hébergé sur Databricks et démontre son potentiel avec un cas d'utilisation spécifique à l'industrie : un chatbot de gestion des opérations de fabrication.
Vue d'ensemble de l'architecture :
Les applications Databricks s'intègrent nativement avec :
Les applications Databricks éliminent le besoin d'une infrastructure d'hébergement externe. Les applications héritent des fonctionnalités de sécurité, de conformité et de gestion des ressources intégrées à la plateforme, simplifiant ainsi le déploiement et la maintenance.
Les applications Databricks prennent en charge un large éventail de frameworks tels que Dash, Streamlit, Gradio, Flask et FastAPI. Cette flexibilité permet des applications riches en données et visuellement attrayantes.
Le cadre d'agents Mosaic AI est un ensemble d'outils sur Databricks qui aide les développeurs à créer, déployer et gérer des agents IA, tels que ceux utilisés dans la génération augmentée par récupération (RAG). Il s'intègre à des frameworks comme LangChain et LlamaIndex et utilise des fonctionnalités Databricks comme Unity Catalog pour la gouvernance des données et l'appel de fonctions.
Les développeurs peuvent enregistrer et tester des agents avec MLflow, déboguer leur comportement et améliorer leurs performances. Des fonctionnalités telles que l'enregistrement des requêtes, le streaming des jetons de réponse et les applications d'examen facilitent la création et le déploiement d'agents IA pour des cas d'utilisation réels.
La gestion des opérations de fabrication (MOM) est cruciale pour optimiser les processus de production, améliorer l'efficacité et maintenir la compétitivité dans le paysage industriel en évolution rapide d'aujourd'hui.
La demande de gestion des opérations utilisant des agents IA avec des interfaces en langage naturel connaît une croissance rapide, stimulée par le besoin d'une efficacité accrue, d'une meilleure prise de décision et d'expériences utilisateur améliorées.
Selon la dernière publication de Meticulous Research® (source), le marché de l'IA dans la fabrication devrait atteindre 84,5 milliards de dollars d'ici 2031, avec un TCAC de 32,6 % pendant la période de prévision 2024-2031 [1]. Cette croissance significative souligne la reconnaissance croissante de l'importance de la gestion des opérations pilotée par l'IA dans diverses industries.
Une entreprise de fabrication mettant en œuvre le chatbot Mosaic AI exploitant l'appel de fonctions peut aider les responsables de production dans :
identify_bottleneck_station pour déterminer la station causant le plus de retards.check_inventory_levels pour récupérer les données de stock en temps réel pour une station spécifiée.Ces requêtes peuvent être facilement implémentées sous forme de fonctions stockées dans Unity Catalog, en utilisant SQL ou Python. Ensuite, un agent IA peut effectuer des tâches telles que la récupération de données, l'exécution de code et la prise de décision basée sur le contexte en tirant parti des appels de fonctions. Bien que nous n'entrions pas dans les détails de la configuration de l'agent pour l'appel de fonctions ici, vous pouvez consulter le Cookbook d'IA générative Databricks ici pour des instructions détaillées.
Une fois que l'agent Mosaic AI est configuré pour gérer divers outils, il peut être déployé en tant que point de terminaison de service de modèle sur Databricks. Ce point de terminaison sert d'interface backend, permettant aux applications frontend comme les chatbots d'envoyer des requêtes et de recevoir des informations en temps réel.
Voici l'interface du chatbot fonctionnant localement ; nous la présenterons plus tard après son déploiement sur les applications Databricks.
Le frontend React fournit une interface interactive et conviviale pour interroger le chatbot et visualiser les réponses. Les fonctionnalités principales incluent le rendu des messages en temps réel, la soumission de requêtes et la gestion des réponses du bot, une interface utilisateur interactive avec retour d'information et la prise en charge de Markdown.
Code frontend envoyant des messages au backend
Client API : Axios est utilisé pour effectuer des requêtes HTTP. La baseURL est définie dynamiquement en fonction de l'environnement (développement ou production).
HandleSendMessage : Il capture l'entrée de l'utilisateur, envoie le message au point de terminaison de l'API /api/chat et met à jour l'historique du chat avec les messages de l'utilisateur et du bot.
Le backend FastAPI sert de pont entre le frontend React et les agents Mosaic AI. Il achemine les requêtes des utilisateurs vers le point de terminaison de service du modèle de l'agent pour obtenir une réponse.
Code backend gérant les requêtes des utilisateurs
Ce point de terminaison API reçoit les messages des utilisateurs, interagit avec le point de terminaison de service du modèle de l'agent Mosaic AI et renvoie des réponses spécifiques à la tâche.
Dans FastAPI, l'ordre de montage des sous-applications est crucial car il détermine comment les requêtes entrantes sont acheminées.
app.mount("/api", api_app) :
api_app) à la route /api./api (par exemple, /api/chat) est acheminée vers cette sous-application.api_app.app.mount("/", ui_app) :
client/build à la route racine (/).index.html, JavaScript, CSS et d'autres actifs statiques. La plupart des principaux frameworks d'interface utilisateur (par exemple, React, Vue et Svelte) prennent en charge la compilation en un tel ensemble d'actifs via différents bundlers (par exemple, Vite, Webpack ou esbuild)./api sera acheminée vers ui_app./chat) sous l'instance api_app qui pointe vers le point d'accès de service de modèle de l'agent Mosaic AI sur Databricks.Depends) pour injecter un WorkspaceClient, responsable de l'interaction avec les API Databricks. La fonction chat_with_llm prend une ChatRequest contenant le message de l'utilisateur, le formate en ChatMessage avec le rôle USER, et l'envoie au point d'accès de service en utilisant la méthode client.serving_endpoints.query.ChatResponse au client.app.py.requirements.txt :
app.yaml :
La section command décrit la configuration du serveur gunicorn avec les spécifications suivantes :
La section env spécifie des paires clé-valeur qui définissent les variables d'environnement à passer à l'application [2] :
Je mappe les variables d'environnement SERVING_ENDPOINT_NAME au point d'accès de service de modèle Databricks agent_MODEL_NAME_FQN, où MODEL_NAME_FQN représente l'espace de noms à trois niveaux d'Unity Catalog pour catalog.db.model_name.
npm run build et placez les fichiers statiques dans /client/build.Voici la structure des fichiers :
env du fichier app.yaml. Cela inclut la configuration de ressources telles que le point d'accès de service de modèle (agent_MODEL_NAME_FQN).Après avoir exécuté cette commande, le processus de déploiement prendra quelques minutes. Une fois déployée avec succès, l'URL de l'application Databricks s'affichera, indiquant qu'elle est opérationnelle.
Et vous pouvez commencer à discuter avec. Par exemple, notre efficacité de production est faible. Trouvez le goulot d'étranglement, vérifiez son efficacité et générez un rapport détaillé. Envoyez un e-mail à [email protected] avec le rapport. Analysez également le sentiment du rapport.
L'intégration des Applications Databricks avec React et le Framework d'Agent Mosaic AI offre une solution puissante pour créer des applications de chat dynamiques et interactives. En tirant parti des capacités de traitement de données intégrées de Databricks, du service de modèles sécurisé et de l'infrastructure de déploiement simplifiée, les développeurs peuvent construire des systèmes robustes qui gèrent des requêtes complexes.
L'utilisation de FastAPI comme pont entre le frontend React et les agents Mosaic AI assure une communication fluide. Bien que les Applications Databricks prennent en charge divers frameworks backend Python tels que Flask et Django, FastAPI a été choisi pour son API concise et conviviale.
Cette configuration montre comment des capacités d'IA avancées peuvent être intégrées dans des solutions industrielles pratiques, telles que les chatbots de fabrication, pour améliorer l'efficacité et la prise de décision. Alors que Databricks continue d'améliorer sa plateforme, ces intégrations peuvent s'étendre à des cas d'utilisation plus larges, en en faisant un outil essentiel pour les entreprises qui visent à innover avec des solutions pilotées par l'IA.
Pour référencer le code source, veuillez trouver le dépôt GitHub lié ici.
[1] Le marché de l'IA dans la fabrication atteindra 84,5 milliards de dollars d'ici 2031. Source :
https://www.meticulousresearch.com/pressrelease/294/ai-in-manufacturing-market
[2] Configuration des applications Databricks. Source :
https://docs.databricks.com/en/dev-tools/databricks-apps/configuration.html#databricks-apps-configuration
L'intégration des Applications Databricks avec React et le Framework d'Agent Mosaic AI offre une solution puissante pour créer des applications de chat dynamiques et interactives. En tirant parti des capacités de traitement de données intégrées de Databricks, du service de modèles sécurisé et de l'infrastructure de déploiement simplifiée, les développeurs peuvent construire des systèmes robustes qui gèrent des requêtes complexes.
Essayez la visite guidée du produit Databricks Apps pour créer les applications de données et d'IA les plus rapides et les plus sûres sur la plateforme d'intelligence de données Databricks.
(Cet article de blog a été traduit à l'aide d'outils basés sur l'intelligence artificielle) Article original
