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

쿼리 결과의 정확성을 측정하는 방법

동일한 쿼리 기준을 사용하여 양자화된 벡터에 대해 ANN 검색 결과가 ENN 검색 결과와 얼마나 일치하는지 평가하여 MongoDB Vector Search 쿼리 의 정확성을 측정할 수 있습니다. 즉, ANN 검색 결과를 ENN 검색 결과와 비교하여 ANN 검색 결과에 ENN 검색 결과에 가장 가까운 이웃이 포함되는 빈도를 측정할 수 있습니다.

다음 중 하나에 해당하는 경우 결과의 정확도를 측정할 수 있습니다.

  • 양자화된 벡터

  • 많은 수의 벡터

  • 저차원 벡터

이 페이지의 예제를 시도하려면 다음이 필요합니다.

  • 선택적으로 샘플 데이터 세트가 있는 클러스터 .

쿼리 결과의 정확성을 평가하려면 $vectorSearch 다음을 수행해야 합니다.

  1. 벡터 필드 와 데이터를 사전 필터링하려는 다른 필드에 MongoDB Vector Search 인덱스 생성합니다.

    벡터의 저장 과 쿼리 속도를 개선하려면 양자화된 벡터를 사용하는 것이 좋습니다. 양자화된 벡터가 없는 경우 vector 유형 필드 인덱싱 때 자동 양자화를 활성화 할 수 있습니다.

  2. ENN 쿼리 구성하고 실행 한 다음 ANN 쿼리 실행합니다.

  3. ANN 쿼리 의 결과와 ENN 쿼리 의 결과를 비교하여 결과의 유사점과 차이점을 평가합니다.

이 섹션에서는 sample_mflix.embedded_movies 컬렉션 의 데이터에 대해 앞의 3 단계를 수행하는 방법을 보여 줍니다. 샘플 데이터 세트를 사용하지 않으려면 자체 데이터에 대해 절차를 수행할 수 있습니다.

이 섹션에서는 MongoDB Vector Search ANNENN 쿼리를 실행 위한 MongoDB Vector Search 인덱스 생성하는 방법을 설명합니다.

예시 ENNANN 쿼리 결과의 상위 9개 문서는 동일하며 점수도 동일합니다. 이는 쿼리 에 대한 상위 결과에서 높은 수준의 유사성을 보여줍니다. 그러나 ENNANN 쿼리 결과의 10번째 문서 다르며, 이는 정확하고 대략적인 가장 가까운 이웃 검색 에 약간의 변화가 있음을 반영합니다.

ENN 검색 가능한 모든 후보를 검사하고 유사성 점수를 기반으로 쿼리 와 가장 가까운 일치 항목을 반환합니다. ANN 검색 근사치를 사용하여 검색 속도를 높이므로 문서 점수가 변경될 수 있습니다. ANN 쿼리 numCandidates 에서 값을 늘리면 결과가 ENN 쿼리 결과에 더 가깝습니다. 그러나 이렇게 하면 추가 계산 리소스가 소비되고 쿼리 속도가 느려질 수 있습니다. 결과의 열 번째 문서 정확성과 속도 간의 균형을 반영합니다.

ENN 실제 정보와 비교하여 결과를 양적으로 평가한 후에는 100 동일한 방식으로 쿼리 설정하다 를 테스트하고 결과 세트 간의 "jaccard 유사성"을 계산하는 것이 좋습니다. 자카드 유사성은 두 세트의 교집합, 즉 겹치는 항목을 전체 설정하다 크기로 나누어 계산할 수 있습니다. 이를 통해 양자화된 벡터에 대해 수행된 쿼리를 포함하여 ANN 쿼리의 리콜 성능을 파악할 수 있습니다.

ENN 쿼리 결과와 ANN 쿼리 결과 간에 큰 차이가 있는 경우,numCandidates 애플리케이션 의 정확도와 속도 사이의 이상적인 균형을 유지하도록 값을 조정하는 것이 좋습니다.

근사 최근접 이웃 쿼리 또는 등가 최근접 이웃 실제 정답 값에 대한 이상적인 결과가 포함된 구조화된 쿼리 목록을 위해 판단 목록을 사용하는 것이 좋습니다. 등가 최근접 이웃 쿼리 결과를 기준 판단 목록으로 사용한 다음, 이 판단 목록을 기준으로 근사 최근접 이웃 쿼리 결과를 평가하여 재현율, 중복 및 성능을 측정할 수 있습니다. 판단 목록은 근사 최근접 이웃 쿼리가 등가 최근접 이웃 기준선과 비교하여 원하는 정확도나 재현율 임계값을 충족하는지 평가하는 방법을 제공합니다. LLM을 사용하여 예시 쿼리를 생성하세요.

$vectorSearch 결과의 정확도를 향상시키려면 쿼리에 대한 의미론적 유의성으로 리랑킹할 수 있습니다. 리랑킹은 가장 관련있는 문서의 우선순위를 조정하여 결과의 순서를 바꾸는 것입니다. 단계 $rerank 뒤에 $vectorSearch 단계를 적용하여 리랑커 모델을 사용하여 결과의 순서를 재조정할 수 있습니다.

자세한 내용을 알아보려면 $rerank 집계 파이프라인 단계를 참조하세요.