Atlas cluster 의 텍스트 데이터에 대한 벡터 임베딩을 자동으로 생성하고 관리 MongoDB Vector Search를 구성할 수 있습니다. 자동 임베딩을 활성화 하면 MongoDB Vector Search는 컬렉션 의 지정된 텍스트 필드 에 대한 인덱스 타임과 쿼리 의 텍스트 문자열에 대한 쿼리 타임에 지정된 Voyage AI 임베딩 모델을 사용하여 임베딩을 자동으로 생성합니다.
자동화된 임베딩은 시맨틱 검색 구축 프로세스 간소화합니다. 벡터 임베딩을 직접 생성, 저장 또는 관리 필요가 없습니다. Atlas 임베딩 생성, 업데이트 및 쿼리를 기본적으로 처리합니다.
참고
자동 임베딩을 사용하려면 M10 및 M20 클러스터의 최대 인스턴스 크기가 M30 이상인 자동 확장 활성화 해야 합니다. 다른 모든 클러스터 계층의 경우 자동 임베딩이 기본값 으로 활성화되어 있습니다.
MongoDB Vector Search 인덱스의 자동 임베딩을 통해 MongoDB Vector Search를 배포 하고 텍스트 데이터에 대한 지능적인 AI 기반 시맨틱 검색 활성화 수 있습니다. MongoDB의 자동 임베딩 기능은 기존에 복잡한 벡터 검색 구현 프로세스 단일 단계 솔루션으로 전환합니다. 이제 별도의 임베딩 인프라, 모델 선택, 통합 코드를 관리하는 대신 간단한 필드 구성을 통해 시맨틱 검색 구현 수 있습니다.
MongoDB Vector Search 인덱스를 구성하면 선택한 최신 Voyage AI 임베딩 모델을 사용하여 컬렉션 의 텍스트 데이터에 대한 벡터 임베딩을 자동으로 생성하고, 데이터 변경에 따라 임베딩을 동기화 하며, 다음을 지원합니다. 언어 텍스트 쿼리 사용. 이러한 벡터 임베딩은 데이터에서 의미 있는 관계를 캡처하고 키워드가 아닌 의도를 기반으로 검색할 수 있습니다.
자동 임베딩 활성화 및 사용
자동 임베딩을 활성화 하려면 autoEmbed 유형을 사용하여 MongoDB Vector Search 인덱스 생성합니다. autoEmbed 유형은 자동 임베딩을 활성화 하려는 필드 와 사용하려는 임베딩 모델을 지정합니다. 하나 이상의 필드를 포함하여 filter 유형을 사용하여 데이터를 사전 필터링할 수도 있습니다.
1 { 2 "fields": [ 3 { 4 "type": "autoEmbed", 5 "modality": "text", 6 "path": "<field-to-index>", 7 "model": "<embedding-model>" 8 }, 9 { 10 "type": "filter", 11 "path": "<field-to-index>" 12 }, 13 ... 14 ] 15 }
인덱스 구문 및 필드에 대해 자세히 학습 벡터 검색을 위해 필드를 인덱싱하는 방법을 참조하세요.
MongoDB Vector Search는 삽입하거나 업데이트 기존 문서와 새 문서에 대한 임베딩을 자동으로 생성합니다.
인덱스 만든 후에는 쿼리를 실행 수 있습니다. MongoDB Vector Search는 인덱스 에 지정한 것과 동일한 임베딩 모델을 사용하여 쿼리 텍스트에 대한 임베딩을 자동으로 생성합니다. 파이프라인 단계에서 model 옵션을 사용하여 다른 임베딩 $vectorSearch 모델을 선택적으로 지정할 수 있지만, 지정된 임베딩 모델은 인덱스 시점에 사용된 임베딩 모델과 호환되어야 합니다.
1 [ 2 { 3 "$vectorSearch": { 4 "index": "<index-name>", 5 "path": "<field-to-index>", 6 "query": "<query-text>", 7 "model": "<embedding-model>" 8 } 9 }, 10 { 11 "$project": { 12 "_id": 0, 13 "<field-to-index>": 1, 14 "score": { "$meta": "vectorSearchScore" } 15 } 16 } 17 ]
자세한 내용은 벡터 검색 쿼리 실행을 참조하세요.
참고
이 기능 Docker, tarball 또는 패키지 관리자를 사용하는 MongoDB Search 및 MongoDB Vector Search 배포 및 MongoDB 이상 Community Edition과 함께 Kubernetes 연산자용 MongoDB 컨트롤러를 사용하는 배포에 사용할 수 8.2 있습니다. 자동화된 임베딩 기능은 아직 MongoDB 엔터프라이즈 Edition에서 사용할 수 없습니다.
임베딩 코드를 작성하거나, 모델 인프라를 관리하거나, 벡터 파이프라인을 처리하지 않고도 간단한 구성 변경을 통해 AI Agent에 대한 시맨틱 검색 , RAG 및 메모리를 활성화 할 수 있습니다. 즉, MongoDB 검색 및 벡터 검색 프로세스 와 함께 MongoDB Community Edition 배포할 때 임베딩을 생성하는 데mongot 사용할Voyage AI API 키를 제공할 수 있으며, 하나는 인덱싱 작업에, 다른 하나는 다른 프로젝트의 쿼리 작업에 사용하는 것이 가장 좋습니다.
배포서버 후 다음을 수행합니다.
컬렉션 에서 시맨틱 검색 활성화 하려는 텍스트 필드 선택합니다.
사용 가능한 임베딩 모델 목록에서 임베딩 모델을 선택합니다.
MongoDB Vector Search 인덱스 정의에서
autoEmbed유형을 사용하여 자동 임베딩을 구성합니다.
자동 임베딩을 위한 MongoDB Vector Search 인덱스 구성에 대해 자세히 학습 벡터 검색을 위한 필드 인덱싱 방법을 참조하세요.
MongoDB Vector Search는 MongoDB Community Edition 초기화하는 동안 지정한 API 키를 사용하여 삽입하거나 업데이트 기존 문서와 새 문서에 대한 임베딩을 자동으로 생성합니다.
쿼리의 query.text 경우 파이프라인 단계에서 옵션을 $vectorSearch 사용합니다. MongoDB Vector Search는 인덱스 정의에서 동일한 임베딩 모델을 사용하여 텍스트 쿼리 에 대한 임베딩을 생성합니다. 파이프라인 model 단계에서 옵션을 사용하여 $vectorSearch 다른 임베딩 모델을 지정할 수 있지만, 지정된 임베딩 모델은 인덱스 시점에 사용된 임베딩 모델과 호환되어야 합니다. MongoDB Vector Search는 MongoDB Community 초기화 중에 제공한 쿼리 API 키를 사용하여 쿼리 시점에 임베딩을 생성합니다. 자세한 학습 은 벡터 검색 쿼리 실행을 참조하세요.
API 키를 사용하여 임베딩을 생성하면 요금이 발생합니다. 자세히 학습 청구 관리를 참조하세요.
임베딩을 자동화하고 샘플 쿼리 실행 하려면 MongoDB Vector Search 빠른 시작을 참조하세요.
Voyage AI API 키
인덱스 시점과 쿼리 시점에 임베딩을 생성하는 데 단일 API 키를 사용할 수 있지만, 쿼리 작업이 인덱싱 작업에 부정적인 영향을 미치지 않도록 하려면 별도의 API 키를 사용하는 것이 좋습니다.
다음과 같은 방법으로 API 키를 생성할 수 있습니다.
(권장) Atlas 계정을 사용하여 Atlas UI 에서 Voyage AI 임베딩 모델 API 키를 관리 할 수 있습니다.
속도 제한(TPM과 RPM의 조합) 구성 및 API 키 사용량 모니터링 을 포함하여 API 키 생성 및 관리에 대해 자세히 학습 모델 API 키를 참조하세요.
Voyage AI 에서 생성된 API 키를 관리하는 방법에 대해 자세히 학습하려면 API 키를 참조하세요.
키를 생성한 후에는 MongoDB Community Edition 사용하여 배포서버 하는 동안 mongot 를 구성할 때 자동 임베딩에 사용할 키를 지정해야 합니다. MongoDB Vector Search는 mongot 배포서버 중에 제공한 Voyage AI API 키를 사용하여 인덱스 의 데이터와 쿼리 시점의 쿼리 텍스트에 대한 임베딩을 자동으로 생성합니다.
임베딩 스토리지
자동 임베딩 인덱스는 벡터 임베딩을 비동기적으로 생성하고 별도의 예비 데이터베이스 에 MongoDB cluster 에 유지됩니다. 각 자동 임베딩 인덱스 해당하는 생성된 임베딩 컬렉션 정확히 하나만 있습니다. 생성된 임베딩 컬렉션 동일한 클러스터 의 전용 내부 데이터베이스 에 저장됩니다.
사용 가능한 모델
MongoDB Vector Search는 각각 특정 사용 사례에 최적화된 Voyage AI의 최신 임베딩 모델과 통합됩니다.
임베딩 모델 | 설명 | 토큰 1M당 가격 |
|---|---|---|
| 비용에 민감한 대용량 애플리케이션에 최적화되어 있습니다. | $0.02 |
| (권장) 일반 텍스트 검색 위한 균형 잡힌 성능. | $0.06 |
| 복잡한 시맨틱 관계에 대한 정확도를 극대화합니다. | $0.12 |
| 코드 검색 및 기술 문서화에 전문화되어 있습니다. | $0.18 |
주요 개념
- 임베딩 모델
임베딩 모델은 데이터를 데이터의 시맨틱 또는 기본 의미를 캡처하는 벡터 임베딩으로 변환하는 알고리즘입니다. 이러한 벡터를 사용하면 벡터 검색 활성화 .
자동 임베딩의 임베딩 모델에 대해 자세히 학습 사용 가능한 모델을 참조하세요.
- 벡터 임베딩
벡터 임베딩은 숫자 배열 로, 각 차원은 데이터의 다른 기능 이나 속성을 나타냅니다. 벡터는 텍스트, 이미지, 동영상부터 구조화되지 않은 데이터에 이르기까지 모든 유형의 데이터를 표현하는 데 사용할 수 있습니다. 임베딩 모델을 통해 데이터를 전달하여 벡터 임베딩을 생성하고, 이러한 임베딩을 MongoDB 와 같은 벡터 임베딩을 지원하는 데이터베이스 에 저장 수 있습니다.
자동 임베딩을 위한 임베딩 저장 에 대해 자세히 학습 생성된 임베딩 컬렉션을 참조하세요.
- tokens
임베딩 모델 및 LLM과 관련하여 토큰은 모델이 임베딩을 생성하거나 텍스트를 생성하기 위해 처리하는 단어, 하위 단어 또는 문자와 같은 텍스트의 기본 단위입니다. 토큰은 임베딩 모델 및 LLM 사용에 대한 요금이 청구되는 방식입니다.
자동 임베딩을 위한 토큰에 대해 자세히 학습 자동 임베딩을 위한 청구 관리를 참조하세요.
- 속도 제한
속도 제한은 API 제공자가 특정 시간 내에 사용자가 할 수 있는 요청 수에 대해 부과하는 제한이며, 종종 분당 토큰(TPM) 또는 분당 요청(RPM)으로 측정됩니다. 이러한 제한은 공정한 사용을 보장하고, 남용을 방지하며, 모든 사용자를 위해 서비스의 안정성과 성능을 유지합니다.
자동 임베딩의 속도 제한에 대해 자세히 학습 속도 제한을 참조하세요.
- 양자화
양자화는 벡터 임베딩의 정밀도를 줄여 메모리와 저장 사용량을 줄이고 검색 정확도는 절충합니다. 자동화된 임베딩의 경우 MongoDB Vector Search는 다음과 같은 양자화 유형을 지원합니다.
양자화 유형설명float벡터 임베딩을 32비트 부동 소수점 값으로 저장합니다.
scalar각 벡터 차원을 32비트 부동 소수점에서 8비트 정수로 줄입니다.
binary각 벡터 차원을 단일 비트로 줄이고 상위 결과의 점수를 다시 매깁니다.
binaryNoRescore점수를 다시 매기지 않고 각 벡터 차원을 단일 비트로 줄입니다.
자동 임베딩의 양자화에 대해 자세히 학습 양자화 정보를 참조하세요.
- 차원의 수
차원 수는 각 문서 의 임베딩 벡터 길이( 배열 에 있는 숫자의 수)를 지정합니다. 차원이 높을수록 더 많은 시맨틱 세부 정보를 캡처하고 일반적으로 검색 정확도가 향상되지만 저장 및 컴퓨팅 비용(인덱스 크기, RAM 사용량, 때로는 지연 시간)이 증가합니다.
- 유사성
유사성 함수는 두 벡터 간의 유사성 또는 인덱스 에 있는 벡터에 대한 쿼리 벡터의 유사성을 측정하는 데 사용됩니다. MongoDB Vector Search는 다음과 같은 유사성 함수를 지원합니다.
cosine- 벡터 사이의 각도를 기준으로 유사성을 측정합니다.dotProduct-cosine와(과) 같이 유사성을 측정하지만 벡터의 크기를 고려합니다. 완전 충실도 또는scalar양자화에는 이 유사성 함수를 권장합니다.euclidean- 벡터의 끝과 끝 사이의 거리를 측정합니다. 이 유사성 함수는 벡터가 압축되고 해밍 또는 유클리드 공간의 거리가 올바른 신호인binary또는binaryNoRescore양자화에 권장됩니다.
자동 임베딩의 유사성 함수에 대해 자세히 학습 유사성 함수 정보를 참조하세요.