借助由MongoDB由...提供支持的AI聊天机器人、地理空间跟踪和实时见解,优化车队管理系统。
行业: 制造与运动
产品和工具: MongoDB Atlas、 MongoDB Atlas Vector Search、 MongoDB时间序列集合、地理空间查询、 MongoDB Atlas Charts
解决方案概述
车队管理涉及多项关键任务,包括跟踪车辆及其状态、优化燃油效率、安排及时维护以及确保合规规。
管理这些任务需要车辆、传感器和操作日志生成的数据。当您将这些信息整合到单一来源时,人工智能可以生成预测性见解和建议。这有助于车队经理有效地运行车队。
该解决方案名为 Leafy Fleet,是一个演示,使用生成式和代理式AI来支持车队经理的工作负载。该解决方案使用MongoDB Atlas提供支持实时分析和复杂地理空间查询的灵活、统一的数据基础,从而改进车队管理操作。主要功能包括:
Agentic AI助手:询问有关车队状态的自然语言问题,以获得实时见解、可行的建议和决策支持。这样可以立即处理实时操作数据以识别待解决的问题,从而改善合规和维护计划。
仪表盘控制:使用MongoDB Atlas Charts监控车队性能和状态,包括燃油油位图表、整体设备效率 (OEE) 随时间变化的趋势、经常出行的城市点的热图以及城市导航的路线图。可视化 OEE 和燃料趋势可改进燃料优化和维护规划。
车辆位置跟踪:使用MongoDB的原生地理空间查询来定位特定地理围栏区域内或附近的车辆。这确保了精确高效的车队管理。此功能可增强路由优化并确保准确的实时状态跟踪。
图 1。 Leafy Fleet 的三个主要功能
参考架构
该解决方案使用MongoDB Atlas作为单一数据平台,聚合和操作时间序列、地理空间和向量数据,以启用Agentic AI应用程序。
下面的架构图说明了该演示的主要功能及其互连的工作流程:
图 2。 Leafy Fleet 的高级架构
遥测摄取模拟:FastAPI微服务调用生成实时汽车遥测数据并将其发送到后端,模拟连续的车辆指标流。
处理和存储:该解决方案处理摄取的遥测数据并将其存储在MongoDB Atlas内的时间序列集合中。
自然语言交互:用户通过用自然语言提问来与代理系统交互。 LangGraph 框架协调多个工具来检索相关数据,并将结果发送到 LLM,后者生成连贯、上下文感知的响应。
服务集成:所有组件都通过 FastAPI 微服务无缝连接。
数据模型方法
MongoDB集合提供了灵活高效的设置来组织数据,而专门的时间序列集合则优化了遥测数据存储。这些功能启用您能够为车队数据创建统一的事实来源。
Leafy Fleet 使用以下集合来组织数据:
vehicleTelemetry:存储车辆沿其路线移动时的实时传感器数据、GPS 坐标和性能指标。在演示范围内,该集合有一个生存时间 (TTL)索引,该索引会在12 小时后删除文档。vehicles:包括一般车辆信息,如 VIN、年份、型号和分配的驾驶员。agent_session:跟踪用户交互和队列管理会话。geofences:定义对车队管理系统至关重要的地理边界和操作区域。地理围栏是用于监控和管理特定区域内车辆活动的虚拟边界。每个地理围栏文档都有一个GeoJSON多边形来定义其覆盖的区域。checkpoints:跟踪 LangGraph 决策。checkpoint_writes:记录带有线程 ID 的检查点。historical_recommendations:存储过去AI生成的建议,从而根据历史模式做出明智的决策。agent_profiles:定义不同的AI代理配置,每个配置都有特定的角色、指令和队列分析任务的目标。
时间序列集合
时间序列集合是专门为高效存储和管理时间序列数据而设计的集合。它们通过将一段时间内生成的信息组织为可增强性能和可扩展性的优化格式,简化了时间序列(例如遥测读数和传感器数据)的处理。
在车队管理系统中,时间序列集合可以存储车辆遥测数据,包括传感器指标和 GPS 坐标,从而有效地进程大量基于时间的数据。
The document below is an example of the data stored in the vehicleTelemetry time series collection:
{ "timestamp": { "$date": "2025-09-22T07:08:54.095Z" }, "metadata": { "car_id": 206 }, "_id": { "$oid": "68d104144dd67072732b9327" }, "sessions": [ "68d10411665f68254c898943" ], "max_fuel_level_lt": 65, "traveled_distance_km": 9735.08, "current_geozone": "riverside", "is_engine_running": true, "engine_oil_level_lt": 4.5, "current_route": 206, "quality_score": -0.16, "fuel_leve_lt": 23.3, "performance_score": 0.82, "availability_score": 1, "oil_temperature": 95.47, "is_oil_leak": false, "run_time": 2.8, "is_moving": true, "speed_km_hr": 25.7, "is_crashed": false, "average_speed": 25, "coordinates": { "type": "Point", "coordinates": [ -97.76570129394531, 30.232519149780273 ] }, "oee": -0.13 }
这种文档结构具有以下优点:
实时、全面的数据:将车辆身份、位置、传感器读数和关键性能指标整合在单个文档中,从而实现即时监控和可行的见解。
可行的见解:包括性能得分、可用性、OEE 和燃油水平等派生指标,为AI驱动的决策和运营优化提供基础。
灵活且可扩展:支持具有不同传感器的多种车辆类型,无需重组数据库,从而可轻松适应车队的发展。
构建解决方案
使用此 GitHub存储库 在本地环境中运行此演示。README 将指导您完成以下步骤:
登录MongoDB Atlas并填充数据库
创建一个MongoDB Atlas 群集来部署此演示。然后,获取MongoDB连接字符串URI。如果需要更多帮助,请按照本指南获取连接字符串。
接下来,使用演示所需的数据和元数据填充数据库。在应用程序代码中,找到dump/leafy_fleet目录。此目录包含 .bson和 文件,它们保存.json agent profilescheckpoints、 、geofences 、vehicles` and ``vehicles telemetry 集合的数据和元数据。
在终端中,导航到应用程序代码的根级别,并使用以下mongorestore 命令将数据库转储中的数据加载到集群内的新数据库中。将--uri 的参数替换为您的MongoDB连接字符串。
mongorestore --uri "mongodb+srv://<user>:<password>@<cluster-url>" ./dump/leafy_fleet
创建 Voyage AI帐户
创建 Voyage AI API密钥以生成嵌入。 Voyage AI voyage-3.5 嵌入模型支持四种嵌入维度,并提供高质量、通用和多语言检索功能。
创建.env 文件
使用以下配置在 leafy-fleet/backend 文件夹内创建 .env文件:
MONGODB_URI=<YOUR_MONGODB_ATLAS_CONNECTION_STRING> APP_NAME="leafy_fleet" AWS_REGION=<THE_AWS_REGION_YOU_SET_UP_YOUR_ACCOUNT_IN> AWS_PROFILE=<YOUR_AWS_PROFILE_NAME> ORIGINS="http://localhost:3000" # your local dev server VOYAGE_API_KEY=<YOUR_VOYAGE_API_KEY> STATIC_SERVICE_ENDPOINT="http://static-vehicle-service" TIMESERIES_POST_ENDPOINT="http://timeseries-post-service" GEOFENCES_SERVICE_ENDPOINT="http://geofence-get-service"
然后,使用以下配置在 leafy-fleet/frontend 文件夹内创建 .env文件:
NEXT_PUBLIC_AGENT_SERVICE_URL="localhost:9000" NEXT_PUBLIC_TIMESERIES_GET_SERVICE_URL="localhost:9001" NEXT_PUBLIC_SESSIONS_SERVICE_URL="localhost:9003" NEXT_PUBLIC_GEOSPATIAL_SERVICE_URL="localhost:9004" NEXT_PUBLIC_SIMULATION_SERVICE_URL="localhost:9006" NEXT_PUBLIC_STATIC_SERVICE_URL="localhost:9005"
运行项目
首先,通过运行以下命令创建Docker网络:
docker network create -d bridge simulation-network
确保您可以通过 AWS CLI访问权限AWS。
然后,导航到项目的根目录,确保可以访问Docker文件。通过执行以下命令,使用Docker Compose 运行演示:
docker compose up -d
最后,在浏览器中导航到 https://localhost:3000 并开始模拟。
关键要点
使用MongoDB作为队列管理的基础:MongoDB 的文档模型、时间序列集合和地理空间功能使其成为复杂队列管理使用案例的理想数据平台。它提供处理实时遥测数据、位置跟踪和操作日志所需的可扩展性、灵活性和性能。
利用数据简化流程并增强决策能力:通过整合实时遥测、地理围栏监控和性能指标,该解决方案演示了数据如何提高车队运营效率,使车队经理能够更快、更明智地做出决策。
通过代理AI赋能车队管理:Leafy Fleet 使用代理AI来解释自然语言查询、编排工具并生成上下文感知见解。这简化了决策并提高了性能,为车队经理创造了响应迅速的体验。
作者
Fernando Moran, MongoDB
Kirill Makienko, MongoDB
Daniel Jamir, MongoDB
了解详情
要学习;了解Atlas Vector Search如何支持语义搜索并实现实时分析,请访问Atlas Vector Search页面。
要详细学习;了解联网车辆信号数据的数据建模策略,请参阅 Agentic AI-Powered Connected Fleet Incident Advisor。