머신 러닝 과 Vector Search를 사용하여 개인화되고 정확한 검색 경험을 제공하세요.
사용 사례: 생성형 인공지능
산업: 소매
제품: MongoDB Atlas, MongoDB Atlas Search, MongoDB Atlas Vector Search, MongoDB Change Streams, MongoDB Connector for Spark
파트너: Databricks
솔루션 개요
이 솔루션은 MongoDB의 유연한 데이터 모델과 Databricks의 고급 분석 통합하여 온라인 소매 플랫폼을 위한 AI 보강 검색 기능을 생성하여 보다 직관적이고 효율적인 쇼핑 경험을 제공합니다.
AI, 머신 러닝 및 MongoDB Atlas Vector Search를 사용하여 고객의 쇼핑 경험을 개인화하고 고객의 선호도 및 검색 기록에 부합하는 제품을 제안할 수 있습니다. 이를 통해 고객 만족도가 향상되고 판매가 촉진됩니다.
이 솔루션에서 MongoDB Atlas 다양한 대규모 전자상거래 데이터 세트를 효율적으로 관리하는 확장 가능한 데이터베이스 환경을 제공합니다. MongoDB Atlas Vector Search는 복잡한 검색 쿼리를 처리하여 고객이 부분적인 검색 로도 원하는 내용을 찾을 수 있도록 합니다. 마지막으로 Databricks는 강력한 머신 러닝 및 실시간 분석 기능을 제공하여 Vector Search의 정확성을 향상시킵니다. 이 프레임워크 금융 서비스, 의료, 보험과 같은 다른 산업에도 적용 할 수 있습니다.
참조 아키텍처
다음 두 다이어그램은 솔루션 아키텍처를 보여줍니다. 첫 번째 다이어그램은 전체 솔루션 아키텍처를 보여주고, 두 번째 다이어그램은 솔루션의 Vector Search 부분을 더 자세히 보여줍니다. 이러한 아키텍처는 이 솔루션에서 함께 작동합니다.
그림 1. 다양한 MongoDB Atlas 구성 요소, Databricks 노트북 및 데이터 워크플로를 갖춘 AI 강화 검색 엔진 의 아키텍처입니다.
그림 2. 벡터 검색 솔루션의 아키텍처는 MongoDB Atlas와 Databricks의 다양한 통합 구성 요소를 통해 데이터가 어떻게 흐르는지를 보여줍니다.
데이터 모델 접근 방식
이 솔루션으로 작업할 때 개발자는 데이터를 저장할 때 다형성 패턴 을 사용해야 합니다. 이 패턴 사용하면 컬렉션 내의 문서가 비슷하지만 동일하지는 않은 구조를 주식 경우에도 효율적인 쿼리가 가능합니다.
이 솔루션에서 각 제품 문서 _id
, price
또는 brandName
와 같은 공통 필드가 있습니다. 또한 color1
, ageGroup
또는 season
와 같이 제품 카테고리와 관련된 다양한 필드를 가질 수도 있습니다. MongoDB의 유연한 문서 데이터 모델 덕분에 동일한 컬렉션 내에서 서로 다른 제품 유형을 나타낼 때 균일성과 사용자 지정을 모두 지원 스키마 설계할 수 있습니다.
다음 코드 차단 제품 항목을 나타내는 문서 의 예시 제공합니다.
1 { 2 "_id": { 3 "$oid": "64934d5a4fb07ede3b0dc0d3" 4 }, 5 "colour1": "NA", 6 "ageGroup": "Adults-Women", 7 "link": "http://assets.myntassets.com/v1/images/style/properties/41b9db06cab6a17fef365787e7b885ba_images.jpg", 8 "brandName": "Baggit", 9 "fashionType": "Fashion", 10 "price": { 11 "$numberDouble": "375.0" 12 }, 13 "atp": { 14 "$numberInt": "1" 15 }, 16 "title": "Baggit Women Chotu Taj White Belt", 17 "gender": "Women", 18 "mfg_brand_name": "Baggit", 19 "subCategory": "Belts", 20 "masterCategory": "Accessories", 21 "score": { 22 "$numberDouble": "0.0" 23 }, 24 "season": "Summer", 25 "articleType": "Belts", 26 "baseColour": "White", 27 "id": "33464", 28 "discountedPrice": { 29 "$numberDouble": "324.0" 30 }, 31 "productDisplayName": "Baggit Women Chotu Taj White Belt", 32 "count": { 33 "$numberInt": "10" 34 }, 35 "pred_price": { 36 "$numberDouble": "0.8616750344336797" 37 }, 38 "price_elasticity": { 39 "$numberDouble": "0.0" 40 }, 41 "discount": { 42 "$numberDouble": "14.0" 43 } 44 }
솔루션 빌드
Atlas Vector Search 시작하기
Atlas Vector Search 빠른 시작 가이드를 방문하여 몇 분 안에 첫 번째 인덱스를 생성해 보세요.
애플리케이션 배포
To deploy your application locally, follow the README
instructions in this GitHub repository.
Databricks 작업 및 워크플로 만들기
To learn how to create Databricks jobs and workflows with JSON, see this Databricks documentation.
분석에 Databricks 노트북 사용
See this GitHub folder for notebooks.
주요 학습 사항
원시 데이터 변환: 트리거와 함수를 사용하여 MongoDB Atlas 에서 Databricks로 원시 데이터를 푸시할 수 있습니다. Spark 용 MongoDB Connector를 활용하여 다양한 머신 러닝 알고리즘에 맞게 데이터를 구성할 수도 있습니다.
실시간 데이터 처리: 실시간 데이터를 프로세스 제품 점수, 제품 프로모션, 추천 엔진과 같은 실행 가능한 인사이트를 얻을 수 있습니다.
유연한 스키마 사용: MongoDB의 유연한 문서 모델 사용하여 다형성 패턴 적용 할 수 있습니다. 이를 통해 동일한 컬렉션 내에 공유 필드와 고유 필드가 있는 문서를 저장 수 있습니다.
작성자
Francesco Baldissera, MongoDB
Ashwin Gangadhar, MongoDB
비탈 파이, MongoDB