Générer des réponses précises et adaptées au contexte à l'aide de LLM
par Aradhya Chouhan, Uttaran Banerjee, Blake Kleinhans (Xcel Energy) et Hari Purnapatre (Xcel Energy)
Ce blog décrit comment Xcel Energy a utilisé Databricks pour concevoir un chatbot basé sur une architecture de génération augmentée par récupération (RAG), conçu pour simplifier des processus tels que l'examen des dossiers tarifaires et des contrats juridiques. La plateforme Databricks Data Intelligence a joué un rôle essentiel dans toutes les phases de développement, de la gouvernance des données au déploiement. Les fonctionnalités de la plateforme, notamment Unity Catalog, les API Foundation Model, AI Search, MLflow et Model Serving, ont permis à l'équipe de se concentrer sur le perfectionnement de l'architecture RAG et l'amélioration des performances du chatbot. Ce projet a considérablement réduit le temps nécessaire à l'examen des dossiers tarifaires tout en améliorant l'accès aux données et les insights.
Xcel Energy est une entreprise leader dans le secteur de l'électricité et du gaz naturel, qui dessert 3,4 millions de clients en électricité et 1,9 million de clients en gaz naturel dans huit États : le Colorado, le Michigan, le Minnesota, le Nouveau-Mexique, le Dakota du Nord, le Dakota du Sud, le Texas et le Wisconsin. Xcel Energy souhaitait créer un chatbot basé sur une architecture de génération augmentée de récupération (RAG) s'appuyant sur Databricks pour l'aider à simplifier ses opérations et à mieux servir ses clients. Les data scientists d'Xcel Energy ont identifié plusieurs cas d'usage à forte valeur ajoutée à tester, notamment l'examen des dossiers tarifaires, l'analyse des contrats juridiques et l'analyse des rapports de présentation des résultats. Par exemple, comme le coût de l'énergie fluctue, Xcel Energy doit réajuster ses tarifs pour s'aligner sur les facteurs du marché, un processus qui pouvait prendre plusieurs mois. Pendant ce temps, la direction d'Xcel Energy souhaitait obtenir rapidement des informations clés à partir des rapports de présentation des résultats sans avoir à parcourir des centaines de pages de PDF, et son équipe juridique voulait accéder rapidement aux détails des contrats clients.
L'objectif de l'équipe data était de mettre en œuvre un système d'IA générative évolutif et efficace, capable de récupérer des données pertinentes à partir d'un vaste corpus de documents et de générer des réponses précises et adaptées au contexte à l'aide de grands modèles de langage (LLM). Les fonctionnalités de la plateforme Databricks Data Intelligence Platform ont permis de simplifier chaque phase du développement, de la gouvernance des données et de l'intégration des modèles au suivi et au déploiement. Désormais, l'examen des dossiers tarifaires basé sur l'analyse de documents complexes, y compris les rapports sur les prix de l'énergie et les réglementations gouvernementales, prend 2 semaines au lieu de près de 6 mois.
Databricks a permis le développement et le déploiement rapides de nos chatbots basés sur le RAG, améliorant considérablement notre délai de rentabilisation. La plateforme s'est intégrée de manière transparente à nos sources de données internes et à nos outils de tableau de bord existants, ce qui a permis à notre équipe de se concentrer sur l'amélioration de la qualité plutôt que sur la configuration d'une infrastructure à partir de zéro. De plus, Databricks nous a permis d'expérimenter facilement différents embeddings et modèles de langage afin d'obtenir les meilleures performances possibles.—Blake Kleinhans, Data Scientist senior, Xcel Energy
Une première étape cruciale du projet a consisté à établir des méthodes efficaces de gouvernance et de gestion des données. En tant que fournisseur de services publics, Xcel Energy devait garantir une sécurité et une gouvernance strictes afin d'éviter tout risque de fuite de données sensibles ou exclusives. Chaque cas d'usage nécessitait une variété de documents, certains publics (rapports de résultats) et d'autres sensibles (contrats juridiques). Unity Catalog de Databricks a permis une gestion centralisée des données structurées et non structurées, y compris le corpus de documents pour la base de connaissances du chatbot. Il a fourni des contrôles d'accès précis qui ont permis de garantir que toutes les données restaient sécurisées et conformes, un avantage significatif pour les projets impliquant des données sensibles ou exclusives.
Pour maintenir leur plateforme d'IA générative à jour, les données pertinentes devaient être mises à disposition dans le chatbot basé sur le RAG dès leur intégration. Pour la préparation des données, les Databricks Notebooks et Apache Spark™ ont été exploités pour traiter de grands ensembles de données provenant de diverses sources, notamment des sites web gouvernementaux, des documents juridiques et des factures internes. Les capacités de calcul distribué de Spark ont permis à l'équipe d'intégrer et de prétraiter rapidement les documents dans leur data lake, permettant à Xcel Energy de transférer de grands flux de travail de données vers un Vector Store en un minimum de temps.
Les embeddings étaient essentiels au mécanisme de récupération de l'architecture RAG. L'équipe a utilisé les API Databricks Foundation Model pour accéder à des modèles d'embedding de pointe tels que databricks-bge-large-en et databricks-gte-large-en, qui fournissaient des représentations vectorielles de haute qualité du corpus de documents. Ces embeddings ont éliminé la nécessité de déployer ou de gérer manuellement l'infrastructure des modèles, simplifiant ainsi le processus de génération d'embeddings.
Les embeddings ont ensuite été stockés dans Databricks AI Search, une base de données vectorielle serverless et hautement évolutive intégrée à l'environnement Databricks. Cela a permis de garantir une recherche de similarité efficace, qui constituait l'épine dorsale du composant de récupération du chatbot. L'intégration transparente d'AI Search au sein de l'écosystème Databricks a considérablement réduit la complexité de l'infrastructure.
Xcel a pu tester différents LLM à l'aide des API Databricks Foundation Model. Ces API permettent d'accéder à des modèles pré-entraînés de pointe sans la charge liée à la gestion du déploiement ou des ressources de calcul. Cela a permis d'intégrer facilement les LLM au chatbot, offrant ainsi une génération de langage robuste avec une gestion minimale de l'infrastructure.
Leur déploiement initial s'est fait avec Mixtral 8x7b-instruct avec une longueur de contexte de 32k tokens, après avoir essayé les modèles Llama 2 et DBRX. Mixtral, un modèle de mélange d'experts clairsemé (SMoE), a égalé ou surpassé Llama 2 70B et GPT 3.5 sur la plupart des benchmarks tout en étant quatre fois plus rapide que Llama 70B pour l'inférence. Xcel Energy a donné la priorité à la qualité des résultats et a utilisé Mixtral jusqu'à ce qu'elle passe à Claude Sonnet 3.5 d'Anthropic dans AWS Bedrock, accessible dans Databricks via Agent Bricks AI Gateway et AI Search pour le RAG.
Le pipeline RAG a été construit à l'aide de LangChain, un framework puissant qui s'intègre de manière transparente aux composants de Databricks. En utilisant Databricks AI Search pour la recherche de similarité et en l'associant à la gén ération de requêtes par LLM, l'équipe a mis au point un système efficace basé sur le RAG, capable de fournir des réponses adaptées au contexte aux requêtes des utilisateurs. La combinaison de LangChain et de Databricks a simplifié le processus de développement et amélioré les performances du système.
Le projet a pleinement exploité MLflow, une plateforme open source largement adoptée pour le suivi des expérimentations et la gestion des modèles. Grâce à l'intégration de LangChain dans MLflow, l'équipe a pu enregistrer diverses configurations et paramètres du modèle RAG au cours du processus de développement. Cela a permis le versionnage et a simplifié le déploiement des applications de LLM, offrant ainsi un parcours clair de l'expérimentation à la production.
Nous approfondissons les capacités de traçage de MLflow. Cette fonctionnalité sera essentielle pour diagnostiquer les problèmes de performance et améliorer la qualité des réponses de notre chatbot d'assistance téléphonique client.—Blake Kleinhans, Data Scientist senior, Xcel Energy
De plus, AI Gateway a permis à l'équipe de gérer de manière centralisée les identifiants et l'accès aux modèles, ce qui a facilité le passage d'un LLM à un autre et permis de contrôler les coûts grâce à la limitation du débit et à la mise en cache.
Le déploiement du chatbot a été simplifié grâce à Databricks Model Serving. Cette option de calcul serverless a fourni une solution évolutive et rentable pour héberger le chatbot basé sur le RAG. Elle a permis d'exposer le modèle sous la forme d'un point de terminaison d'API REST avec une configuration minimale. Ce point de terminaison a ensuite pu être facilement intégré dans des applications front-end, simplifiant ainsi la transition du développement à la production.
Model Serving a également permis une mise à l'échelle basée sur les GPU, réduisant ainsi la latence et les coûts opérationnels. Cette évolutivité a été cruciale à mesure que le projet se développait, permettant au chatbot de gérer des charges d'utilisateurs croissantes sans modifications architecturales majeures.
Après le déploiement, Databricks SQL a été utilisé pour mettre en œuvre des solutions de suivi. L'équipe a créé des tableaux de bord qui suivaient des indicateurs essentiels tels que les temps de réponse, les volumes de requêtes et les scores de satisfaction des utilisateurs. Ces informations ont été cruciales pour améliorer continuellement les performances du chatbot et garantir sa fiabilité à long terme.
En intégrant le suivi dans le flux de travail global, l'équipe a pu traiter de manière proactive les problèmes potentiels et optimiser les performances du système sur la base de retours en temps réel.
La plateforme Databricks Data Intelligence Platform a permis le développement et le déploiement rapides du chatbot basé sur le RAG, réduisant considérablement les complexités généralement associées à la gestion de projets IA à grande échelle. L'intégration d'outils tels que Unity Catalog, les API Foundation Model, AI Search, MLflow et Model Serving a fourni un système d'agents IA cohérent et de bout en bout pour concevoir des applications de GenAI.
Notre objectif est également de rendre les LLM plus accessibles au sein d'Xcel, permettant aux équipes de les utiliser pour des tâches telles que l'étiquetage, l'analyse des sentiments et toute autre application dont elles pourraient avoir besoin.—Blake Kleinhans, Senior Data Scientist, Xcel Energy
En se concentrant sur l'évolutivité, la simplicité de l'infrastructure et la gouvernance des modèles, la plateforme a permis à l'équipe de se concentrer sur le perfectionnement de l'architecture RAG et d'améliorer facilement les performances du chatbot. Les capacités robustes de la plateforme ont permis de garantir que le projet puisse évoluer efficacement à mesure que la demande des utilisateurs augmentait, faisant de Databricks un choix idéal pour le développement et le déploiement d'applications de GenAI avancées. L'équipe de science des données d'Xcel Energy a apprécié la liberté de passer facilement à des LLM plus avancés à mesure qu'ils deviennent disponibles, sans perturber l'ensemble de leur architecture.
À l'avenir, Xcel Energy prévoit de pouvoir étendre davantage l'utilisation des outils de GenAI au sein de l'entreprise, démocratisant ainsi l'accès aux données et aux insights.
Ce post de blog a été co-rédigé par Blake Kleinhans (Xcel Energy), Hari Purnapatre (Xcel Energy), Aradhya Chouhan (Databricks) et Uttaran Banerjee (Databricks).
(Cet article de blog a été traduit à l'aide d'outils basés sur l'intelligence artificielle) Article original
Abonnez-vous à notre blog et recevez les derniers articles directement dans votre boîte mail.