Ir al contenido principal

Creación de aplicaciones Databricks con React y Agentes Mosaic AI para soluciones de chat empresariales

Building Databricks Apps with React and Mosaic AI Agents for Enterprise Chat Solutions

Publicado: 22 de marzo de 2025

Fabricación10 min de lectura

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.

Integración de Databricks Apps y Mosaic AI

Descripción general de la arquitectura:

El usuario envía una consulta a Databricks Apps, que la dirige al endpoint de servicio del modelo
El usuario envía una consulta a Databricks Apps, que la dirige al endpoint de servicio del modelo

Fortalezas principales de Databricks Apps

Databricks Apps se integran de forma nativa con:

  • Databricks SQL: Para consultar grandes conjuntos de datos de manera eficiente.
  • Unity Catalog: Para la gobernanza de datos centralizada y el control de acceso.
  • Model Serving: Para desplegar modelos de machine learning a escala.
  • Serving Endpoints: Para consultas eficientes a los modelos de ML y agentes LLM.
  • Jobs: Para pipelines ETL y procesos de flujo de trabajo.

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.

¿Qué es Mosaic AI Agent Framework?

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.

Caso de uso: Chatbot de gestión de operaciones de fabricación

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:

Análisis de cuellos de botella

  • Función de la herramienta: Consulta Databricks SQL utilizando la función identify_bottleneck_station para determinar la estación que causa la mayor cantidad de retrasos.
  • Consulta de ejemplo: "¿Cuál es el cuello de botella actual en la línea de ensamblaje?"
  • Respuesta: "La estación 5 es el cuello de botella actual, con un retraso promedio de 15 minutos por ciclo."

Seguimiento de inventario

  • Función de la herramienta: Llama a check_inventory_levels para recuperar datos de stock en tiempo real para una estación especificada.
  • Consulta de ejemplo: "¿Tenemos suficientes materiales para la Estación 3?"
  • Respuesta: "La Estación 3 tiene suficientes materiales para los próximos cinco ciclos de producción.”

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.

Endpoint de servicio del modelo del chatbot agente para recibir consultas
Endpoint de servicio del chatbot agente para recibir consultas

Aquí está la interfaz del chatbot ejecutándose localmente; más tarde, la demostraremos después de desplegarla en Databricks Apps.

El frontend localhost mostrando las consultas y respuestas del usuario
El frontend localhost mostrando las consultas y respuestas del usuario

Implementación de Databricks Apps

1. Frontend con React

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.

2. Backend con FastAPI

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):

  • Esto monta una subaplicación (api_app) en la ruta /api.
  • Cualquier solicitud que comience con /api (por ejemplo, /api/chat) se dirige a esta subaplicación.
  • Esto asegura que todas las solicitudes relacionadas con la API sean procesadas por la instancia api_app.

app.mount("/", ui_app):

  • Esto monta los archivos estáticos del directorio client/build en la ruta raíz (/).
  • Esto se usa típicamente para servir la aplicación frontend compilada, que incluye 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).
  • Cualquier solicitud que no comience con /api se dirigirá a ui_app.
  • Configuración de la API y Definición del Endpoint: El código define una aplicación FastAPI con un endpoint POST (/chat) bajo la instancia api_app que apunta al endpoint de servicio de modelos del agente Mosaic AI en Databricks.
  • Inyección de Dependencias y Manejo de Solicitudes: El endpoint utiliza el mecanismo de inyección de dependencias de FastAPI (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.
  • Análisis y Devolución de Respuestas: La respuesta del agente se estructura y se devuelve como un ChatResponse al cliente.

Despliegue en Databricks Apps

1. Preparación del Backend

  • Coloca el código de FastAPI en un archivo app.py.
  • Define las dependencias en requirements.txt:
  • Crea un archivo app.yaml:

La sección command describe la configuración del servidor gunicorn con las siguientes especificaciones:

  • server.app:app: Ejecuta tu aplicación FastAPI.
  • -w 2: Utiliza dos procesos de worker para manejar las solicitudes entrantes.
  • uvicorn.workers.UvicornWorker: Utiliza workers de Uvicorn, compatibles con el framework ASGI de FastAPI.

La sección env especifica pares clave-valor que definen variables de entorno para pasar a la aplicación [2]:

  • name: el nombre de la variable de entorno.
  • valueFrom: Para un valor definido externamente, el nombre de la fuente que contiene el valor. Por ejemplo, el nombre de un secreto o una tabla de base de datos que contiene el valor.

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.

2. Preparación del Frontend

  • Compila la aplicación React con npm run build y coloca los archivos estáticos en /client/build.

Aquí está la estructura de archivos:

3. Pasos de Despliegue

  1. Crear la Databricks App:
  2. Configurar Recursos de Databricks:
    Estoy configurando los recursos de Databricks para alinearlos con las características definidas en la sección env del archivo app.yaml. Esto incluye la configuración de recursos como el endpoint de servicio de modelos (agent_MODEL_NAME_FQN).

    La siguiente imagen muestra que la aplicación chatbot se ha creado con éxito:
  3. Sincronizar Archivos:
  4. Desplegar la App:

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.

Databricks Apps mostrando la consulta y respuesta del usuario
Databricks Apps mostrando la consulta y respuesta del usuario

Conclusión

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í.

Referencias:

[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.

¿Quieres verlo en acción?

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

No te pierdas ninguna publicación de Databricks.

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