Docs Menu
Docs Home
/
Atlas

MongoDB Vector Search 개요

Atlas 벡터 데이터베이스 로 사용하면 MongoDB Vector Search를 사용하여 다른 MongoDB 데이터와 함께 벡터 데이터를 원활하게 검색 하고 인덱스 수 있습니다. MongoDB Vector Search를 사용하면 시맨틱 의미를 기반으로 데이터를 쿼리 하고, 벡터 검색 전체 텍스트 검색 과 결합하고, 컬렉션 의 다른 필드에서 쿼리를 필터하다 사용 사례 에 가장 관련성이 높은 결과를 조회 할 수 있습니다.

MongoDB Vector Search를 사용하여 RAG(검색 강화 생성)를 구현하여 AI 애플리케이션과 에이전트 시스템을 강화하세요. 또한 MongoDB Vector Search를 널리 사용되는 AI 프레임워크 및 서비스와 통합하여 AI 애플리케이션 및 에이전트를 빠르게 빌드 할 수 있습니다.

MongoDB 벡터 검색 시작하기

참고

MongoDB Vector Search는 6.0.117.0.2 MongoDB v,6 016v 이상을 실행 클러스터에서 ANN 검색7 010지원하고, MongoDB v.., v 를 실행 클러스터에서 ENN 검색 지원합니다..,7 3v..2 이상.

벡터 검색은 데이터의 의미론적 또는 기본 의미를 기반으로 결과를 반환하는 검색 방법입니다. 일치하는 텍스트를 찾는 기존의 전체 텍스트 검색과 달리 벡터 검색은 다차원 공간에서 검색 쿼리에 가까운 벡터를 찾습니다. 벡터가 쿼리에 가까울수록 의미가 더 유사합니다.

벡터 검색은 검색 쿼리와 데이터의 의미를 해석함으로써 검색자의 의도와 검색 컨텍스트를 고려하여 보다 관련성 높은 결과를 검색할 수 있도록 합니다.

예를 들어, 'red fruit(빨간 과일)'이라는 용어를 검색한 경우, 전체 텍스트 검색은 이 키워드가 명시적으로 포함된 데이터만 반환합니다. 그러나 시맨틱 검색은 사과나 딸기와 같이 색깔이 빨간색인 과일과 같이 의미가 유사한 데이터를 반환할 수 있습니다.

MongoDB Vector Search는 다음과 같은 벡터 검색 사용 사례를 지원합니다.

  • 시맨틱 검색: ANN 또는 ENN 검색 알고리즘을 사용하여 의미적 유사성을 기반으로 벡터 임베딩을 쿼리합니다.

    자세한 내용은 시맨틱 검색 수행 방법벡터 검색 쿼리 실행 방법을 참조하세요.

  • 하이브리드 검색: 벡터 검색과 전체 텍스트 검색을 포함하여 여러 검색 쿼리의 결과를 결합합니다. 자세한 내용은 하이브리드 검색 수행 방법을 참조하세요.

  • 생성 검색: MongoDB Vector Search를 사용하여 RAG(검색 강화 생성)를 구현하여 생성 AI 애플리케이션과 관련된 데이터를 조회 .

    RAG를 구현 방법을 학습 MongoDB Vector Search를 사용한 RAG를 참조하세요. 에이전트 RAG 구현을 포함하여 벡터 검색 사용하여 AI 에이전트를 빌드 방법을 학습 MongoDB 로 AI 에이전트 빌드를 참조하세요.

모든 AI 제공자 의 임베딩 및 생성 모델과 함께 MongoDB Vector Search를 사용할 수 있습니다. MongoDB 와 파트너사는 AI 기반 애플리케이션에서 MongoDB Vector Search를 활용하는 데 도움이 되는 특정 제품 통합도 제공합니다. 이러한 통합에는 벡터 검색, RAG 및 AI 에이전트를 빠르게 구현 활성화 있는 프레임워크, 플랫폼 및 도구가 포함됩니다.

자세한 학습 은 MongoDB 와 AI 기술 통합을 참조하세요.

벡터

벡터는 데이터를 여러 차원으로 표현하는 숫자 배열입니다. 벡터는 텍스트, 이미지, 오디오 데이터부터 비정형 데이터까지 모든 종류의 데이터를 표현할 수 있습니다. 의미적 유사성은 벡터 사이의 거리를 측정하여 결정됩니다.

벡터 차원은 배열에 있는 요소의 수를 나타내며, 따라서 벡터가 그려지는 벡터 공간의 차원 수를 나타냅니다.

구체적으로 MongoDB Vector Search는 고차원 벡터 유형인 고밀도 벡터를 사용하여 더 작은 저장 과 풍부한 의미를 제공합니다. 희소 벡터와 달리 고밀도 벡터는 더 많은 데이터로 압축할 수 있으므로 MongoDB Vector Search는 더 복잡한 관계를 캡처할 수 있습니다.

벡터 임베딩

벡터 임베딩은 데이터를 표현하기 위해 사용하는 벡터입니다. 이러한 임베딩을 통해 데이터의 의미 있는 관계를 캡처하고 시맨틱 검색 및 조회와 같은 작업이 가능해집니다. 데이터를 임베딩 모델을 통해 전달하여 벡터 임베딩을 생성하고, 이러한 임베딩을 Atlas에서 문서 필드에 저장할 수 있습니다.

MongoDB Vector Search는 쿼리 벡터에 가장 가까운 벡터 임베딩을 식별하여 의미론적 유사성을 결정합니다.

자세한 내용은 벡터 임베딩을 만드는 방법을 참조하세요.

임베딩 모델

임베딩 모델은 데이터를 벡터 임베딩으로 변환하는 데 사용하는 알고리즘입니다. 이를 위해 임베딩 모델은 대규모 데이터 코퍼스에 대해 학습된 머신 러닝 모델인 LLM을 사용하여 데이터의 의미를 포착하는 벡터 임베딩을 생성합니다.

선택한 임베딩 모델에 따라 벡터 임베딩의 크기가 결정됩니다. 이러한 차원을 MongoDB Vector Search 인덱스 의 필드 로 지정해야 합니다.

임베딩 모델은 학습 방식에 따라 다릅니다. 따라서 데이터와 사용 사례에 따라 모델별로 장점이 다릅니다. 자세한 내용은 임베딩 모델 선택을 참조하세요. 최신 임베딩 모델을 위해 Voyage AI를 사용하세요.

Atlas 에서 데이터에 대해 벡터 검색 수행하려면 MongoDB Vector Search 인덱스 만들어야 합니다. MongoDB Vector Search 인덱스는 다른 데이터베이스 인덱스와 별개이며 쿼리 시점에 벡터 임베딩이 포함된 문서를 효율적으로 조회 데 사용됩니다. MongoDB Vector Search 인덱스 정의에서 임베딩이 포함된 컬렉션 의 필드를 인덱스 해당 필드에 대한 벡터 검색 활성화 . MongoDB Vector Search는 길이가 8192 차원 이하인 임베딩을 지원합니다.

MongoDB Vector Search 쿼리를 실행 하려는 컬렉션 의 추가 필드를 인덱싱 하여 데이터를 사전 필터링할 수도 있습니다. 이러한 유형의 배열을 포함하여 부울, 날짜, objectId, 숫자, 문자열 및 UUID 값을 필터하다 할 수 있습니다. 데이터를 필터링하면 검색 범위가 좁혀지고 특정 벡터 임베딩이 비교 대상으로 고려되지 않습니다.

MongoDB 벡터 검색을 위한 필드를 인덱스 방법을 학습 벡터 검색을 위한 필드 인덱싱 방법을 참조하세요.

MongoDB Vector Search는 Hierarchical Navigable Small Worlds 알고리즘 과 정확한ENN(정확한가장 가까운 이웃)검색 사용한 근사 가장 가까운 이웃(ANN) 검색 지원합니다.

가장 유사한 벡터를 찾기 위해 MongoDB Vector Search는 모든 벡터 임베딩을 스캔하지 않고 ANN 검색 수행하고 인덱스된 모든 벡터 임베딩에 대해 ENN 검색 철저히 수행합니다. 자세히 학습 vectorSearch 정의를 참조하세요.

MongoDB Vector Search 쿼리는 단계가 파이프라인 의 첫 번째 단계인 집계 파이프라인 단계 로 구성됩니다. 기본 MongoDB Vector Search 쿼리 의 프로세스 다음과 같습니다.$vectorSearch

  1. ANN 또는 ENN 검색을 선택하고 검색 쿼리를 나타내는 벡터 임베딩인 쿼리 벡터를 지정합니다.

  2. MongoDB Vector Search는 데이터에서 쿼리 벡터에 가장 가까운 벡터 임베딩을 찾습니다.

  3. MongoDB Vector Search는 가장 유사한 벡터를 포함하는 문서를 반환합니다.

벡터 검색 쿼리를 사용자 지정하려면, 지원되는 쿼리 또는 집계 연산자와 함께 MQL일치 표현식을 사용하여 인덱싱한 필드에 대한 데이터를 사전 필터링하거나 집계 단계를 추가하여 결과를 추가로 처리하고 구성할 수 있습니다.

MongoDB 벡터 검색 쿼리를 만들고 실행 방법을 학습 벡터 검색 쿼리 실행을 참조하세요.

MongoDB Vector Search 인덱스를 생성하고 샘플 데이터에 대해 MongoDB Vector Search 쿼리를 실행 실습을 보려면 MongoDB University 의 MongoDB Vector Search 과정과 다음 페이지의 튜토리얼을 사용해 보세요.

최적의 성능을 위해서는 워크로드 격리를 위한 별도의 검색 노드를 배포하는 것이 좋습니다. 검색 노드는 개별 쿼리 지연 시간을 개선하기 위해 동시 쿼리 실행을 지원합니다. 자세히 알아보려면 배포 옵션 검토를 참조하세요.

스킬 배지 획득

무료로 '벡터 검색 기초'를 마스터하세요!

자세한 내용을 알아보세요.

이 페이지의 내용