Ir al contenido principal
Energía

Xcel Energy: Desarrollo de un chatbot basado en RAG en Databricks

Generación de respuestas precisas y adaptadas al contexto utilizando LLM

por Aradhya Chouhan, Uttaran Banerjee, Blake Kleinhans (Xcel Energy) y Hari Purnapatre (Xcel Energy)

Este blog describe cómo Xcel Energy utilizó Databricks para crear un chatbot basado en la arquitectura de generación aumentada por recuperación (RAG), diseñado para agilizar procesos como las revisiones de casos de tarifas y las revisiones de contratos legales. Databricks Data Intelligence Platform fue fundamental en todas las fases de desarrollo, desde el gobierno de datos hasta el despliegue. Las funciones de la plataforma, que incluyen Unity Catalog, Foundation Model APIs, AI Search, MLflow y Model Serving, permitieron al equipo centrarse en perfeccionar la arquitectura RAG y mejorar el rendimiento del chatbot. El proyecto redujo significativamente el tiempo necesario para las revisiones de casos de tarifas y mejoró el acceso a los datos y la obtención de información valiosa.

Xcel Energy es una empresa líder en energía eléctrica y gas natural que presta servicio a 3.4 millones de clientes de electricidad y 1.9 millones de clientes de gas natural en ocho estados: Colorado, Michigan, Minnesota, Nuevo México, Dakota del Norte, Dakota del Sur, Texas y Wisconsin. Xcel Energy quería crear un chatbot basado en una arquitectura de generación aumentada por recuperación (RAG) aprovechando Databricks para ayudarles a optimizar sus operaciones y ofrecer un mejor servicio a sus clientes. Los científicos de datos de Xcel Energy identificaron varios casos de uso de alto valor para probar, incluyendo revisiones de casos de tarifas, revisiones de contratos legales y análisis de informes de llamadas de resultados. Como ejemplo, a medida que el costo de la energía fluctúa, Xcel Energy debe recalibrar sus tarifas para alinearse con los factores del mercado, un proceso que podría llevar varios meses. Mientras tanto, el equipo directivo de Xcel Energy estaba ansioso por obtener información de los informes de llamadas de resultados sin tener que buscar en cientos de páginas de PDFs, y su equipo legal quería un acceso rápido a los detalles de los contratos de los clientes.

El objetivo del equipo de datos era implementar un sistema de IA generativa escalable y eficiente que pudiera recuperar datos relevantes de un gran corpus de documentos y generar respuestas precisas y conscientes del contexto utilizando modelos de lenguaje grande (LLMs). Las capacidades de Databricks Data Intelligence Platform optimizaron cada fase del desarrollo, desde el gobierno de datos y la integración de modelos hasta el monitoreo y el despliegue. Ahora, los casos de tarifas basados en la revisión de documentación compleja, incluidos los informes de precios de la energía y las regulaciones gubernamentales, toman 2 semanas en lugar de hasta 6 meses.

Databricks permitió el rápido desarrollo y despliegue de nuestros chatbots basados en RAG, mejorando significativamente nuestro tiempo de obtención de valor. El ecosistema se integró a la perfección con nuestras fuentes de datos internas y las herramientas de tablero existentes, lo que permitió a nuestro equipo concentrarse en mejorar la calidad en lugar de configurar la infraestructura desde cero. Además, Databricks nos facilitó la experimentación con diferentes embeddings y modelos de lenguaje para lograr el mejor rendimiento posible.—Blake Kleinhans, Senior Data Scientist, Xcel Energy

Gestión y preparación de datos

Un primer paso crítico en el proyecto fue establecer métodos eficaces para el gobierno y la gestión de datos. Como proveedor de servicios públicos, Xcel Energy tenía que garantizar una seguridad y un gobierno estrictos para evitar cualquier riesgo de filtración de datos confidenciales o patentados. Cada caso de uso requería una variedad de documentos, algunos públicos (informes de resultados) y otros confidenciales (contratos legales). Databricks Unity Catalog permitió la gestión centralizada de datos tanto estructurados como no estructurados, incluido el corpus de documentos para la base de conocimientos del chatbot. Proporcionó controles de acceso detallados que garantizaron que todos los datos permanecieran seguros y en cumplimiento, una ventaja significativa para proyectos que involucran datos confidenciales o patentados.

Para mantener actualizada su plataforma de IA generativa, los datos relevantes debían estar disponibles en el chatbot basado en RAG tan pronto como se ingirieran. Para la preparación de datos, se aprovecharon Databricks Notebooks y Apache Spark™ para procesar grandes conjuntos de datos de diversas fuentes, incluidos sitios web gubernamentales, documentos legales y facturas internas. Las capacidades de computación distribuida de Spark permitieron al equipo ingerir y preprocesar documentos rápidamente en su data lake, lo que permitió a Xcel Energy transferir grandes flujos de trabajo de datos a un almacén de vectores en un tiempo mínimo.

Generación y almacenamiento de embeddings

Los embeddings fueron fundamentales para el mecanismo de recuperación de la arquitectura RAG. El equipo utilizó las Databricks Foundation Model APIs para acceder a modelos de embeddings de última generación como databricks-bge-large-en y databricks-gte-large-en, que proporcionaron representaciones vectoriales de alta calidad del corpus de documentos. Estos embeddings eliminaron la necesidad de implementar o gestionar manualmente la infraestructura del modelo, simplificando el proceso de generación de embeddings.

Luego, los embeddings se almacenaron en Databricks AI Search, una base de datos vectorial serverless y altamente escalable integrada dentro del entorno de Databricks. Esto garantizó una búsqueda de similitud eficiente, que constituyó la columna vertebral del componente de recuperación del chatbot. La integración perfecta de AI Search dentro del ecosistema de Databricks redujo significativamente la complejidad de la infraestructura.

Integración de LLM e implementación de RAG

Xcel pudo probar diferentes LLMs utilizando las Databricks Foundation Model APIs. Estas APIs proporcionan acceso a modelos preentrenados de última generación sin la sobrecarga de gestionar el despliegue o los recursos de cómputo. Esto garantizó que los LLMs pudieran incorporarse fácilmente al chatbot, proporcionando una generación de lenguaje sólida con una gestión mínima de la infraestructura.

Su despliegue inicial fue con Mixtral 8x7b-instruct con una longitud de token de 32k después de probar los modelos Llama 2 y DBRX. Mixtral, un modelo de mezcla dispersa de expertos (SMoE), igualó o superó a Llama 2 70B y GPT 3.5 en la mayoría de las pruebas de rendimiento, siendo al mismo tiempo cuatro veces más rápido que Llama 70B en la inferencia. Xcel Energy priorizó la calidad de los resultados y utilizó Mixtral hasta que cambió a Claude Sonnet 3.5 de Anthropic en AWS Bedrock, al que se accede en Databricks a través de Agent Bricks AI Gateway y AI Search para RAG.


El pipeline de RAG se construyó utilizando LangChain, un potente framework que se integra a la perfección con los componentes de Databricks. Al utilizar Databricks AI Search para la búsqueda de similitud y combinarlo con la generación de consultas de LLM, el equipo construyó un sistema eficiente basado en RAG capaz de proporcionar respuestas conscientes del contexto a las consultas de los usuarios. La combinación de LangChain y Databricks simplificó el proceso de desarrollo y mejoró el rendimiento del sistema.

Seguimiento de experimentos y gestión de modelos con MLflow

El proyecto utilizó plenamente MLflow, una plataforma de código abierto ampliamente adoptada para el seguimiento de experimentos y la gestión de modelos. Utilizando la integración de LangChain de MLflow, el equipo pudo registrar varias configuraciones y parámetros del modelo RAG durante el proceso de desarrollo. Esto permitió el control de versiones y simplificó el despliegue de aplicaciones de LLM, proporcionando un camino claro desde la experimentación hasta la producción.

Nos estamos adentrando más en las capacidades de seguimiento (tracing) de MLflow. Esta funcionalidad será fundamental para diagnosticar problemas de rendimiento y mejorar la calidad de las respuestas de nuestro chatbot de soporte telefónico de atención al cliente.—Blake Kleinhans, Senior Data Scientist, Xcel Energy

Además, AI Gateway permitió al equipo gestionar de forma centralizada las credenciales y el acceso a los modelos, lo que facilitó el cambio eficiente entre LLMs y el control de costos mediante la limitación de velocidad y el almacenamiento en caché.

Servicio y despliegue de modelos

El despliegue del chatbot se optimizó utilizando Databricks Model Serving. Esta opción de cómputo serverless proporcionó una solución escalable y rentable para alojar el chatbot basado en RAG. Permitió exponer el modelo como un endpoint de REST API con una configuración mínima. Luego, el endpoint se pudo integrar fácilmente en aplicaciones front-end, optimizando la transición del desarrollo a la producción.

Model Serving también permitió el escalado basado en GPU, reduciendo la latencia y los costos operativos. Esta escalabilidad fue crucial a medida que el proyecto se expandía, lo que permitió al chatbot manejar cargas de usuarios crecientes sin cambios arquitectónicos significativos.

Monitoreo y mejora continua

Después del despliegue, se utilizó Databricks SQL para implementar soluciones de monitoreo. El equipo creó tableros que realizaban un seguimiento de métricas esenciales como los tiempos de respuesta, los volúmenes de consultas y las puntuaciones de satisfacción de los usuarios. Esta información fue crucial para mejorar continuamente el rendimiento del chatbot y garantizar la confiabilidad a largo plazo.

Al integrar el monitoreo en el flujo de trabajo general, el equipo pudo abordar de manera proactiva los problemas potenciales y optimizar el rendimiento del sistema en función de los comentarios en tiempo real.

Conclusión: Beneficios de Databricks para aplicaciones de GenAI

La Databricks Data Intelligence Platform permitió el rápido desarrollo e implementación del chatbot basado en RAG, reduciendo significativamente las complejidades típicamente asociadas con la gestión de proyectos de AI a gran escala. La integración de herramientas como Unity Catalog, Foundation Model APIs, AI Search, MLflow y Model Serving proporcionó un sistema de agentes de AI cohesivo y de extremo a extremo para construir aplicaciones de GenAI.

Nuestro objetivo también es hacer que los LLM sean más accesibles en todo Xcel, lo que permitirá a los equipos utilizarlos para tareas como el etiquetado, el análisis de sentimiento y cualquier otra aplicación que puedan necesitar.—Blake Kleinhans, Científico de datos sénior, Xcel Energy

Al centrarse en la escalabilidad, la simplicidad de la infraestructura y la gobernanza de modelos, la plataforma permitió al equipo concentrarse en perfeccionar la arquitectura RAG y mejorar fácilmente el rendimiento del chatbot. Las sólidas capacidades de la plataforma garantizaron que el proyecto pudiera escalar de manera eficiente a medida que aumentaba la demanda de los usuarios, lo que convirtió a Databricks en una opción ideal para desarrollar e implementar aplicaciones avanzadas de GenAI. El equipo de ciencia de datos de Xcel Energy valoró la libertad de actualizar fácilmente a LLM más avanzados a medida que estén disponibles, sin interrumpir toda su arquitectura.

De cara al futuro, Xcel Energy prevé poder ampliar aún más el uso de herramientas de GenAI en toda la empresa, democratizando el acceso a los datos y la información valiosa.

Esta publicación de blog fue escrita conjuntamente por Blake Kleinhans (Xcel Energy), Hari Purnapatre (Xcel Energy), Aradhya Chouhan (Databricks) y Uttaran Banerjee (Databricks).

(Esta entrada del blog ha sido traducida utilizando herramientas basadas en inteligencia artificial) Publicación original

Recibe las últimas publicaciones en tu bandeja de entrada

Suscríbete a nuestro blog y recibe las últimas publicaciones directamente en tu bandeja de entrada.