Descubre cĂłmo usar MongoDB para gestionar flotas de vehĂculos conectados, optimizar la planificaciĂłn de rutas y mejorar la seguridad del driver.
caso de uso: Análisis impulsados por aplicaciones, Gen IA, IoT
Industrias: Manufactura y movimiento
Productos y herramientas: Base de datos Atlas, BĂşsqueda vectorial Atlas
DescripciĂłn general de la soluciĂłn
En esta soluciĂłn, desarrollamos un Asesor de Flota Conectada impulsado por IA con MongoDB Atlas, Voyage AI, OpenAI y LangGraph.
El sistema recibe quejas de conductores o consultas de gestores de flotas, procesa los datos de telemetrĂa de los vehĂculos, genera una cadena de pensamiento, realiza una bĂşsqueda vectorial de problemas similares, almacena los datos en MongoDB y, finalmente, ofrece una recomendaciĂłn diagnĂłstica utilizando un modelo LLM de OpenAI.
Un agente es una aplicaciĂłn operativa que intenta lograr un objetivo observando el mundo y actuando sobre Ă©l usando los datos y herramientas que tiene a su disposiciĂłn. El tĂ©rmino "agente inteligente" denota tener agencia como un agente de IA, tomando pasos proactivamente para lograr objetivos sin una supervisiĂłn humana constante. Por ejemplo, en lugar de simplemente reportar una anomalĂa basada en el análisis de datos de telemetrĂa de autos conectados, un sistema de IA inteligente para una flota conectada verifica automáticamente esa anomalĂa contra problemas conocidos, decide si es crĂtica y agenda una cita de mantenimiento por sĂ mismo.
Figura 1. Componentes básicos de un agente de IA
Crecimiento futuro y desafĂos
La industria automovilĂstica y de movilidad está experimentando una transformaciĂłn significativa, impulsada por los avances en la conectividad de los vehĂculos, sistemas autĂłnomos, movilidad compartida y electrificaciĂłn. Los vehĂculos son ahora máquinas sofisticadas que generan enormes cantidades de datos. La demanda de automociĂłn crece en un 3% anual durante los 20 años siguientes, con una preferencia creciente hacia los vehĂculos conectados y elĂ©ctricos. Los agentes del sector automovilĂstico adoptan la inteligencia artificial (IA), los vehĂculos elĂ©ctricos a baterĂa (BEV) y los vehĂculos definidos por software (SDV) para mantener su ventaja competitiva. Se espera que el tamaño del mercado mundial de vehĂculos conectados alcance alrededor de USD 446.6 mil millones para el 2033, con una tasa de crecimiento anual compuesta (CAGR) del 19.5% entre 2024 y 2033. Gestionar flotas de vehĂculos conectados presenta un desafĂo. A medida que los automĂłviles se vuelven más sofisticados y se integran con sistemas internos y externos, el volumen de datos aumenta. Debes almacenar, transferir y consumir estos datos con diversas aplicaciones posteriores para descubrir nuevas oportunidades de negocio. Se proyecta que el mercado global de gestiĂłn de flotas alcance los USD 65.7 mil millones para el 2030, creciendo a una tasa de casi el 10.8% anualmente.
Un 2024 estudio realizado por Webfleet revelĂł que el 32% de los administradores de flotas creen que la IA y el aprendizaje automático tendrán un impacto significativo en las operaciones de flotas en los prĂłximos años. Esto supera por poco al 30% que citĂł los vehĂculos elĂ©ctricos como el primario factor transformador. Optimizar la planificaciĂłn de rutas y mejorar la seguridad de los drivers son las dos formas mencionadas con mayor frecuencia en las que los administradores de flotas consideran que la IA cambia su jornada laboral. A medida que los proveedores de software de gestiĂłn de flotas continĂşan invirtiendo en IA, la integraciĂłn de IA agentica, sistemas autĂłnomos capaces de tomar decisiones en tiempo real, puede ayudar significativamente en casos de uso como la optimizaciĂłn de rutas y la mejora de la seguridad del driver. Por ejemplo, los agentes de IA procesan informes de tráfico en tiempo real e informaciĂłn meteorolĂłgica para ajustar rutas de manera dinámica, garantizando entregas puntuales y alertando a los conductores sobre el estado de sus vehĂculos cuando sea necesario. Este enfoque proactivo contrasta con los mĂ©todos reactivos tradicionales, mejorando la utilizaciĂłn de los vehĂculos y reduciendo los costos operativos y de mantenimiento.
Arquitecturas de Referencia
La arquitectura de referencia que se muestra a continuaciĂłn ilustra el funcionamiento interno y el flujo de datos del agente de IA. El flujo de trabajo comienza cuando un usuario, un driver, envĂa una query sobre un posible problema. Por ejemplo, escuchar un sonido de golpeteo. Luego, el orquestador de agentes basado en LangGraph procesa esta solicitud utilizando un LLM (OpenAI GPT-4o) para interpretar la solicitud y crear una cadena de razonamiento (CoT) y flujo de trabajo. El flujo de trabajo lo ejecuta el agente utilizando herramientas como Atlas bĂşsqueda vectorial.
El agente procesa un informe de incidente, de la siguiente manera:
Lecturas de datos de telemetrĂa: Ingresa datos de sensores del vehĂculo de un archivo CSV (o de una API en una configuraciĂłn de producciĂłn).
Genera una incrustación: utiliza la API de incrustación de Voyage IA para convertir el texto de la queja en una representación numérica.
Utiliza Atlas Vector Search: Busca problemas similares en MongoDB Atlas usando la incrustaciĂłn generada.
Persiste los datos: Guarda los datos de telemetrĂa, los registros de sesiĂłn y las recomendaciones en MongoDB Atlas.
Proporciona una recomendación final: utiliza la API de chat de OpenAI para generar consejos diagnósticos prácticos.
Figura 2. Arquitectura de referencia de la soluciĂłn propuesta.
Enfoque de modelo de datos
Un agente requiere diferentes tipos de datos para funcionar. El modelo orientado a documentos de MongoDB le permite modelar fácilmente todos estos datos en una sola base de datos. A continuaciĂłn, encontrará un ejemplo de cada tipo de dato encontrado en una aplicaciĂłn de IA ágil para la gestiĂłn de flotas. FĂjese cĂłmo la flexibilidad del modelo orientado a documentos se adapta para ajustarse al tipo de datos requeridos para el almacenamiento.
Perfil del agente
Estos datos contienen la identidad del agente, incluyendo instrucciones, objetivos y limitaciones.
Ejemplo de Perfil de Agente
{ "_id": "67c20cf886f35bcb8c71e53c", "agent_id": "default_agent", "profile": "Default Agent Profile", "instructions": "Follow diagnostic procedures meticulously.", "rules": "Ensure safety; validate sensor data; document all steps.", "goals": "Provide accurate diagnostics and actionable recommendations." }
Memoria a corto plazo
La memoria a corto plazo contiene informaciĂłn temporal y contextual (entradas de datos recientes o interacciones en curso) que el agente utiliza en tiempo real. Por ejemplo, la memoria a corto plazo almacena datos de sensores de las Ăşltimas horas de actividad del vehĂculo. En ciertos frameworks de IA agĂ©nticos como LangGraph, la memoria a corto plazo se implementa mediante un sistema de control. El sistema de control almacena los estados intermedios de las acciones y el razonamiento del agente. Esta memoria permite al agente pausar y reanudar las operaciones sin interrupciones.
Ejemplo de memoria a corto plazo: Datos de telemetrĂa almacenados en colecciones de series de tiempo
{ "_id": "67cb23ee370eb8f40c9bf677", "timestamp": "2025-02-19T13:00:00", "vin":"5TFUW5F13CX228552", "engine_temperature": "90", "oil_pressure": "35", "avg_fuel_consumption": "8.5", "thread_id": "thread_20250307_125027" }
Memoria a largo plazo
La memoria a largo plazo almacena el conocimiento acumulado durante el tiempo para el agente. Esto puede incluir patrones, tendencias, registros, recomendaciones histĂłricas y decisiones.
Ejemplo de memoria a largo plazo: Problemas histĂłricos con vehĂculos conectados vectorizados y almacenados en MongoDB
{ "_id": "67ca173679c7c286f44f4a24", "issue": "Engine knocking when turning", "recommendation": "Inspect spark plugs and engine oil.", "embedding": [ -0.021414414048194885, -0.0031116530299186707, 0.014275052584707737, -0.030444633215665817, 0.018614845350384712, 0.06425976008176804, 0.0060801152139902115, -0.012883528135716915, -0.007000760640949011, -0.04991862177848816, ... ] }
Compilar la soluciĂłn
Para compilar esta soluciĂłn, sigue las instrucciones en el repositorio de GitHub del agente de gestiĂłn de flotas. El repositorio proporciona una orientaciĂłn paso a paso para configurar la aplicaciĂłn.
Requisitos previos
Python 3.11+ (backend)
Node.js (para el frontend de Next.js)
Cuenta de MongoDB Atlas
Clave de API de OpenAI
Clave de API de Voyage IA
Arquitecturas del sistema
Flujo de trabajo backend
Implementas un flujo de trabajo de diagnĂłstico de mĂşltiples pasos utilizando LangGraph, como sigue:
El agente recibe un informe de problemas del conductor. Por ejemplo, "El consumo de combustible de mi vehĂculo ha aumentado significativamente en la Ăşltima semana. ÂżQuĂ© podrĂa estar mal con el motor o el sistema de combustible?".
El agente recupera los datos de telemetrĂa y registra la actualizaciĂłn.
El agente genera un embedding para la queja usando la API de embedding Voyage IA voyage-3-large.
A continuaciĂłn, el sistema realiza una bĂşsqueda vectorial en los incidentes histĂłricos de MongoDB para encontrar casos similares.
MongoDB almacena toda la telemetrĂa, las incrustaciones y los registros de sesiĂłn para garantizar la trazabilidad.
Finalmente, el agente utiliza la API ChatCompletion de OpenAI para producir una recomendaciĂłn final.
MongoDB Atlas
- La base de datos del modelo orientado a documentos flexibles almacena los perfiles de los agentes, recomendaciones histĂłricas, datos de telemetrĂa, registros de sesiones y más. Este almacenamiento persistente registra cada paso del proceso diagnĂłstico para su rastreabilidad y posibilita la consulta eficiente y la reutilizaciĂłn de datos histĂłricos, haciendo que el sistema sea altamente rastreable y escalable.
Interfaz de Frontend
El frontend de Next.js proporciona una vista de dos columnas:
Columna izquierda: Muestra las actualizaciones en tiempo real del flujo de trabajo del agente, como el razonamiento de encadenamiento de pensamientos, mensajes de actualizaciĂłn y recomendaciones finales.
Columna de la derecha: muestra los documentos insertados en MongoDB durante la ejecuciĂłn del agente, incluyendo detalles de la sesiĂłn, registros de telemetrĂa, recomendaciones histĂłricas, perfiles de agentes y ejemplos de problemas anteriores.
Configurar la aplicaciĂłn
Para configurar la aplicaciĂłn, realice los siguientes pasos:
Configura variables de entorno
Crea un archivo .env en el directorio de backend con el siguiente contenido:
OPENAI_API_KEY=your_openai_api_key_here VOYAGE_API_KEY=your_voyage_api_key_here MONGO_URI=your_mongo_uri_here DATABASE=fleet_issues TELEMETRY_PATH=data/telemetry_data.csv VECTOR_SEARCH_INDEX=issues_index
Crear un Ăndice de Atlas Vector Search con nombre issue_index y path embeddings.
Para obtener más detalles sobre cĂłmo configurar el Ăndice de bĂşsqueda vectorial, vea Crear Ăndices de bĂşsqueda vectorial.
SiĂ©ntete libre de ajustar el aviso en main.py o actualizar los datos de telemetrĂa en el archivo telemetry_data.csv.
Explora la soluciĂłn
Iniciar un nuevo diagnĂłstico
Abra el frontend y elija "Nuevo diagnĂłstico".
Ingresa un informe de incidencias en el cuadro de texto. Por ejemplo:
Escucho un sonido de golpeteo al girar a baja velocidad.
Mi coche hace un ruido persistente cuando acelero a baja velocidad.
NotĂ© una caĂda repentina en la presiĂłn del aceite junto con un ligero aumento en la temperatura del motor.
El consumo de combustible de mi vehĂculo aumentĂł significativamente en la Ăşltima semana. ÂżQuĂ© podrĂa estar mal con el motor o el sistema de combustible?
Recientemente apareciĂł una luz de advertencia en mi tablero y al coche le cuesta acelerar.
Haz clic en el botĂłn "Ejecutar agente" y espera uno o dos minutos mientras el agente termina su ejecuciĂłn.
Verifica el flujo de trabajo
El flujo de trabajo, la salida de la cadena de pensamiento y la visualizaciĂłn de la recomendaciĂłn final se muestran en la columna izquierda.
El flujo de trabajo se genera en tiempo real, proporcionando transparencia en el proceso de toma de decisiones del agente.
Figura 3: Diagrama secuencial del flujo de trabajo de agentes de IA
Revisar los documentos de MongoDB
En la columna derecha, los documentos mostrados son los registros que se insertaron durante la ejecuciĂłn actual del agente:
agent_sessions: Contiene los metadatos de sesiĂłn y el ID del subproceso.
historical_recommendations: almacena las recomendaciones finales y los diagnĂłsticos relacionados.
telemetry_data: Contiene las lecturas del sensor de telemetrĂa.
registros: Contiene las entradas de registro del proceso de diagnĂłstico.
agent_profiles: Muestra el perfil del agente que se utilizĂł durante el diagnĂłstico.
Problemas_historicos: (Si está disponible) Muestra una muestra de problemas históricos.
Puntos de control: (De la base de datos de puntos de control) Muestra el Ăşltimo estado guardado para una posible recuperaciĂłn.
Funcionalidad de reanudaciĂłn
- Opcionalmente, podemos demostrar la funcionalidad "Reanudar DiagnĂłstico" ingresando un ID de hilo y mostrando cĂłmo el sistema recupera la sesiĂłn correspondiente.
Lecciones clave
Escalabilidad y flexibilidad: Las plataformas de automĂłviles conectados, como los sistemas de gestiĂłn de flotas, gestionan volĂşmenes y variedad de datos extremos. MongoDB Atlas se escala horizontalmente a travĂ©s de clĂşsteres en la nube, lo que permite incorporar millones de eventos de telemetrĂa por minuto y almacenar terabytes de datos de telemetrĂa. Por ejemplo, ZF SCALAR utiliza MongoDB para procesar 90,000 mensajes de vehĂculos por minuto (más de 50 GB de datos al dĂa) de cientos de miles de autos conectados. El modelo orientado a documentos de MongoDB se adapta a medida que la flota crece. Puedes evolucionar los esquemas a medida que los vehĂculos añaden nuevos sensores o funcionalidades. Esta flexibilidad acelera el desarrollo y garantiza que tu modelo de datos permanezca alineado con las entidades del mundo real, como vehĂculos, viajes o incidentes, que representa.
Implementa una bĂşsqueda vectorial integrada: los Agentes de IA requieren un conjunto robusto de herramientas para trabajar. La bĂşsqueda vectorial permite a los agentes buscar semánticamente en datos no estructurados, como registros de conductores, descripciones de cĂłdigos de error y manuales de reparaciĂłn. MongoDB Atlas cuenta con soporte nativo para bĂşsqueda vectorial, lo que permite almacenar e indexar vectores de alta dimensionalidad junto con los datos operativos y ejecutar consultas de similitud rápidas sobre ellos. En la práctica, esto significa que sus incrustaciones de IA se encuentran junto a la telemetrĂa relevante del vehĂculo y los datos operativos en la base de datos. Esto simplifica las arquitecturas para casos de uso como el asesor de incidentes de automĂłviles conectados, donde un problema puede coincidir con problemas anteriores encontrados antes de pasar el contexto a la LLM. (Vea cĂłmo un OEM automotriz aprovecha la bĂşsqueda vectorial para diagnĂłsticos basados en audio con MongoDB Atlas Vector Search).
Implementa colecciones de series de tiempo y procesamiento de datos en tiempo real: MongoDB Atlas está diseñado para aplicaciones en tiempo real. Proporciona colecciones de series de tiempo para almacenamiento de datos de telemetrĂa de autos conectados, flujos de cambios y activadores que reaccionan instantáneamente a nuevos datos. Dado que la visibilidad en tiempo real es una funcionalidad clave en los sistemas modernos de gestiĂłn de flotas, la capacidad de MongoDB para proporcionar perspectivas inmediatas a los agentes de IA garantiza que las decisiones que toman estĂ©n basadas en la informaciĂłn más reciente. Esto es crucial para los bucles de retroalimentaciĂłn de IA agentic, donde la ingestiĂłn y el aprendizaje continuo de datos ocurren de manera continua.
Utiliza los mejores modelos de incrustación de tu clase con Voyage IA: MongoDB recientemente adquirió Voyage IA, quien se especializa en modelos de incrustación y reorganización. A medida que MongoDB Atlas integra los modelos de embedding de Voyage AI, los desarrolladores ya no necesitan administrar APIs de embedding externas, almacenes vectoriales autónomos o pipelines de búsqueda complejos. La recuperación de IA se integra en la propia base de datos, haciendo que la búsqueda semántica, la recuperación de vectores y la clasificación sean tan sin interrupciones como las queries tradicionales. Esto reduce el tiempo necesario para desarrollar aplicaciones de IA agentica.
Author
- Humza Akhtar, MongoDB