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

MongoDB Vector Search를 사용하여 자동으로 임베딩 생성하기

중요

text 유형의 MongoDB Vector Search 인덱스는 비공개 미리보기에서 공개 미리보기로의 전환을 준비하는 과정에서 더 이상 사용되지 않습니다. 자세히 학습하려면 미리 보기 기능을 참조하세요.

클러스터 의 텍스트 데이터에 대한 벡터 임베딩을 자동으로 생성하고 관리 MongoDB Vector Search를 구성할 수 있습니다. M10 이상의 Atlas cluster 에서 원클릭 AI 시맨틱 검색 인덱스 생성하고Voyage AI 임베딩 모델을 사용하여 벡터를 사용한 인덱싱, 업데이트 및 쿼리를 간소화할 수 있습니다.

자동 임베딩을 활성화 하면 MongoDB Vector Search는 Atlas 컬렉션 의 지정된 텍스트 필드 에 대한 인덱스 타임과 자동화된 임베딩을 위해 인덱싱된 필드 에 대한 쿼리 의 텍스트 문자열에 대한 쿼리 타임에 지정된 임베딩 모델을 사용하여 임베딩을 자동으로 생성합니다.

중요

모든 클라우드 공급자 의 M10 이상 클러스터 에서 MongoDB Vector Search 자동 임베딩을 사용할 수 있습니다. 그러나 벡터 임베딩을 생성하기 위한 추론 프로세스 처리하는 서비스는 Google Cloud에서 실행됩니다. 즉, 클러스터의 클라우드 공급자 와 관계없이 임베딩 생성 및 검색을 위해 데이터가 Google Cloud로 전송됩니다. 엔터프라이즈 급 보안을 제공하므로 데이터는 클러스터 에만 저장됩니다.

임베딩 모델은 공유된 멀티 테넌트 추론 플랫폼에서 실행 . 따라서 미리 보기 기간 동안에는 문서 100k 미만인 데이터 세트를 사용해야 하며 부하 테스트가 아닌 기능 평가를 위해서만 쿼리를 실행 . 한도가 더 높은 사용 사례 있는 경우 계정 팀 문의하세요.

워크로드 에 대한 엄격한 요금 제한은 없지만 전역 제한이 있습니다. 쿼리가 속도 제한 오류(오류 409)를 반환하면 백오프를 수행하고 애플리케이션 코드에서 다시 시도합니다. 이를 통해 애플리케이션 속도 제한을 정상적으로 처리하다 하고 지속적인 기능을 보장할 수 있습니다.

자동 임베딩을 사용하여 벡터 검색 활성화 하려면 다음이 필요합니다.

  • M10 또는 더 높은 클러스터

  • 자동화된 임베딩을 위해 인덱스 하려는 텍스트 필드 있는 컬렉션 입니다.

  • 다음 클라이언트 중 하나:

다음 섹션에서는 텍스트 필드에 대한 임베딩을 자동으로 생성하기 위한 MongoDB Vector Search 인덱스 구문과 필드에 대해 설명하고 자동 임베딩을 위해 인덱스 구성하는 단계를 안내합니다.

MongoDB Vector Search 인덱스를 생성하고 관리 하려면 Project Data Access Admin 이상의 역할 필요합니다.

다음은 임베딩 자동 생성을 활성화하는 구문입니다.

1{
2 "fields": [
3 {
4 "type": "text",
5 "path": "<field-name>",
6 "model": "voyage-3-large | voyage-3.5 | voyage-3.5-lite"
7 }
8 ]
9}

인덱스 정의에는 다음 필드가 필요합니다.

필드
유형
설명

type

문자열

필드 의 유형입니다. 자동 임베딩의 경우 이 값이 text이어야 합니다.

path

문자열

자동 임베딩을 위해 인덱스 하려는 컬렉션 필드 의 이름입니다.

model

문자열

인덱스를 위한 임베딩을 생성할 때 사용할 Voyage AI 임베딩 모델입니다. 다음 모델 중 하나를 지정할 수 있습니다.

  • voyage-3-large - 모든 언어와 도메인에 걸쳐 최고 품질의 검색을 제공합니다.

  • voyage-3.5 - 다국어 사용 및 범용 검색 정확도를 위한 균형 잡힌 모델입니다.

  • voyage-3.5-lite - 지연 시간 과 낮은 비용 에 최적화된 가볍고 빠른 모델입니다.

인덱스 생성한 후 이후에 임베딩 모델을 변경하면 MongoDB Vector Search는 데이터 세트에 대한 새 임베딩을 생성합니다. MongoDB Vector Search가 임베딩을 생성하는 동안 이전 임베딩을 사용하여 계속 쿼리 할 수 있습니다. 이전 임베딩이 새 임베딩 모델의 임베딩으로 대체되면 MongoDB Vector Search는 이전 임베딩을 제거합니다.

자동 임베딩의 인덱스 필드는 다음 vector 유형 인덱스 필드와 상호 배타적입니다.

  • numDimensions

  • similarity

  • quantization

컬렉션에 이미 임베딩이 있는 경우 vector 필드 유형을 사용하여 임베딩을 인덱싱해야 합니다. 임베딩을 사용하여 필드를 인덱싱하는 방법에 대해 자세히 알아보려면 벡터 검색을 위해 필드를 인덱스하는 방법을 참조하세요.

임베딩을 자동으로 생성하기 위해 텍스트 필드 인덱스 하고 자체 임베딩으로 필드 인덱스 하려는 경우 textvector 유형을 모두 사용하여 인덱스 만들 수 있습니다. MongoDB Vector Search는 text 유형으로 인덱싱된 필드 대해서만 쿼리에 대한 임베딩을 자동으로 생성합니다. vector 유형으로 인덱싱된 필드 검색하려면 쿼리 에 임베딩을 지정해야 합니다.

필드를 인덱스 MongoDB Vector Search filter 유형을 사용하여 데이터를 사전 필터링할 수도 있습니다.

중요

필터링된 쿼리는 일반적으로 이에 상응하는 필터링되지 않은 쿼리 보다 느립니다.

데이터 사전 필터링에 대해 자세히 학습하려면 filter 유형 정보를 참조하세요.

다음 절차에서는 MongoDB Vector Search 인덱스 에서 자동화된 임베딩을 활성화하는 단계를 안내합니다. sample_mflix.movies 데이터 세트를 로드한 경우 절차의 예시 컬렉션 의 fullplot 필드 에 대해 자동 임베딩을 활성화 방법을 보여줍니다.

자동 임베딩이 적용된 인덱스를 생성한 후에는 인덱싱된 필드를 대상으로 텍스트 쿼리를 실행할 수 있습니다. MongoDB Vector Search는 인덱스에 지정된 동일한 임베딩 모델을 사용하여 쿼리 내 텍스트 스트링에 대한 임베딩을 자동으로 생성합니다. 이 기능은 지정된 쿼리 텍스트와 의미적으로 유사한 문서를 인덱스에서 검색하기 위해 임베딩을 사용합니다.

다음 섹션에서는 쿼리 텍스트에 대한 임베딩을 자동으로 생성하기 위한 $vectorSearch 파이프라인 구문 및 필드를 설명하고, 자동 임베딩을 위해 인덱싱된 필드에 대해 시맨틱 검색 쿼리를 실행하는 방법을 보여 줍니다.

다음 구문은 자동 임베딩을 위해 인덱싱된 필드 에 대해 쿼리 실행 방법을 보여줍니다.

1{
2 "$vectorSearch": {
3 "index": "<index-name>",
4 "limit": <number-of-results>,
5 "numCandidates": <number-of-candidates>,
6 "path": "<field-to-search>",
7 "query": "<query-string>"
8 }
9}

자동화된 임베딩을 사용하는 MongoDB Vector Search 쿼리 에는 다음 필드가 필요합니다.

필드
유형
필요성
설명

exact

부울

조건부

numCandidates 이(가) 생략된 경우 이 필드는 필수 항목입니다. numCandidates와(과) 상호 배타적입니다.

ENN 또는 ANN 검색을 실행할지 여부를 지정하는 플래그입니다. 값은 다음 중 하나일 수 있습니다.

  • false - ANN 검색 실행 시

  • true - ENN 검색 실행 시

생략하는 경우 기본값은 false입니다.

index

문자열

필수 사항

사용할 MongoDB Vector Search 인덱스 의 이름입니다.

인덱스 이름의 철자가 잘못되었거나 지정된 인덱스 클러스터 에 없는 경우 MongoDB Vector Search는 결과를 반환하지 않습니다.

limit

숫자

필수 사항

결과에 반환할 문서 수(int 유형만 해당)입니다. numCandidates를 지정하는 경우 이 값은 numCandidates 값을 초과할 수 없습니다.

numCandidates

숫자

조건부

exactfalse이거나 생략된 경우 이 필드는 필수입니다. exact와 상호 배타적입니다.

검색 중에 사용할 가장 가까운 이웃의 수입니다. 값은 (<=)10000보다 작거나 같아야 합니다. 반환할 문서 수보다 작은 숫자는 지정할 수 없습니다(limit).

path

문자열

필수 사항

검색할 인덱싱된 벡터 유형 필드입니다.

query

문자열

필수 사항

임베딩을 자동으로 생성하고 시맨틱 검색을 수행할 텍스트입니다.

인덱싱된 필드 대해 ANN 또는 ENN 쿼리 실행 수 있습니다. 자세히 알아보려면 근사 최근접 이웃 검색하다등가 최근접 이웃 검색하다를 참조하세요.

자동 임베딩을 위해 인덱싱된 필드에 대해서는 쿼리 에서 벡터 임베딩을 지정할 수 없습니다. 대신 필드 에 대해 언어 쿼리 실행 해야 합니다. 자동 임베딩을 위해 인덱싱된 필드 에 대해 언어 쿼리 실행 하면 MongoDB Vector Search는 인덱싱된 필드 와 동일한 임베딩 모델을 사용하여 쿼리 텍스트에 대한 임베딩을 자동으로 생성합니다. 그런 다음 생성된 임베딩을 사용하여 인덱싱된 필드 에 대해 시맨틱 검색 수행합니다.

선택적으로 쿼리 에 filter 필드를 지정하여 MongoDB Vector Search가 시맨틱 검색 수행하는 문서를 사전 필터링할 수 있습니다. 자세한 학습 은 MongoDB 벡터 검색 사전 필터링을 참조하세요.

선택적으로 결과에서 문서의 점수를 조회 할 수도 있습니다. 자세한 학습 은 MongoDB Vector Search 점수 산정을 참조하세요.