벡터 검색 소개

이 기능에 대한 의견을 제공하거나 지원을 요청하려면 [email protected]으로 이메일을 보내 주세요.

이 문서에서는 BigQuery의 벡터 검색에 대해 간략하게 설명합니다. 벡터 검색을 사용하면 임베딩을 검색하여 의미론적으로 유사한 항목을 식별할 수 있습니다.

임베딩은 텍스트 또는 오디오 파일의 일부와 같이 특정 항목을 나타내는 고차원의 숫자 벡터입니다. 머신러닝(ML) 모델은 임베딩을 사용하여 이러한 항목에 대한 시맨틱스를 인코딩함으로써 손쉽게 추론하고 비교할 수 있도록 합니다. 예를 들어 클러스터링, 분류, 추천 모델에서 일반적인 작업은 임베딩 공간에서 벡터 간 거리를 측정하여 의미론적으로 가장 유사한 항목을 찾는 것입니다.

벡터 검색을 수행하려면 VECTOR_SEARCH 함수벡터 색인(선택사항)을 사용합니다. 벡터 색인을 사용할 때 VECTOR_SEARCH최근접 이웃 검색 기법을 사용하여 벡터 검색 성능을 향상시키고 재현율을 줄여 더 나은 근사치의 결과를 반환합니다. 무작위 대입은 벡터 색인을 사용할 수 없을 때 정확한 결과를 반환하는 데 사용되며, 벡터 색인을 사용할 수 있는 경우에도 무작위 대입을 사용하여 정확한 결과를 얻을 수 있습니다.

사용 사례

임베딩 생성과 벡터 검색의 조합은 많은 흥미로운 사용 사례를 가능하게 하며, 검색 증강 생성(RAG)이 표준 사용 사례입니다. 가능한 사용 사례는 다음과 같습니다.

  • 새 지원 케이스 배치의 경우 각각에 대해 유사한 해결된 케이스를 여러 개 찾습니다. 해결된 케이스에 대한 정보를 대규모 언어 모델(LLM)에 전달하여 새 지원 케이스의 해결 방법을 요약하고 추천할 때 컨텍스트로 사용합니다.
  • 감사 로그 항목의 경우 지난 30일 동안 가장 일치하는 항목을 찾습니다.
  • 환자 프로필 데이터에서 임베딩을 생성한 후 벡터 검색을 사용하여 유사한 프로필의 환자를 찾아 해당 환자 동질 집단에 처방된 성공적인 치료 계획을 살펴봅니다.
  • 통학 버스 차량의 모든 센서 및 카메라에서 사고 전 순간을 보여주는 임베딩의 경우 안전 기능 이용을 제어하는 모델의 추가 분석, 조정, 재학습을 위해 다른 모든 차량에서 비슷한 순간을 찾습니다.
  • 사진의 경우 BigQuery 객체 테이블에서 가장 밀접하게 관련된 이미지를 찾고 해당 이미지를 모델에 전달하여 설명을 생성합니다.

가격 책정

CREATE VECTOR INDEXVECTOR_SEARCH 함수에는 BigQuery 컴퓨팅 가격 책정이 사용됩니다. CREATE VECTOR INDEX 문의 경우 색인이 생성된 열만 처리 바이트에서 고려됩니다.

조직에서 색인 생성된 테이블 데이터의 총 크기가 20TB 한도 미만인 경우 벡터 색인을 빌드하고 새로고침하는 데 필요한 처리에 요금이 청구되지 않습니다. 이 한도를 넘어서 색인 생성을 지원하려면 색인 관리 작업을 처리하기 위한 자체 예약을 제공해야 합니다. 벡터 색인이 활성 상태면 스토리지 비용이 발생합니다. 색인 스토리지 크기는 INFORMATION_SCHEMA.VECTOR_INDEXES에서 찾을 수 있습니다. 벡터 색인의 범위가 100%가 아니더라도 INFORMATION_SCHEMA.VECTOR_INDEXES 뷰에 보고된 모든 색인 스토리지에 대한 요금이 부과됩니다.

할당량 및 한도

자세한 내용은 벡터 색인 한도를 참조하세요.

제한사항

  • VECTOR_SEARCH 함수가 포함된 쿼리는 BigQuery BI Engine에 의해 가속화되지 않습니다.
  • BigQuery 데이터 보안 및 거버넌스 규칙이 VECTOR_SEARCH 사용에 적용됩니다. 자세한 내용은 VECTOR_SEARCH제한사항 섹션을 참조하세요. 이러한 규칙은 벡터 색인 생성에 적용되지 않습니다.

다음 단계

  • 벡터 색인 만들기 자세히 알아보기
  • 벡터 검색으로 임베딩 검색 튜토리얼을 통해 벡터 색인을 만드는 방법을 알아본 후 색인이 있거나 없는 임베딩에 대해 벡터 검색을 수행하는 방법을 알아보세요.
  • 텍스트 임베딩 생성 및 사용 튜토리얼을 통해 다음 작업을 수행하는 방법을 알아보세요.

    • 텍스트 임베딩을 생성합니다.
    • 임베딩에 벡터 색인을 만듭니다.
    • 유사한 텍스트를 검색하기 위해 임베딩과 함께 벡터 검색을 수행합니다.
    • 벡터 검색 결과를 사용하여 검색 증강 생성(RAG)을 수행하여 프롬프트 입력을 보강하고 결과를 개선합니다.