Docs Menu
Docs Home
/

Voyage AI 임베딩을 사용한 시맨틱 검색

이 가이드 Voyage AI 모델을 사용하여 시맨틱 검색 수행하는 방법을 설명합니다. 이 페이지에는 순위 재지정을 사용한 검색 , 다국어, 다중 모드, 상황별 청크 및 대규모 코퍼스 검색을 포함한 기본 및 고급 시맨틱 검색 사용 사례에 대한 예제가 포함되어 있습니다.

시맨틱 검색 워크플로 다이어그램

이 섹션에서는 다양한 Voyage AI 모델을 사용한 다양한 시맨틱 검색 사용 사례에 대한 코드 예제를 제공합니다. 각 예시 에 대해 동일한 기본 단계를 수행합니다.

  1. 문서 임베딩: 데이터를 의미를 포착하는 벡터 임베딩으로 변환합니다. 이 데이터는 텍스트, 이미지, 문서 청크 또는 대규모 텍스트 코퍼스가 될 수 있습니다.

  2. 쿼리 포함: 검색 쿼리 문서와 동일한 벡터 표현으로 변환합니다.

  3. 유사한 문서 찾기: 쿼리 벡터를 문서 벡터와 비교하여 의미상 가장 유사한 결과를 식별합니다.

이 튜토리얼의 실행 가능한 버전을 Python 노트북으로 사용합니다.

1

시작하기 전에 프로젝트 디렉토리 생성하고, 라이브러리를 설치하고, 모델 API 키를 설정하다 .

  1. 터미널에서 다음 명령을 실행하여 이 튜토리얼을 위한 새 디렉토리 만들고 필요한 라이브러리를 설치합니다.

    mkdir voyage-semantic-search
    cd voyage-semantic-search
    pip install --upgrade voyageai numpy datasets
  2. 아직 하지 않았다면 단계에 따라 모델 API 키를 만든 후 터미널에서 다음 명령을 실행 환경 변수로 내보냅니다.

    export VOYAGE_API_KEY="your-model-api-key"
2

각 섹션을 펼치면 각 유형의 시맨틱 검색 에 대한 코드 예제를 볼 수 있습니다.

다음 표에는 이 페이지의 예시가 요약되어 있습니다.

예시
사용 모델
결과 이해

기본 시맨틱 검색

voyage-4-large

Apple 전화 회의 문서 관련 없는 문서보다 훨씬 높은 1위를 차지하여 정확한 시맨틱 매칭을 보여줍니다.

Reranker를 사용한 시맨틱 검색

voyage-4-large 개인정보 정책에 rerank-2.5

순위를 재지정하면 전체 쿼리-문서 관계 분석하여 검색 정확도가 향상됩니다. 유사성을 임베드하는 것만으로도 보통의 점수로 올바른 문서 순위를 매기는 반면, 재순위 지정기는 관련성 점수를 크게 높여 관련 없는 결과로부터 문서를 더 잘 구분합니다.

다국어 시맨틱 검색

voyage-4-large

Voyage 모델은 다양한 언어에 걸쳐 시맨틱 검색 효과적으로 수행합니다. 이 예시 영어, 스페인어, 중국어로 세 가지 개별 검색을 수행하여 각각의 언어 내에서 기술 회사 수익에 대한 가장 관련성이 높은 문서를 올바르게 식별하는 방법을 보여 줍니다.

멀티모달 시맨틱 검색

voyage-multimodal-3.5

이 모델은 인터리브 처리된 텍스트, 이미지, 동영상은 물론 이미지 전용 및 동영상 전용 검색 도 지원합니다. 두 경우 모두 애완동물 이미지(고양이와 개)의 순위가 관련이 없는 바나나 이미지보다 훨씬 높으며, 이는 정확한 시각적 콘텐츠 검색을 보여줍니다. 설명 텍스트가 있는 인터리브 입력은 이미지 전용 입력보다 약간 더 높은 유사성 점수를 생성합니다.

상황별 청크 임베딩

voyage-context-3

15% 수익 증가율 청크 Leafy Inc. 문서 에 연결되어 있기 때문에 1위를 차지합니다. 그리너리의 유사한 7% 성장 청크 점수가 더 낮으며, 이는 모델이 문서 컨텍스트를 정확하게 고려하여 유사한 청크를 구분하는 방법을 보여줍니다.

대규모 코퍼스를 사용한 시맨틱 검색

voyage-4-large

사용자 콘텐츠에 대한 실측값 문서 154 문서 중 1위를 차지하며, 의미론적 복잡성에도 불구하고 확장하다 로 효과적인 검색을 보여줍니다.

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

예시

기존 텍스트 검색 정확히 일치하는 항목만 반환하므로 사용자가 데이터에 있는 용어와 다른 용어로 검색 경우 결과가 제한됩니다. 예시 들어 데이터에 컴퓨터 마우스 및 동물 마우스에 대한 문서가 포함된 경우 컴퓨터 마우스에 대한 정보를 찾으려고 할 때 'mouse'를 검색하면 잘못된 일치 항목이 발생합니다.

그러나 시맨틱 검색 어휘 중복이 없는 경우에도 단어나 구 간의 기본 관계 캡처합니다. 컴퓨터 제품을 검색할 때 '마우스'를 검색하면 더 관련성 높은 결과를 얻을 수 있습니다. 이는 시맨틱 검색 검색 쿼리 의 의미론적 의미를 데이터와 비교하여 정확한 검색 에 관계없이 가장 관련성이 높은 결과만 반환하기 때문입니다.

의미론적 유사성을 보여주는 다이어그램

벡터를 메모리에 저장하고 자체 검색 파이프라인을 구현하는 것은 프로토타입 및 실험에 적합하지만, 프로덕션 애플리케이션에는 벡터 데이터베이스 와 엔터프라이즈 검색 솔루션을 사용하면 더 큰 코퍼스에서 효율적으로 검색을 수행할 수 있습니다.

MongoDB 벡터 저장 및 조회를 네이티브 지원 하므로 다른 데이터와 함께 벡터 임베딩을 저장하고 검색할 때 편리합니다. MongoDB Vector Search로 시맨틱 검색 수행하는 방법에 대한 튜토리얼을 완료하려면 Atlas 클러스터의 데이터에 대해 시맨틱 검색을 수행하는 방법을 참조하세요.

시맨틱 검색 과 LLM을 결합하여 RAG 애플리케이션 구현 .

다음

RAG

이 페이지의 내용