MongoDB Atlas와 Google Cloud 도구 모음을 사용하여 실시간 음성 기반 자동차 경험을 만드는 방법을 학습하세요. 차량 데이터, 사용자 컨텍스트, 차량 매뉴얼 임베딩을 결합하여 운전자의 요구에 맞게 적응하는 스마트하고 확장 가능한 차량 내 보조 시스템을 만듭니다.
산업: 제조 및 모빌리티
제품: MongoDB Atlas, MongoDB Atlas Vector Search
파트너: Google Cloud, PowerSync
솔루션 개요
자동차 제조업체는 지능형 사용자 친화적인 디지털 시스템을 통해 차량을 차별화해야 하는 부담이 커지고 있습니다. 차량 내 음성 어시스턴트는 이를 위한 핵심적인 방법이지만, 대부분은 내비게이션이나 음악 제어와 같은 기본 명령으로 제한됩니다. 생성형 인공지능 사용하면 이러한 제한을 뛰어넘어 운전 중 개인화되고 다이내믹한 상호 작용을 제공할 수 있습니다.
이 솔루션은 Gen AI 및 MongoDB Atlas 기반 실시간 음성 어시스턴트를 빌드 방법을 보여줍니다. 이 아키텍처는 차량 원격 측정, 사용자 기본 설정, 자동차 매뉴얼을 통합하여 각 드라이버의 요구 사항에 적응하는 차량 내 비서를 생성합니다. 개발자는 MongoDB Atlas의 유연한 문서 모델 과 내장 벡터 검색을 사용하여 데이터 복잡성을 간소화하고 기능을 더 빠르게 제공하여 더 나은 차내 환경을 경험할 수 있습니다.

그림 1. 작동 중인 생성형 AI 차량 내 어시스턴트
이 솔루션을 사용하면 다음을 수행할 수 있습니다.
구조화된 데이터와 비구조화된 데이터를 통합하여 AI 시스템의 문맥을 확장합니다.
확장 가능한 클라우드 네이티브 아키텍처를 통해 실시간 상호 작용을 활성화합니다.
Atlas Vector Search로 구동되는 시맨틱 검색을 통해 개인화된 경험을 제공합니다.
이 솔루션은 자동차 산업에 중점을 두고 있지만 운송, 의료, 숙박, 소비자 전자 제품과 같은 산업에 적용하여 고객 참여 높이고 마찰을 줄이며 지원 간소화할 수 있습니다. 이 아키텍처는 스마트 홈 어시스턴트, 디지털 컨시어지, AI 지원 의료 분류 시스템과 같은 음성 전달, 데이터 중심 경험을 위한 토대를 제공합니다. 다양한 업계에서 생성형 인공지능 및 MongoDB 통해 음성의 힘을 활용하여 사용자 경험을 혁신하고 있습니다.
참조 아키텍처
이 아키텍처는 Google Cloud의 AI 기능과 함께 MongoDB Atlas 데이터 계층으로 사용하여 빠르고 안정적이며 개인화된 상호 작용을 보장합니다.
그림 2. 생성형 AI 차량 내 어시스턴트의 참조 아키텍처
이 솔루션은 차량과 클라우드에서 호스팅되는 구성 요소를 사용합니다.
내장 구성 요소
이 시스템들은 차량 내 운전자 가까이에서 실행되며, 실시간 음성 상호작용을 가능하게 합니다.
자동차 콘솔: 사용자가 어시스턴트와 대화하고 응답을 받는 자동차 내 인터페이스입니다. 이 데모에서는 실제 차량의 임베디드 시스템을 나타내는 웹 애플리케이션 사용합니다.
로컬 데이터 저장: 차량은 SQLite를 기반으로 한 경량 에지 데이터베이스인 PowerSync SDK를 사용하여 주요 신호를 로컬에 저장합니다. 이것은 진단 데이터에 빠르게 액세스할 수 있도록 보장하며, 데이터를 MongoDB Atlas와 동기화 상태로 유지합니다.
어시스턴트 백엔드: 이 구성 요소는 대화를 관리합니다. Google Cloud 음성 텍스트 변환을 사용하여 음성 텍스트 변환을 처리합니다. 쿼리 에 따라 직접 응답하거나 도구를 호출하여 더 많은 데이터를 가져오거나 조치 취합니다. 이 데모에는 네 가지 샘플 조치가 포함되어 있습니다.
매뉴얼 참조: Atlas Vector Search를 사용하여 자동차 매뉴얼에서 관련 정보를 조회합니다.
진단 실행: 로컬 차량 데이터에서 현재 진단 코드를 가져옵니다.
경로 재계산: 운전자가 정차 지점을 추가하면 경로를 조정합니다.
채팅 종료: 대화를 원활하게 종료합니다.
이 솔루션은 다음 객체 사용하여 어시스턴트 백엔드 도구를 정의합니다. 솔루션은 채팅 기능을 시작할 때 객체 를 Google Cloud로 전달합니다.
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: {}, }, }, ], }, ];
클라우드 구성 요소
이러한 구성 요소는 Google Cloud 또는 MongoDB Atlas 에 저장되며 AI 인텔리전스, 확장 가능한 저장, 데이터 처리 기능을 제공합니다.
데이터 수집: 자동차 설명서와 같은 비정형 콘텐츠는 Google Cloud 저장소에 업로드됩니다. 이 작업은 Pub/Sub, Cloud Run, 및 Document AI를 사용하여 PDF를 청크로 분할하는 파이프라인을 트리거합니다. Vertex AI는 이러한 청크에 대한 임베딩을 생성하고, 시맨틱 검색을 위해 MongoDB Atlas에 저장합니다.
음성 API 제공: Google Cloud의 Text-to-Speech 및 음성-텍스트는 자연스러운 음성 상호 작용을 처리하다. Vertex AI 검색 쿼리를 위한 텍스트 임베딩을 제공하고 어시스턴트가 사용하는 LLM인 Gemini를 강화합니다.
데이터 저장 및 검색: MongoDB Atlas는 다음을 저장합니다.
Atlas Vector Search를 통해 검색하기 위한 수동 청크 임베딩.
사용자 기본 설정 및 세션 데이터.
차량 신호 — 최신 값과 전체 time-series 텔레메트리.
Atlas Vector Search 는 사용자 질문을 가장 관련성이 높은 매뉴얼 섹션과 일치시키는 데 사용되어 RAG(검색-증강 생성) 흐름을 활성화합니다. 구조화, 반구조화 및 벡터 데이터를 한 곳에서 네이티브 지원 MongoDB는 어시스턴트 로직을 간소화하고 개발 속도를 높입니다.
데이터 동기화: 이 솔루션은 차량과 클라우드 간의 양방향 동기화를 위해 PowerSync를 사용합니다.
차량에서 클라우드로: 차량은 진단 코드, 속도 또는 가속도와 같은 원격 분석 데이터를 전송합니다. 클라우드 실행 함수는 이를 Atlas에서 처리하고 저장합니다.
클라우드에서 차량으로: OTA 업데이트나 원격 잠금과 같은 업데이트 또는 조치를 원격으로 차량에 전송할 수 있습니다.
대화형 AI 의 MongoDB
MongoDB Atlas 다음과 같은 방식으로 이 솔루션 아키텍처를 개선합니다.
운영 및 벡터 데이터 통합: 차량 신호, 벡터 임베딩 및 사용자 세션이 단일 플랫폼에 함께 저장됩니다.
관련성 높은 응답 지원: Atlas Vector Search 대용량 문서에서 올바른 청크를 즉시 조회하여 정확하고 상황에 맞는 풍부한 응답을 제공합니다.
엔터프라이즈 규모에 맞춘 설계: 단일 모델이든 글로벌 플릿이든, MongoDB Atlas는 내장형 확장성, 고가용성 및 엔터프라이즈급 보안을 제공합니다.
엣지와 클라우드 동기화 간소화: PowerSync와 MongoDB는 차량 내 환경과 클라우드 환경을 원활하게 연결하여 동기화를 실현합니다.
이 아키텍처는 지원하는 차량과 마찬가지로 확장하다, 발전하고, 적응하도록 설계되었습니다. MongoDB 핵심으로 하는 자동차 제조업체는 데이터 연결보다는 도로에서 진정으로 변화를 가져오는 스마트하고 유용한 차량 내 경험을 제공하는 데 더 집중할 수 있습니다.
데이터 모델 접근 방식
데이터의 품질, 구조, 접근성은 AI 기반 환경에서 매우 중요합니다. 이 솔루션에서 MongoDB의 문서 모델 지능형 차량 내 비서를 구축하는 개발자에게 유연성, 속도, 확장하다 지원합니다.
엄격한 테이블과 복잡한 조인에 의존하는 기존 관계형 데이터베이스와 달리 MongoDB 데이터를 유연한 문서로 저장합니다. 이를 통해 차량 원격 측정 또는 임베디드 지식 청크와 같은 실제 데이터 구조를 코드에서 사용되는 것과 정확히 동일하게 표현할 수 있습니다. 또한 더 빠르게 반복하고, 다운타임 없이 모델을 조정하고, 애플리케이션 의 발전에 따라 새로운 기능을 빌드 수 있습니다.
혁신과 속도를 고려한 빌드
document model 개발자를 위해 설계되었습니다. MongoDB의 유연한 스키마 사용하면 데이터 모델 을 쉽게 변경하고 업데이트 수 있습니다. 새로운 차량 기능이 출시되거나 사용자 기대치가 변경됨에 따라 팀은 값 비싼 마이그레이션이나 앱 다운타임 없이 즉시 데이터 모델 발전시킬 수 있습니다. 또한 각 문서 독립형이므로 쿼리가 더 빠르고 간단합니다.
AI 워크로드를 위한 최적의 선택
생성형 인공지능 풍부하고 다양하며 구조화되지 않은 데이터에서 번창합니다. 임베딩, 컨텍스트 메타데이터, 구조화된 참조는 모두 AI 시스템 개선에 기여합니다. MongoDB 로 다음 조치를 수행할 수 있습니다.
벡터 임베딩, 메타데이터 및 소스 콘텐츠를 하나의 문서에 저장합니다.
시스템 간 이동 없이 구조화된 데이터와 벡터 데이터를 결합합니다.
쿼리 벡터 필드와 비벡터 필드를 함께 사용하여 문맥에 맞는 정확한 결과를 얻으세요.
예시 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 도구와 워크플로가 깨끗하고 구조적이며 의미 있는 데이터에 일관적인 액세스 할 수 있도록 보장합니다.
다음 문서 VSS를 준수하는 차량 신호의 예시 표현입니다.
{ "_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의 문서 모델 데이터만 저장 하지 않습니다. 실제 세계의 복잡성을 반영하여 실시간 응답하고, 사용자 요구 사항에 적응하고, 플랫폼과 함께 성장하는 더 스마트한 시스템을 더 쉽게 빌드 할 수 있습니다. 차량 진단이든 벡터 인코딩된 매뉴얼을 저장하든, MongoDB 지능형 경험을 더 빠르게 빌드 할 수 있는 도구를 제공합니다.
솔루션 빌드
이 솔루션을 구축하는 과정은 아래에 설명된 단계로 나눌 수 있습니다. MongoDB Atlas 사용하여 데이터를 호스팅하다 하고, AI 서비스를 위한 Google Cloud, 차량 데이터를 스트림 PowerSync, 전체 스택 앱 사용하여 모든 것을 하나로 연결할 수 있습니다. 필요한 모든 자산과 리소스는 GitHub 리포지토리 에서 찾을 수 있습니다. 자세한 지침은 리포지토리의 README를 참조하세요.
데모 데이터베이스 복제
Atlas 계정 내에서 클러스터 프로비저닝하고 데모에 필요한 데이터로 데이터베이스 채웁니다. 리포지토리 내부에서 데이터 덤프를 찾을 수 있어 하나의 빠른 mongorestore 명령으로 필요한 모든 데이터와 메타데이터 포함된 데이터베이스 빠르게 복제할 수 있습니다.
Google Cloud 환경 구성
Google Cloud Platform 프로젝트 만들고 필수 API인 음성 텍스트 변환, 텍스트 음성 변환, 문서 AI 및 꼭짓점 AI 활성화. 로컬 개발의 경우 앱 Google 서비스에서 원활하게 인증할 수 있도록 애플리케이션 기본 자격 증명을 구성합니다. 자세한 지침은 Google Cloud Platform 문서에 나와 있습니다.
애플리케이션을 실행합니다.
로컬에서 리포지토리 복제하고 제공된 템플릿을 사용하여 .env 파일 만듭니다. 환경이 구성되면 npm install 를 실행 종속성을 설치한 다음 npm run
dev로 개발 서버 시작합니다. 앱은 http://localhost:3000에서 사용할 수 있습니다.
주요 학습 사항
대화형 AI 올바른 데이터 기반에서 시작됩니다. 액세스할 수 있는 풍부하고 상황에 맞는 데이터는 지능형 음성 어시스턴트를 강화하는 것입니다. MongoDB Atlas 구조화된 원격 분석, 구조화되지 않은 매뉴얼, 벡터 임베딩을 개발자 친화적인 단일 플랫폼으로 통합하여 데이터 사일로를 제거하고 관련성 있는 실시간 응답을 더 쉽게 제공 있도록 합니다.
MongoDB 공장에서 결승선까지 혁신을 가속화합니다: 최신 자동차 애플리케이션은 예측 유지 관리 및 진단에서 디지털 콕핏 시스템에 이르기까지 유연성과 속도를 요구합니다. MongoDB의 유연한 스키마, 실시간 동기화 기능, 수평 확장성 팀이 더 빠르게 움직이고, 더 효과적으로 협업하며, 차량을 차별화 설정하다 기능을 제공하는 데 도움이 됩니다.
**드라이버**는 차세대 음성 비서에 대한 준비가 되어 있습니다: 전기 자동차, 자율성, 스마트 안전 시스템을 통해 고객은 차량 내 시스템에 대한 기대치가 높습니다. 제너레이티브 AI 는 어시스턴트가 미묘한 인터랙티브 대화를 전달할 수 있도록 하며, MongoDB 개발자에게 이러한 경험을 확장하다 로 빌드 할 수 있는 도구를 제공합니다.
작성자
Dr. Humza Akhtar, MongoDB
Rami Pinto, MongoDB