开发一款汽车诊断应用。将 MongoDB Atlas 与 Voyage Embedding 模型相结合,可以解决复杂的车辆故障并降低保修成本。
行业: 制造
产品: MongoDB Voyage AI,MongoDB Atlas
解决方案概述
第 1 部分:上下文感知 RAG 解决了从汽车手册中检索静态文本的问题。然而,现代汽车售后支持涉及日益复杂的需求。当今的车辆是集成了大量软件的复杂系统。
售后机会
随着车辆复杂性的增加,经销商维修车间面临着日益增长的需求。非计划的维修中断每年给行业带来巨大的成本。技术人员可能会花费大量时间(在某些情况下高达 30%)搜索信息,而不是专注于维修。一个常见的挑战是将软件代码、诊断故障码(DTC)与物理硬件问题关联起来,如果没有合适的工具,这将非常耗时。
“未找到故障 (NFF)”挑战
NFF 事件几乎占保修成本的 30%。这些事件的发生是由于基于不完整或不清晰的诊断信息更换了组件,而实际上该部件功能正常。标准搜索工具可能无法完全应对这一挑战,因为它们缺乏将症状(如屏幕闪烁)与根本原因(如接地线松动)联系起来的上下文推理能力。
智能诊断应用程序
该解决方案帮助您在 MongoDB Atlas 上构建诊断助手应用。它使用 Voyage AI 模型来改进技术人员解决问题的方式:
自动故障树 (GraphRAG):超越关键词搜索。使用 MongoDB 的
$graphLookup来建模车辆依赖关系。从症状到系统到根本原因,识别真正的故障路径。启用可视搜索(多模态):识别特定的部件变体可能具有挑战性,尤其是对于仍在构建专业知识的技术人员而言。集成 Voyage AI 的 voyage-multimodal-3.5,使应用能够接受部件的照片并返回正确的替换 SKU,使部件识别更快、更准确。
优先精确(重排序):使用 Voyage AI 的 rerank-2.5 重新排序结果。帮助确保安全警告和已验证的修复方案在结果中突出显示。
参考架构
构建症状到修复引擎。在 MongoDB Atlas 中整合您的应用数据、向量嵌入和诊断图表。这将技术人员的工作流统一到单个应用后端。
系统组件
应用程序工作流
输入:机械师扫描 VIN 并输入症状(“空调吹暖风”)或上传照片。
识别:应用检索特定车辆信息(配置、年份)和相关手册章节。
推理:应用使用
$graphLookup来检查相关子系统(例如,“检查压缩机继电器”)。验证:应用显示最可能的三种修复方案,按 Voyage AI 重排序器排序,并附上视觉验证辅助信息。
图 1. 基于 MongoDB Atlas 的汽车诊断统一向量、图表和多模态架构
数据模型方法
为 GraphRAG 设计模式。使用预物化边缘模式,在文档模型中直接将症状链接到修复方案。
诊断集合(manual_chunks )
在您的手册数据块中添加 relationships 数组。这使应用能够模拟高级技术人员的推理过程。
{ "_id": ObjectId("..."), "chunk_id": "chunk_4059", "text": "Inspect the AC Compressor Clutch for engagement...", // Domain-specific embedding (voyage-context-3) "text_embedding": [0.02, -0.5, ...], // NEW: Diagnostic Logic Edges "relationships": [ { "type": "SEQUENTIAL_TO", "target_id": "chunk_4060", "description": "Next Step: Check Refrigerant Pressure" }, { "type": "CAUSES", "target_id": "dtc_b1000", "description": "Clutch failure triggers Code B1000" }, { "type": "APPLIES_TO", "target_id": "trim_performance", "description": "Only for Performance Trims" } ], "metadata": { "system": "HVAC", "component": "Compressor", "breadcrumb_trail": "HVAC > COOLING > DIAGNOSTICS" } }
可视化部件集合 (manual_images)
将嵌入内容链接至 GridFS,以将图像直接提供给应用 UI。
{ "_id": ObjectId("..."), "image_id": "img_001", "gridfs_id": ObjectId("..."), // Link to binary image "description": "Connector View: AC Compressor C1", // 1024-dim Voyage AI Multimodal embedding "multimodal_embedding": [-0.1, 0.8, ...], "associated_chunks": ["chunk_4059"], "metadata": { "view_type": "connector_pinout", "model_year": "2024" } }
构建解决方案
实现三个核心应用功能。访问 Github 存储库中的完整源代码 。
智能症状搜索 (GraphRAG)
构建诊断按钮。使用向量搜索查找手册部分,并使用 $graphLookup 建议下一个逻辑步骤。
// MongoDB Aggregation: Find Symptom -> Suggest Fix [ // Step 1: Find the relevant manual section { "$vectorSearch": { "index": "vector_index_text", "path": "text_embedding", "queryVector": <embedding_of_symptom>, "numCandidates": 100, "limit": 5 } }, // Step 2: Traverse the Fault Tree { "$graphLookup": { "from": "manual_chunks", "startWith": "$relationships.target_id", "connectFromField": "relationships.target_id", "connectToField": "chunk_id", "as": "suggested_path", "maxDepth": 1 } } ]
快速识别(多模态)
构建部件摄像头功能。使用 Voyage AI 嵌入图像并查询部件数据库。
# Python / FastAPI snippet from voyageai import Client vo = Client(api_key="VOYAGE_API_KEY") # Feature: User takes a picture of a corroded connector query_emb = vo.multimodal_embed( inputs=[{"image": user_image_bytes}], model="voyage-multimodal-3.5" ).embeddings[0] # Search for the part results = collection.aggregate([ { "$vectorSearch": { "index": "vector_index_images", "path": "multimodal_embedding", "queryVector": query_emb, "limit": 5 } } ])
关键要点
使用多模态嵌入:传统的多模态模型通过独立的网络处理文本和图像,导致混合内容出现检索偏差。Voyage AI 的 voyage-multimodal-3.5 使用统一的转换器架构,通过相同的骨干网络处理两种模态,消除了模态差距。这种架构支持在文档截图、PDF 和图表之间进行无缝检索,无需复杂的解析管道。
结构胜过关键词:技术人员从系统角度而非关键词思考。行李箱锁扣(寄生电流)可能会导致电池没电。标准搜索无法发现这种关联。GraphRAG 能够捕捉这一因果关联。它可以让应用在用户查询电池相关信息时建议检查行李箱锁扣。
统一后端简化开发:为向量、图表和图像构建独立的后端会拖慢开发速度。MongoDB Atlas 将这些统一到一起。您只需为整个诊断应用堆栈管理一个数据库连接。这种统一加速了功能迭代并简化了维护。
作者
Mehar Grewal,MongoDB
Humza Akhtar,MongoDB
Daniel Jamir, MongoDB