이 빠른 시작은 벡터 임베딩이 포함된 샘플 문서를 Atlas 클러스터 또는 로컬 Atlas 배포에 로드하고, 해당 임베딩에 Atlas Vector Search 인덱스를 생성한 다음, 시맨틱 검색을 수행하여 쿼리와 유사한 문서를 반환하는 방법을 설명합니다.
소요 시간: 15분
목표
이 빠른 시작은 다음 단계를 완료합니다.
plot_embedding_voyage_3_large
필드를vector
유형으로 인덱싱하는sample_mflix.embedded_movies
컬렉션에 대한 인덱스 정의를 만듭니다.plot_embedding_voyage_3_large
필드에는 Voyage AI의voyage-3-large
임베딩 모델을 사용하여 생성된 임베딩이 포함되어 있습니다. 인덱스 정의는2048
벡터 차원을 지정하고dotProduct
를 사용하여 유사성을 측정합니다.샘플
sample_mflix.embedded_movies
컬렉션을 검색하는 Atlas Vector Search 쿼리를 실행합니다. 이 쿼리는$vectorSearch
단계를 사용하여 Voyage AI의voyage-3-large
임베딩 모델을 사용해 생성된 임베딩이 포함된plot_embedding_voyage_3_large
필드를 검색합니다. 쿼리는 time travel이라는 문자열에 대한 벡터 임베딩을 사용하여plot_embedding_voyage_3_large
필드를 검색합니다. 최대150
개의 가장 가까운 이웃을 고려하며 결과로10
개의 문서를 반환합니다.
자세한 내용은 학습 요약을 참조하세요.
학습 요약
이 빠른 시작은 제공된 쿼리와 의미적으로 관련된 텍스트가 포함된 문서를 Atlas 클러스터에서 검색하는 데 중점을 두었습니다. 하지만 Atlas 클러스터에 기록할 수 있는 모든 유형의 데이터(예: 이미지, 동영상)를 나타내는 임베딩에 대한 벡터 검색 인덱스를 만들 수 있습니다.
샘플 데이터
이 빠른 시작 가이드는 영화에 대한 세부 정보를 포함하는 sample_mflix.embedded_movies
컬렉션을 사용합니다. 컬렉션의 각 문서에서 plot_embedding_voyage_3_large
필드는 plot
필드의 문자열을 나타내는 벡터 임베딩이 포함되어 있습니다. 컬렉션의 문서 스키마에 대한 자세한 내용은 샘플 Mflix 데이터 세트를 참조하세요.
소스 데이터와 해당 벡터 임베딩을 동일한 문서에 저장하면 복잡한 쿼리나 하이브리드 검색에 두 필드를 모두 활용할 수 있습니다. 특정 사용 사례에서 다양한 벡터 임베딩 모델의 성능을 테스트할 때 워크플로를 간소화하기 위해 다양한 임베딩 모델에서 생성된 벡터 임베딩을 동일한 문서에 저장할 수도 있습니다.
벡터 임베딩
sample_mflix.embedded_movies
컬렉션과 예제 쿼리의 벡터 임베딩은 Voyage AI voyage-3-large
임베딩 모델을 사용하여 생성되었습니다. 임베딩 모델의 선택은 벡터 차원과 벡터 검색 인덱스에서 사용하는 벡터 유사성 함수에 영향을 줍니다. 원하는 임베딩 모델을 모두 사용할 수 있으며 특정 사용 사례에 따라 모델마다 정확도가 다를 수 있으므로 다양한 모델을 실험해보는 것이 좋습니다.
자신의 데이터에 대한 벡터 임베딩을 생성하는 방법을 알아보려면 벡터 임베딩 생성 방법을 참조하세요.
벡터 인덱스 정의
인덱스는 컬렉션의 문서에서 일부 데이터를 보관하는 데이터 구조로, 특정 쿼리에 대한 데이터베이스 성능을 향상합니다. 벡터 검색 인덱스는 벡터 임베딩이 포함된 필드를 가리키며 벡터의 크기는 물론 쿼리의 벡터와 데이터베이스에 저장된 벡터 간의 유사성을 측정하는 함수도 포함합니다.
이 빠른 시작에 사용된 voyage-3-large
임베딩 모델은 데이터를 2048 차원의 벡터 임베딩으로 변환하고 cosine
함수를 지원하므로 이 벡터 검색 인덱스는 동일한 수의 벡터 차원 및 유사성 함수를 지정합니다.
벡터 검색 쿼리
이 빠른 시작에서 실행한 쿼리는 집계 파이프라인으로, $vectorSearch
단계에서 ANN(Approximate Nearest Neighbor) 검색을 수행한 다음 $project
단계에서 결과를 세부화합니다. ENN(Exact Neart Neighbor) 사용 방법이나 filter
옵션을 사용하여 벡터 검색 범위를 좁히는 방법을 포함하여 벡터 검색 쿼리의 모든 옵션을 보려면 벡터 검색 쿼리 실행을 참조하세요.
다음 단계
데이터에서 임베딩을 생성하고 Atlas에 로드하는 방법을 알아보려면 임베딩 생성을 참조하세요.
검색 증강 생성(RAG)을 구현하는 방법에 대해서는 Atlas Vector Search를 활용한 검색 증강 생성(RAG)을 참조하세요.
Atlas Vector Search를 인기 있는 AI 프레임워크 및 서비스와 통합하려면 MongoDB Atlas를 AI 기술과 통합하는 방법을 참조하세요.
Atlas Vector Search를 사용하여 프로덕션에 적합한 AI 챗봇을 빌드하려면 MongoDB 챗봇 프레임워크를 참조하세요.
API 키나 크레딧 없이RAG를 구현 방법을 학습 Atlas Vector Search 사용하여 로컬 RAG 구현 구축하기를 참조하세요.