了解如何使用 MongoDB Atlas 和 Google Cloud 工具套件来创建语音驱动的实时汽车体验。将车辆数据、用户上下文和汽车手册嵌入向量整合到一个智能且可扩展的车载助手中,以满足驾驶员的需求。
行业: 制造与移动
产品: MongoDB Atlas 数据库,MongoDB Atlas Atlas Vector Search
合作伙伴: Google Cloud 、PowerSync
解决方案概述
在汽车制造商竞相推出下一代驾驶体验的过程中,他们面临着越来越大的压力,需要通过智能、用户友好的数字系统来实现差异化。车载语音助手已经成为一个重要的机遇,然而大多数仍然不足,其功能局限于设置导航或控制音乐等基本指令。随着生成式人工智能的兴起,突破这些限制的道路已经清晰可见,从而能够在驾驶过程中实现真正个性化、动态化的交互体验。
该解决方案演示了汽车团队如何构建由生成式人工智能提供支持并由 MongoDB Atlas 支持的可扩展的实时语音助手。该架构集成了车辆遥测、用户偏好和汽车手册嵌入,以创建能够适应每位驾驶员需求的车内助手。通过使用 MongoDB Atlas 灵活的 document model 和内置的向量搜索,开发者可以简化数据复杂性,更快地交付功能,从而提供更好、更直观的车内体验。

图 1. 生成式人工智能车载助手实景演示
在此过程中,团队将学习如何:
统一结构化和非结构化数据,以增强 AI 系统的上下文。
启用与可扩展的云原生架构的实时交互。
通过 Atlas Vector Search 提供支持的语义搜索,提供个性化体验。
虽然该解决方案主要针对汽车行业,但其潜力远不止于此。交通运输、医疗保健、酒店和消费电子等行业正在探索生成式人工智能语音接口,以增强客户互动、减少摩擦并优化支持流程。无论是智能家居助手、数字礼宾服务,还是基于人工智能的医疗分诊系统,该架构都能为构建语音优先、数据驱动的交互体验奠定基础,让用户获得直观且精准的服务感受。各行各业的企业正利用生成式人工智能和MongoDB的语音技术力量,重塑用户体验。
参考架构
为了实现更智能的车载助手,我们设计了一种架构,将云技术与边缘技术无缝融合,提供统一的体验。其核心是 MongoDB Atlas,它作为数据层,与 Google Cloud 的 AI 功能相结合。这种架构确保了快速、个性化和可靠的交互。
图 2.生成式 AI 车载助手的参考架构
让我们详细分析一下工作原理。
板载组件
这些应用程序在车内运行,靠近驾驶员,并支持实时语音交互。
车载中控台:车内界面,用户可以与智能助手进行语音交互并获得响应。在本演示中,它是一个 Web 应用,但在真实车辆中代表嵌入式系统。
本地数据存储:车辆使用 PowerSync SDK 在本地存储关键信号,该 SDK 是一个基于 SQLite 的轻量级边缘数据库。这可确保快速访问诊断数据,并使数据与 MongoDB Atlas 保持同步。
助手后端:该组件用于管理对话。它使用 Google Cloud Speech-to-Text 处理语音转录并读取驾驶员的意图。它可能会直接响应,或调用工具来获取更多数据或采取操作,具体取决于查询。在演示版本中,我们包含了四个示例工具:
查阅手册:使用 Atlas Vector Search 从汽车手册中检索相关信息。
运行诊断:从本地车辆数据中提取当前诊断代码。
重新计算路线:如果司机增加了一站,则调整进程。
关闭聊天:优雅地结束对话。
const functionDeclarations = [ { functionDeclarations: [ { name: "closeChat", description: "Closes the chat window when the conversation is finished. By default it always returns to the navigation view. Ask the user to confirm this action before executing.", parameters: { type: FunctionDeclarationSchemaType.OBJECT, properties: { view: { type: FunctionDeclarationSchemaType.STRING, enum: ["navigation"], description: "The next view to display after closing the chat.", }, }, required: ["view"], }, }, { name: "recalculateRoute", description: "Recalculates the route when a new stop is added. By default this function will find the nearest service station. Ask the user to confirm this action before executing.", parameters: { type: FunctionDeclarationSchemaType.OBJECT, properties: {}, }, }, { name: "consultManual", description: "Retrieves relevant information from the car manual.", parameters: { type: FunctionDeclarationSchemaType.OBJECT, properties: { query: { type: FunctionDeclarationSchemaType.STRING, description: "A question that represents an enriched version of what the user wants to retrieve from the manual. It must be in the form of a question.", }, }, required: ["query"], }, }, { name: "runDiagnostic", description: "Fetches active Diagnostic Trouble Codes (DTCs) in the format OBD II (SAE-J2012DA_201812) from the vehicle to assist with troubleshooting.", parameters: { type: FunctionDeclarationSchemaType.OBJECT, properties: {}, }, }, ], }, ];
云组件
这些组件提供 AI 智能、可扩展的存储和数据处理功能。
数据摄取:非结构化内容(如汽车手册)被上传至 Google Cloud 存储。这会触发一个使用 Pub/Sub、Cloud Run 和 Document AI 的管道,将 PDF 文件分割成数据块。Vertex AI 为这些数据块生成嵌入,然后将其存储在 MongoDB Atlas 中以进行语义搜索。
提供语音 API:Google Cloud 的 Text-to-Speech 和 Speech-to-Text 处理自然语音交互。Vertex AI:为搜索查询提供文本嵌入,并为助手使用的 LLM(Gemini)提供支持。
数据存储和检索: MongoDB Atlas 存储:
通过 Atlas Vector Search 手动对嵌入向量进行分块以进行检索。
用户偏好和会话数据。
车辆信号 - 最新值和完整时间序列遥测数据。
Atlas Vector Search 用于将用户的问题与最相关的手册部分匹配,从而实现检索增强生成 (RAG) 流程。MongoDB 原生支持结构化、半结构化和向量数据,简化了助手逻辑,加快了开发速度。
数据同步:我们使用 PowerSync 进行车辆与云之间的双向同步:
车辆到云:车辆发送遥测数据,例如诊断代码、速度或加速度。Cloud Run 函数会处理并将其存储在 Atlas 中。
云到车辆:支持将更新或操作远程发送到汽车,例如 OTA 更新或远程锁定。
MongoDB 在对话式人工智能中的作用
MongoDB Atlas 是为该解决方案提供支持的开发者数据平台。以下是它改进架构的方式:
统一操作和向量数据:车辆信号、向量嵌入和用户会话被存储在一个统一且一致的平台中。
实现更相关的响应:Atlas Vector Search 能够从海量文档中瞬间检索出正确的数据块,为精准且上下文丰富的响应提供支持。
为企业级规模而构建:无论是单个模型还是全球范围的集群,MongoDB Atlas 都提供内置的横向可扩展性、高可用性以及企业级安全保障。
简化边缘和云同步:PowerSync 和 MongoDB 协同工作,顺畅连接车内和云环境。
该架构旨在扩展、演变和适应,就像它所支持的车辆一样。以 MongoDB 为核心,汽车制造商可以减少对数据处理的关注,更加专注于提供智能、实用且真正能在路上产生影响的车载体验。
数据模型方法
数据是任何 AI 驱动体验的核心。数据的质量、结构和可访问性是决定体验好坏的关键。在此解决方案中,MongoDB 的文档模型发挥着核心作用,让开发者能够以灵活、快速且可扩展的方式构建智能车载助手。
与依赖固化表格和复杂连接的传统关系数据库不同,MongoDB 将数据存储为灵活的文档。这样就能更容易地表示真实世界的数据结构,如车辆遥测或嵌入式数据块,与代码中使用的完全一致。这也意味着您可以更快地进行迭代,无需停机即可调整模型,并随着应用程序的发展构建新的功能。
为创新和速度而构建
document model 是根据开发者的思维方式设计的。需要将元数据添加到诊断数据中吗?或者将多个内容类型与单个手册部分相关联?在 MongoDB 中,这只需几行代码,而不需要模式重写。由于每个文档都是独立的,因此查询速度更快、更简单。连接更少,活动部件更少,构建时间更长。
这种灵活性还开启了更快的创新周期。随着新车功能的推出或用户期望的变化,团队可以实时调整数据模型,无需昂贵的迁移或应用程序停机。
AI 工作负载的自然选择
生成式人工智能依赖于丰富、多样和非结构化的数据。嵌入、上下文元数据、结构化引用,所有这些都有助于让 AI 系统变得更智能。MongoDB 非常适合这些类型的应用程序:
将向量嵌入、元数据和源内容存储在一个文档中。
将结构化数据与向量数据结合,无需在系统之间切换。
同时查询向量字段和非向量字段,以获得上下文准确的结果。
结果?更简单的架构、更好的性能以及更相关的 AI 响应。
示例 1:汽车手册嵌入
在使用检索增强生成 (RAG) 方法时,数据分块和嵌入的质量直接影响 AI 响应的质量。分段不当或缺失上下文可能会导致回答模糊或不准确。技术手册本质上很复杂。它们通常包含密集的文本、图表和领域特定的术语,使得检索正确的信息具有挑战性。
为了解决这个问题,我们将手册的每个数据块表示为一个文档。文档不仅包括文本及其向量嵌入,还包括元数据,例如内容类型(如安全、诊断)、页码、数据块长度以及相关数据块的链接。这些额外的上下文有助于系统理解各个信息片段之间的关联,这在高度技术性或相互依赖的主题中尤为重要。
MongoDB 的灵活文档模型使得捕捉这种复杂性变得简单。随着操作手册的更新迭代或新需求的涌现,我们可以逐步新增字段或调整结构,而无需进行完整的数据库迁移。这使得能够更精确地检索,并最终提供更有用的 AI 响应。
{ "_id": { "$oid": "67cc4b09c128338a8133b59a" }, "text": "Oil Pressure Warning Lamp. If it illuminates when the engine is running this indicates a malfunction. Stop your vehicle as soon as it is safe to do so and switch the engine off. Check the engine oil level. If the oil level is sufficient, this indicates a system malfunction.", "page_numbers": [ 23 ], "content_type": [ "safety", "diagnostic" ], "metadata": { "page_count": 1, "chunk_length": 1045 }, "id": "chunk_0053", "prev_chunk_id": "chunk_0052", "next_chunk_id": "chunk_0054", "related_chunks": [ { "id": "chunk_0048", "content_type": [ "safety" ], "relation_type": "same_context" }, { "id": "chunk_0049", "content_type": [ "safety" ], "relation_type": "same_context" }, ... ], "embedding": [ -0.002636542310938239, -0.005587903782725334, ... ], "embedding_timestamp": "2025-03-08T13:50:00.887107" }
示例 2:车辆信号数据
对于车辆信号,我们使用 COVESA 车辆信号规范(VSS)对数据进行了建模。VSS 提供了一种标准化的分层结构,用于描述实时信号,例如速度、加速度或诊断故障代码(DTC)。这是一种开放且可扩展的格式,能够在车辆平台之间实现更轻松的协作、系统集成和数据重用。
MongoDB document model 本身能够处理嵌套结构,因此可直接表示 VSS 层次结构。信号可以按逻辑分组,就像它们出现在 VSS 模型中一样,这与规范的树形结构完全一致。
图 3. VSS 数据模型是一种分层树结构,由可灵活组合的模块构建。来源:https://covesa.global/vehicle-signal-specification/
这种结构不仅能加快开发速度,还能确保 AI 工具和工作流始终如一地访问干净、结构化和有意义的数据。
{ "_id": { "$oid": "67e58d5f672b23090e57d478" }, "VehicleIdentification": { "VIN": "1HGCM82633A004352" }, "Speed": 0, "TraveledDistance": 0, "CurrentLocation": { "Timestamp": "2020-01-01T00:00:00Z", "Latitude": 0, "Longitude": 0, "Altitude": 0 }, "Acceleration": { "Lateral": 0, "Longitudinal": 0, "Vertical": 0 }, "Diagnostics": { "DTCCount": 0, "DTCList": [] } }
MongoDB document model 不仅仅是存储您的数据。它反映了现实世界的复杂性,使您可以更轻松地构建更智能的系统,以实时响应、适应用户需求并与平台共同成长。无论您是存储车辆诊断信息还是矢量编码手册,MongoDB 都为您提供更快构建智能体验的工具。
构建该解决方案
构建此解决方案可分为五个主要步骤。您将使用MongoDB Atlas托管数据,使用 Google Cloud 提供AI服务,使用 PowerSync流车辆数据,并使用全栈应用将所有内容连接在一起。您可以在 GitHub存储库中找到所需的所有资产和资源。
复制该演示数据库
在您的 Atlas 帐户中预配一个集群,并将演示所需的数据填充到数据库中。在存储库中可以找到一个数据转储文件,通过执行一个简单的 mongorestore 命令,即可快速复制包含所有必要数据和元数据的数据库。
配置您的 Google Cloud 环境
创建 Google Cloud项目并启用所需的 API:Speech-to-Text 、 Text-to-Speech 、 Document AI和 Vertex AI 。对于本地开发,请配置应用程序默认凭据,以便应用可以与 Google 服务无缝进行身份验证。 Google Cloud 文档中提供了详细说明。
运行应用程序。
将存储存储库到本地,并使用提供的模板创建 .env文件。配置环境后,运行npm install 以安装依赖项,然后使用npm 运行 dev 启动开发服务器。该应用可通过 http://localhost:3000 访问。
有关完整的实现细节,包括代码示例、数据转储和辅助工具脚本,请访问 GitHub 存储库。
关键要点
随着汽车体验向更加智能化和个性化的方向发展,该解决方案展示了汽车制造商如何利用生成式人工智能和 MongoDB 来提供有意义的车载交互。要点如下:
对话式 AI 始于正确的数据基础:丰富、具有上下文且易于访问的数据是驱动智能语音助手的动力源泉。MongoDB Atlas 将结构化遥测数据、非结构化操作手册与向量嵌入统一整合至开发者友好的单一平台,既消除了数据孤岛,又能更便捷地提供精准的实时响应。
MongoDB 加速从工厂到终端的创新进程:现代汽车应用需要灵活性和速度来完成预测性维护、故障诊断以及数字座舱系统的实现。MongoDB 的灵活模式、实时同步功能和水平可扩展性将帮助团队加快速度、更有效地开展协作,并提供差异化的汽车功能。
驾驶员已准备好迎接下一个语音助手:随着电动汽车、自动驾驶和智能安全系统重塑行业,对车载系统的期望从未如此之高。生成式人工智能让智能助手突破简单指令的限制,能够实现细腻的交互对话,而 MongoDB 则为开发者提供了规模化构建这类体验的工具。
使用的技术和产品
MongoDB 开发者数据平台
合作伙伴技术
作者
Dr. Humza Akhtar, MongoDB
Rami Pinto,MongoDB