문서 메뉴
문서 홈
/
MongoDB 아틀라스

Atlas Vector Search 개요

이 페이지의 내용

  • Vector Search란 무엇입니까?
  • 주요 개념
  • Atlas Vector Search 인덱스
  • Atlas Vector Search 쿼리 정보
  • 사용 사례
  • AI 통합
  • 다음 단계

Atlas Vector Search를 사용하여 Atlas의 데이터에 대해 벡터 검색을 수행할 수 있습니다. 컬렉션에서 Atlas Vector Search 인덱스를 정의하면 다른 데이터와 함께 벡터 데이터를 원활하게 인덱싱한 다음 인덱싱된 필드에 대해 벡터 검색 쿼리를 수행할 수 있습니다.

Atlas Vector Search를 사용하면 시맨틱, 하이브리드 및 생성 검색을 포함한 다양한 검색 사용 사례 를 사용할 수 있습니다. 벡터 임베딩 을 다른 데이터와 함께 Atlas에 저장하면 컬렉션의 다른 필드에 대한 시맨틱 검색 쿼리를 필터링하고 시맨틱 검색을 전체 텍스트 검색과 결합할 수 있습니다. Atlas를 벡터 데이터베이스로 사용하면 AI 애플리케이션에서 벡터 검색을 활용하고 널리 사용되는 AI 프레임워크 및 서비스와 통합할 수도 있습니다.

Atlas Vector Search는 MongoDB 버전 6 를 실행하는 Atlas cluster에서 지원됩니다.0.11, 7.0.2 이상, ANN 검색 및 MongoDB 버전 6.0.16, 7.0.10, 7.32 이상, ENN 검색의 경우.

Atlas Vector Search 시작하기

참고

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

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

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

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

벡터

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

벡터의 차원 수는 벡터 생성에 사용된 임베딩 모델에 따라 결정됩니다. 또한 벡터의 차원 수는 유사성을 결정하기 위해 벡터가 표시되는 벡터 공간의 차원 수와 같습니다.

특히, Atlas Vector Search는 더 작은 저장 용량과 의미적 풍부함을 선호하는 일종의 고차원 벡터인 고밀도 벡터를 사용합니다. 고밀도 벡터는 희소 벡터와 달리 더 많은 데이터를 담을 수 있으므로 Atlas Vector Search가 더 복잡한 관계를 포착할 수 있습니다.

벡터 임베딩

벡터 임베딩 또는 벡터화는 데이터를 벡터로 변환하는 프로세스입니다. 이러한 임베딩은 데이터의 의미 있는 관계를 캡처하고 시맨틱 검색 및 조회와 같은 작업을 가능하게 합니다. Atlas를 벡터 데이터베이스로 사용하려면 임베딩 모델 을 통해 데이터를 전달하여 임베딩을 생성하고 이러한 임베딩을 문서의 필드로 저장합니다.

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

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

임베딩 모델

임베딩 모델은 데이터를 벡터 임베딩으로 변환하는 데 사용하는 알고리즘입니다. 이를 위해 임베딩 모델은 대규모 데이터 코퍼스에서 훈련된 기계 학습 모델인 LLM을 사용하여 데이터의 의미론적 의미를 캡처하는 벡터 임베딩을 생성합니다.

선택하는 임베딩 모델에 따라 Atlas Vector Search 인덱스를 구성하는 방법이 결정되고 임베딩 모델이 학습된 방식에 따라 쿼리 결과에 영향을 미칩니다. 결과적으로다양한 임베딩 모델 데이터와 사용 사례에 따라 다양한 이점을 제공합니다.

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

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

Atlas Vector Search의 필드를 인덱싱하는 방법을 알아보려면 벡터 검색을 위한 필드 인덱싱 방법을 참조하세요 .

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

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

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

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

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

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

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

Atlas Vector Search 쿼리를 만들고 실행하는 방법을 알아보려면 벡터 검색 쿼리 실행을 참조하세요.

Atlas Vector Search는 다음과 같은 유형의 벡터 검색 쿼리를 지원합니다.

Atlas를 벡터 데이터베이스로 사용하면 Atlas Vector Search를 사용하여 자연어 처리(NLP), 머신 러닝(ML) 및 생성형 AI 애플리케이션을 강화할 수 있습니다.

구체적으로, Atlas에 데이터를 저장하고, Atlas Vector Search를 사용하여 데이터에서 관련 문서를 검색하고,LLM 을 활용하여 데이터에 대한 질문에 답변하는 방식으로 RAG(검색 강화 생성) 를 구현할 수 있습니다. 로컬에서 RAG 를 구현하거나 Atlas Vector Search를 널리 사용되는 프레임워크 및 서비스와 통합 하여 구현할 수 있습니다. 자세히 알아보려면 Atlas Vector Search를 사용한 검색-증강 생성(RAG)을 참조하세요.

Atlas Vector Search를 OpenAI, AWS, Google과 같은 AI 제공자의 인기 있는 채팅 및 임베딩 모델과 함께 사용할 수 있습니다. MongoDB와 파트너사는 AI 기반 애플리케이션에서 Atlas Vector Search를 활용하는 데 도움이 되는 특정 제품 통합도 제공합니다. 이러한 통합에는 Atlas를 벡터 데이터베이스로 사용하고, 생성형 AI 애플리케이션을 구축하고, 처음부터 끝까지 RAG 를 구현할 수 있는 기본 제공 도구 및 라이브러리가 포함됩니다.

예를 들어, Atlas Vector Search를 LangChain 과 같은 오픈 소스 프레임워크와 통합할 수 있습니다.및 LlamaIndex 를 사용하면 널리 사용되는 LLM 외에도 데이터에 대한 질문에 답변하는 애플리케이션을 구축할 수 있습니다.

자세히 알아보고 시작하려면 벡터 검색과 AI 기술 통합을 참조하세요.

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