Databricks Apps ofrece una plataforma robusta para crear y alojar aplicaciones interactivas. React es excelente para crear aplicaciones web modernas y dinámicas que necesitan actualizarse sin problemas y tener un aspecto pulido. Al combinar esta plataforma con un frontend basado en React y Mosaic AI Agent Framework, los desarrolladores pueden crear aplicaciones de chat eficientes e inteligentes. Este blog se centra en la implementación técnica de un chatbot alojado en Databricks y demuestra su potencial con un caso de uso específico de la industria: un chatbot de gestión de operaciones de fabricación.
Descripción general de la arquitectura:
Databricks Apps se integran de forma nativa con:
Databricks Apps elimina la necesidad de infraestructura de alojamiento externa. Las aplicaciones heredan las funciones integradas de seguridad, cumplimiento y gestión de recursos de la plataforma, lo que simplifica el despliegue y el mantenimiento.
Databricks Apps admite una amplia gama de frameworks como Dash, Streamlit, Gradio, Flask y FastAPI. Esta flexibilidad permite aplicaciones ricas en datos y visualmente atractivas.
Mosaic AI Agent Framework es un conjunto de herramientas en Databricks que ayuda a los desarrolladores a crear, desplegar y gestionar agentes de IA, como los utilizados en Generación Aumentada por Recuperación (RAG). Se integra con frameworks como LangChain y LlamaIndex y utiliza funciones de Databricks como Unity Catalog para la gobernanza de datos y la llamada a herramientas.
Los desarrolladores pueden registrar y probar agentes con MLflow, depurar su comportamiento y mejorar el rendimiento. Funciones como el registro de solicitudes, la transmisión de tokens de respuesta y las aplicaciones de revisión facilitan la creación y el despliegue de agentes de IA para casos de uso del mundo real.
La gestión de operaciones de fabricación (MOM) es crucial para optimizar los procesos de producción, mejorar la eficiencia y mantener la competitividad en el panorama industrial actual en rápida evolución.
La demanda de gestión de operaciones utilizando agentes de IA con interfaces de lenguaje natural está creciendo rápidamente, impulsada por la necesidad de una mayor eficiencia, una mejor toma de decisiones y experiencias de usuario mejoradas.
Según la última publicación de Meticulous Research® (fuente), se proyecta que el mercado de IA en fabricación alcance los 84.5 mil millones de dólares para 2031, a una tasa de crecimiento anual compuesta (CAGR) del 32.6% durante el período de pronóstico 2024–2031 [1]. Este crecimiento significativo subraya el creciente reconocimiento de la importancia de la gestión de operaciones impulsada por IA en diversas industrias.
Una empresa de fabricación que implementa el chatbot Mosaic AI aprovechando la llamada a herramientas puede ayudar a los gerentes de producción en:
identify_bottleneck_station para determinar la estación que causa la mayor cantidad de retrasos.check_inventory_levels para recuperar datos de stock en tiempo real para una estación especificada.Estas consultas se pueden implementar fácilmente como funciones almacenadas en Unity Catalog, utilizando SQL o Python. Luego, un agente de IA puede realizar tareas como la recuperación de datos, la ejecución de código y la toma de decisiones basada en el contexto aprovechando las llamadas a funciones. Si bien no profundizaremos en los detalles de la configuración del agente para la llamada a herramientas aquí, puede consultar la Guía de inicio rápido de IA generativa de Databricks aquí para obtener orientación detallada.
Una vez que el agente Mosaic AI esté configurado para manejar varias herramientas, se puede desplegar como un endpoint de servicio de modelo en Databricks. Este endpoint actúa como la interfaz backend, permitiendo que las aplicaciones frontend como los chatbots envíen consultas y reciban información en tiempo real.
Aquí está la interfaz del chatbot ejecutándose localmente; más tarde, la demostraremos después de desplegarla en Databricks Apps.
El frontend de React proporciona una interfaz interactiva y fácil de usar para consultar el chatbot y visualizar las respuestas. Las funciones principales incluyen la representación de mensajes en tiempo real, el envío de consultas y el manejo de respuestas del bot, una interfaz de usuario interactiva con retroalimentación y soporte para Markdown.
Código del Frontend que Envía Mensajes al Backend
Cliente API: Axios se utiliza para realizar solicitudes HTTP. La baseURL se establece dinámicamente según el entorno (desarrollo o producción).
HandleSendMessage: Captura la entrada del usuario, envía el mensaje al endpoint de la API /api/chat y actualiza el historial del chat con los mensajes del usuario y del bot.
El backend de FastAPI sirve como puente entre el frontend de React y los agentes de Mosaic AI. Dirige las consultas del usuario al endpoint de servicio del modelo del agente para obtener una respuesta.
Código del Backend que Maneja Consultas de Usuario
Este endpoint de API recibe mensajes de usuario, interactúa con el endpoint de servicio del modelo del agente Mosaic AI y devuelve respuestas específicas de la tarea.
En FastAPI, el orden de montaje de las subaplicaciones es crucial porque determina cómo se enrutan las solicitudes entrantes.
app.mount("/api", api_app):
api_app) en la ruta /api./api (por ejemplo, /api/chat) se dirige a esta subaplicación.api_app.app.mount("/", ui_app):
client/build en la ruta raíz (/).index.html, JavaScript, CSS y otros activos estáticos. La mayoría de los principales frameworks de UI (por ejemplo, React, Vue y Svelte) admiten la compilación en un conjunto de activos de este tipo a través de diferentes bundlers (por ejemplo, Vite, Webpack o esbuild)./api se dirigirá a ui_app./chat) bajo la instancia api_app que apunta al endpoint de servicio de modelos del agente Mosaic AI en Databricks.Depends) para inyectar un WorkspaceClient, que es responsable de interactuar con las APIs de Databricks. La función chat_with_llm toma un ChatRequest que contiene el mensaje del usuario, lo formatea como un ChatMessage con el rol USER y lo envía al endpoint de servicio utilizando el método client.serving_endpoints.query.ChatResponse al cliente.app.py.requirements.txt:
app.yaml:
La sección command describe la configuración del servidor gunicorn con las siguientes especificaciones:
La sección env especifica pares clave-valor que definen variables de entorno para pasar a la aplicación [2]:
Estoy mapeando las variables de entorno SERVING_ENDPOINT_NAME al endpoint de servicio de modelos de Databricks agent_MODEL_NAME_FQN, donde MODEL_NAME_FQN representa el namespace de tres niveles de Unity Catalog para catalog.db.model_name.
npm run build y coloca los archivos estáticos en /client/build.Aquí está la estructura de archivos:
env del archivo app.yaml. Esto incluye la configuración de recursos como el endpoint de servicio de modelos (agent_MODEL_NAME_FQN).Después de ejecutar este comando, el proceso de despliegue tomará unos minutos. Una vez desplegada con éxito, se mostrará la URL de la Databricks App, indicando que está en funcionamiento.
Y puedes empezar a chatear con ella. Por ejemplo, nuestra eficiencia de producción es baja. Encuentra el cuello de botella, verifica su eficiencia y genera un informe detallado. Envía un correo electrónico a [email protected] con el informe. También analiza el sentimiento del informe.
La integración de Databricks Apps con React y el Mosaic AI Agent Framework ofrece una solución potente para crear aplicaciones de chat dinámicas e interactivas. Al aprovechar las capacidades de procesamiento de datos integradas de Databricks, el servicio seguro de modelos y la infraestructura de despliegue optimizada, los desarrolladores pueden construir sistemas robustos que manejan consultas complejas.
El uso de FastAPI como puente entre el frontend de React y los agentes de Mosaic AI garantiza una comunicación fluida. Si bien Databricks Apps admite varios frameworks de backend de Python como Flask y Django, se eligió FastAPI por su API concisa y amigable para el desarrollador.
Esta configuración muestra cómo las capacidades avanzadas de IA pueden integrarse en soluciones prácticas de la industria, como los chatbots de fabricación, para impulsar la eficiencia y la toma de decisiones. A medida que Databricks continúa evolucionando su plataforma, estas integraciones pueden expandirse para atender casos de uso más amplios, convirtiéndola en una herramienta esencial para las empresas que buscan innovar con soluciones impulsadas por IA.
Para consultar el código fuente, encuentra el repositorio de GitHub enlazado aquí.
[1] El mercado de IA en manufactura alcanzará los $84.5 mil millones para 2031. Fuente:
https://www.meticulousresearch.com/pressrelease/294/ai-in-manufacturing-market
[2] Configuración de Databricks Apps. Fuente:
https://docs.databricks.com/en/dev-tools/databricks-apps/configuration.html#databricks-apps-configuration
La integración de Databricks Apps con React y el Mosaic AI Agent Framework ofrece una solución potente para crear aplicaciones de chat dinámicas e interactivas. Al aprovechar las capacidades de procesamiento de datos integradas de Databricks, el servicio seguro de modelos y la infraestructura de despliegue optimizada, los desarrolladores pueden construir sistemas robustos que manejan consultas complejas.
Prueba el Tour del Producto Databricks Apps para crear las aplicaciones de Datos e IA más rápidas y seguras en la Plataforma de Inteligencia de Datos de Databricks.
(Esta entrada del blog ha sido traducida utilizando herramientas basadas en inteligencia artificial) Publicación original
