AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.

커넥티드 차량을 위한 Edge AI 코파일럿

사용 사례: 인공 지능

산업: 제조 및 모빌리티, 모바일 및 엣지

제품: MongoDB Atlas, MongoDB Atlas Vector Search, MongoDB Atlas Triggers, Voyage AI

파트너: ObjectBox

커넥티드 차량은 즉각적인 핸즈프리 지원을 기대하는 운전자를 위해 지속적으로 센서 데이터를 생성합니다. 하지만 주차장, 터널, 시골길에서 연결이 끊기면 클라우드에 의존하는 모든 어시스턴트는 가장 중요한 순간에 작동하지 않게 됩니다.

이 솔루션은 엣지에서 AI 코파일럿을 실행하여 네트워크 장애 시에도 차량 내 지원을 지속적으로 제공합니다. 이 솔루션은 온디바이스 ObjectBox 데이터베이스를 사용하여 실시간 차량 텔레메트리와 사용자 매뉴얼을 저장합니다. 그런 다음 활성 네트워크 연결이 필요 없는 로컬 LLM 에이전트를 사용하여 문의를 처리합니다. 재연결 시 ObjectBox Sync Server가 이 엣지 데이터를 MongoDB Atlas로 자동으로 동기화합니다.

MongoDB Atlas는 중앙화된 클라우드 기록 시스템 역할을 합니다. 수동 콘텐츠에서 벡터 검색을 수행하고, time series 컬렉션 내에서 원격 분석 기록을 유지하며, Atlas Trigger를 통해 모든 동기화된 스냅샷을 완전히 쿼리 가능한 문서로 처리합니다.

인터넷 연결 없이 정확한 응답을 제공하는 차량 내 어시스턴트를 구축하기 위한 아키텍처는 차량 내 엣지 계층과 MongoDB Atlas 클라우드 계층의 두 계층으로 분할됩니다.

차량 내 엣지 계층은 Cockpit, 백엔드, 로컬 에이전트 및 ObjectBox 서비스가 차량에서 직접 통신하는 독립형 런타임을 구성합니다. 이 스택을 통해 어시스턴트는 MongoDB Atlas 없이도 지식을 조회하고 작동할 수 있으며, 연결이 복구되면 로컬 데이터가 MongoDB Atlas와 동기화됩니다. 엣지 계층은 다음 구성 요소를 사용합니다.

  • Cockpit UI: 다음.js로 빌드된 이 인터페이스는 실시간 게이지, 결함 코드 티커, 채판 및 지도를 표시하면서 모든 브라우저 호출하다을 동일 오리진 API 경로로만 제핕니다.

  • Python 백엔드: 텔레메트리 프록시, 음성 인식 및 음성 합성 변환, 에이전트 오케스트레이션을 처리하기 위해 REST 엔드포인트와 서버 전송 이벤트를 노출합니다.

  • LangChain 에이전트: Ollama를 통해 로컬 LLM과 통신하며, 온라인 및 오프라인 실행 경로를 분리하기 위해 두 개의 사전 컴파일된 그래프를 관리합니다.

  • 임베딩 파이프라인: 차량 매뉴얼은 먼저 더 작은 텍스트 청크로 나뉩니다. 그런 다음 각 청크는 Voyage AI의 voyage-4-nano 모델을 사용하여 1,024차원 임베딩으로 변환되며, 결과 임베딩은 해당 청크와 함께 저장됩니다.

  • ObjectBox 서비스: C++ 기반의 세 가지 고유한 동기화 클라이언트가 사용자 매뉴얼 청크와 해당 임베딩, 차량 텔레메트리, 대화 기록을 로컬에 저장합니다.

  • ObjectBox HNSW 벡터 검색: ObjectBox는 로컬에 저장된 수동 임베딩에 대해 HNSW 벡터 인덱스를 유지합니다. 그 결과 인덱스는 차량에서 직접 근사 최근접 이웃 검색을 할 수 있게 하여, 어시스턴트가 오프라인 상태에서도 MongoDB Atlas 연결에 의지하지 않고 관련 수동 콘텐츠를 조회할 수 있게 됩니다.

  • 원격 분석 생성기: VSS 스냅샷을 캡처하여 2초 간격으로 로컬 원격 분석 저장 에 직접 저장합니다.

MongoDB Atlas는 차량의 로컬 ObjectBox 저장소와 연결된 대응 요소 역할을 합니다. 연결이 가능하면 동기화된 수동 청크와 임베딩, 차량 원격 분석 및 대화 기록을 수신하여 에지 계층이 오프라인 상태에서도 작동하는 동안 클라우드 기반 지속성을 제공합니다. 클라우드 계층은 다음 구성 요소를 사용합니다.

  • 데이터 복제: ObjectBox 동기화 서버는 클라우드에 연결하여 MongoDB 커넥터를 통해 엣지 데이터 저장소를 MongoDB Atlas로 직접 동기화합니다. 동기화에는 수동 청크, 해당 임베딩, 원격 분석 및 대화 기록이 포함됩니다.

  • MongoDB Atlas 클러스터: 복제된 데이터 컬렉션을 유지하고 로컬 ObjectBox 저장소보다 더 많은 저장 용량을 제공합니다. MongoDB Atlas로의 동기화를 통해 이 솔루션은 차량의 로컬 저장 용량에 구애받지 않고 더 많은 양의 수동 콘텐츠, 원격 분석, 대화 기록 및 기타 장기 데이터를 유지할 수 있습니다.

  • Atlas Vector Search: 동기화된 수동 임베딩을 인덱싱하고 연결이 가능할 때 전체 수동 콘텐츠에 대해 클라우드 측 벡터 검색을 제공합니다.

  • Atlas Triggers: 들어오는 원격 분석 스냅샷을 상태 문서로 자동 변환하는 동시에 전용 time-series 기록 로그를 확장합니다.

엣지 및 클라우드 계층이 설정되면 실행 흐름은 드라이버의 요청이 Cockpit에서 로컬 백엔드 및 에이전트로 시스템을 통해 어떻게 이동하는지 설명합니다. 클라우드 동기화는 연결이 가능할 때 발생합니다.

드라이버가 입력하거나 말하면 백엔드는 요청 스트림을 에이전트에 직접 전달합니다. 에이전트는 LangGraph를 사용하여 쿼리를 평가하고 호출할 도구를 결정합니다.

자동차 매뉴얼은 MongoDB Voyage AI의 1,024차원 voyage-4-nano 모델로 청크되고 임베딩됩니다. 동일한 임베딩 표현이 ObjectBox에 로컬로 저장되고 MongoDB Atlas로 복제되며, 여기서 MongoDB Atlas Vector Search를 위해 인덱싱됩니다. 엣지에서 ObjectBox의 HNSW 인덱스는 자동차 매뉴얼 임베딩에 대한 로컬 근사 최근접 이웃 검색을 지원합니다. 클라우드에서 MongoDB Atlas Vector Search는 동기화된 매뉴얼 콘텐츠에 대해 해당 벡터 검색 역량을 제공합니다.

요청 에 차량 정보가 포함된 경우 에이전트 운전자의 질문에 가장 적합한 원격 측정 도구를 결정하고 이를 호출합니다. 선택한 도구는 요청 에 따라 현재 차량 상태, 관련 VSS 신호, 오류 코드 또는 파생된 상태 정보를 적절한 텔레메트리 저장 에서 검색합니다. 선택한 도구가 DTC를 반환하면 에이전트 전용 번역 도구를 호출하여 코드와 관련 신호를 영향을 받는 시스템, 의미, 심각도 및 다음 단계에 대한 명확한 설명으로 변환할 수 있습니다.

document model은 이러한 형태를 하나의 데이터베이스에 저장합니다.

  • 구조화된 텔레메트리

  • 자유 텍스트 수동 청크

  • 채팅 기록

  • 시계열 텔레메트리 데이터

  • 차량의 마지막 상태

각 원격 분석 스냅샷은 하나의 문서입니다. 스냅샷은 중첩된 JSON으로 저장 여러 도메인에 걸쳐 약 1300 개의 신호로 구성된 전체 VSS 차량 트리를 보유합니다. 이 모델은 해당 도메인 전반에 걸쳐 고정된 스키마가 필요하지 않습니다.

ObjectBox는 원격 분석 페이로드를 string으로 저장합니다. MongoDB 커넥터는 JsonToNative 외부 유형을 통해 이를 Atlas의 네이티브 중첩 문서로 확장하므로 클라우드 쿼리는 정확한 VSS 경로로 필드를 지정합니다.

이러한 데이터 모델은 검색 가능한 매뉴얼 지식, 대화 기록, 원시 차량 원격 분석, 현재 차량 상태, 과거 원격 분석 등 솔루션의 핵심 도메인을 함께 나타냅니다. 이러한 데이터 유형을 분리하면 효율적인 검색이 가능하고, 실시간 차량 상태 쿼리를 지원하며, 대화 컨텍스트를 보존하고, 장기 원격 분석 기록을 MongoDB Atlas에서 확장 가능한 쿼리 가능하게 유지할 수 있습니다. 이 솔루션에 대한 컬렉션은 다음과 같습니다.

  • manual_chunks: 1024차원 Voyage AI 임베딩을 사용한 벡터 검색용 사용자 매뉴얼 텍스트 청크입니다.

  • conversations: 채팅 기록은 사용자와 도움이의 답변을 모두 포함하며, 각 도움이가 질문에 답변하는 데 사용하는 도구도 포함합니다.

  • objectbox_telemetry: 엣지에서 동기화된 문서당 원시 스냅샷.

  • telemetry-status: trigger에 의해 작성된 현재 차량 상태(차량당 문서 1개).

  • telemetry-data: MongoDB Time Series 컬렉션. Atlas trigger는 스냅샷 당 하나의 기록을 덧붙입니다. 그러므로 데이터가 증가할수록 이력 쿼리는 효율적으로 유지됩니다.

전체 구현 세부 정보는 Github 리포지토리에서 README을(를) 확인하세요. 다음 단계에서는 애플리케이션을 만드는 방법을 설명합니다.

1

다운로드 프로젝트를 진행하고 README에서 필요한 구성을 검토하세요.

2

MongoDB Atlas 클러스터를 프로비저닝하고 필요한 데이터베이스 액세스를 구성합니다.

3

로컬 ObjectBox 저장소와 차량 측 서비스를 설정합니다.

4

ObjectBox 동기화 서버와 MongoDB 커넥터를 구성하여 로컬 Objectbox 저장소와 MongoDB Atlas 간에 데이터를 동기화합니다.

5

수동 청크와 해당 임베딩을 채워 어시스턴트가 로컬 및 클라우드에서 콘텐츠를 조회할 수 있도록 합니다.

6

Atlas가 클라우드 측 의미론적 검색을 수행할 수 있도록 동기화된 수동 임베딩에 벡터 검색 인덱스를 구성합니다.

7

트리거하다를 구성하여 동기화된 원격 분석을 처리하고, 현재 차량 상태를 유지하며, 기록을 time series 컬렉션에 추가합니다.

8

리포지토리의 설정 지침에 따라 동기화 서비스, 백엔드 및 Cockpit 애플리케이션을 실행합니다.

9

연결된 상태에서 도움이를 테스트하고, 오프라인으로 작동하는지 확인하며, 연결이 복원된 후에 데이터가 동기화되는지 확인합니다.

  • 엣지 권한 유지: 온디바이스 ObjectBox 저장소는 연결 없이 읽기를 제공하고 쓰기 (write)를 수락하므로 연결 상태가 좋지 않아도 어시스턴트가 작동합니다.

  • 쿼리가 있는 곳에서 벡터 검색 실행: MongoDB Voyage AI 임베딩 모델(voyage-4-nano, 1024 차원)은 엣지에서의 ObjectBox 벡터 검색과 클라우드에서의 Atlas Vector Search를 지원하므로 모드 전반에서 답변이 일관되게 유지됩니다.

  • Time Series로 원격 분석 기록 저장: MongoDB Atlas Trigger는 각 스냅샷을 MongoDB time series 컬렉션에 씁니다 (write).

  • 하나의 스냅샷을 하나의 문서로 모델링: 유연한 document model은 고정된 교차 도메인 스키마 없이 VSS 신호를 저장합니다.

  • 연결 끊김을 허용하도록 서비스 설계: 엣지는 오프라인 상태에서 쓰기 (write)를 버퍼링하고 다시 연결될 때 MongoDB Atlas와 조정합니다.

  • Timothy Marland, MongoDB

  • Dorottya Nyárády, MongoDB