벡터 어시스트 개요

벡터 지원은 벡터 워크로드의 배포 및 관리를 간소화하는 PostgreSQL용 AlloyDB 확장 프로그램입니다. 임베딩 생성, 쿼리 최적화, 색인 생성과 같은 프로덕션 준비가 완료된 벡터 검색 기능을 설정하는 데 도움이 되는 선언적 SQL 프레임워크를 제공합니다. 이 프레임워크는 다음을 통해 벡터 워크로드의 복잡성을 줄입니다.

  • 인텐트 선언 간소화: 테이블, 텍스트 열, 타겟 재현율과 같은 요구사항은 SQL 함수를 사용하여 선언됩니다.
  • 권장사항 자동화: 정의된 벡터 사양과 최적의 색인 구성을 계산하는 최적화된 자동 조정 알고리즘을 사용하여 벡터 워크로드를 설정하기 위한 권장사항이라고도 하는 최적화된 SQL 명령어를 생성합니다.
  • 투명성 및 제어 제공: 권장사항을 검토, 수정, 적용할 수 있는 작업을 자동화할 때 각 권장사항에 대한 명확한 설명을 제공합니다.
  • 신속한 프로토타입 제작 지원: 잘 조정된 벡터 검색 설정을 빠르게 배포하여 개념 구상에서 프로덕션까지 걸리는 시간을 줄입니다.
  • 사용 편의성에 중점: 시맨틱 검색의 복잡성을 간소화하여 비즈니스 요구사항과 엔지니어링 요구사항 간의 격차를 해소합니다.

벡터 지원을 사용하면 간소화된 설정으로 시맨틱 검색 기능이 있는 엔드 투 엔드 애플리케이션을 빌드할 수 있습니다.

벡터 지원의 작동 방식

벡터 지원을 사용하려면 벡터 사양을 정의해야 합니다. 프레임워크는 벡터 사양(벡터 사양이라고도 함)을 사용하여 벡터 색인을 만드는 데 필요한 단계를 생성합니다. 벡터 지원은 벡터 워크로드를 권장사항으로 배포하는 데 필요한 단계를 출력합니다. 벡터 사양을 수정할 때마다 벡터 지원은 권장사항을 다시 생성합니다.

이러한 권장 단계를 사용하여 벡터 색인을 생성한 후 벡터 지원을 사용하여 최적화된 검색어를 생성할 수 있습니다.

벡터 지원 사양

벡터 지원을 사용하려면 먼저 벡터 색인 사양 또는 벡터 사양을 설정해야 합니다. 벡터 사양은 벡터 워크로드의 의도와 요구사항을 정의하는 객체입니다. 여기에는 다음을 비롯한 모든 필수 정보가 포함됩니다.

  • 테이블 및 관련 열 (텍스트 또는 벡터)
  • 임베딩 모델 환경설정 (임베딩 생성 사용 시)
  • 선호하는 색인 유형: HNSW 또는 IVFFlat. ScaNN 은 지원되지 않습니다.
  • 검색어의 타겟 재현율
  • 메모리 제한

vector_assist.define_spec 함수를 사용하여 벡터 사양을 정의하며 언제든지 수정할 수 있습니다. 시스템은 각 사양에 고유한 ID를 할당하고 vector_assist.VECTOR_SPECS라는 테이블에 저장합니다.

벡터 지원은 사양 입력과 최적의 색인 구성을 계산하는 최적화된 자동 조정 알고리즘을 추론합니다. 벡터 지원은 이러한 값을 사용하여 개발 프로세스를 간소화하지만 환경설정에 맞게 맞춤설정할 수도 있습니다.

벡터 지원 권장사항

벡터 사양을 정의한 후 벡터 지원은 입력을 처리하고 권장사항을 생성합니다. 이러한 권장사항은 사양에 따라 벡터 워크로드를 배포하기 위해 실행해야 하는 유용한 단계(일반적으로 SQL 명령어)의 정렬된 목록입니다. 각 권장사항에는 다음이 포함됩니다.

  • 실행할 SQL 쿼리
  • 쿼리가 수행하는 작업과 권장되는 이유에 대한 자세한 설명
  • 예상 색인 크기 또는 빌드 시간과 같은 잠재적 절충안 또는 비용에 관한 정보

벡터 지원은 권장사항을 vector_assist.RECOMMENDATIONS라는 테이블에 저장하며 개별적으로 또는 전체적으로 검토, 수정, 적용할 수 있습니다.

워크로드의 벡터 사양을 수정할 때마다 벡터 지원은 업데이트된 사양을 준수하도록 권장사항을 다시 생성합니다.

제한사항

AlloyDB 인스턴스에서 벡터 지원을 사용하는 경우 다음 제한사항을 고려하세요.

  • 벡터 지원은 PostgreSQL 버전 17 이상만 지원합니다.
  • 벡터 지원은 모든 pgvector 버전을 지원하지만 최적의 성능과 기능 지원을 위해 최신 버전을 사용하는 것이 좋습니다. 자세한 내용은 pgvector 변경 로그를 참고하세요.
  • 인스턴스에서 google_ml_integration 확장 프로그램을 사용하여 임베딩을 생성하는 경우 벡터 지원을 사용할 때도 제한사항이 적용됩니다. 자세한 내용은 AlloyDB 개요에서 원격 AI 모델 등록 및 호출을 참고하세요.
  • 벡터 지원은 HNSWIVFFlat 색인 유형만 지원합니다. ScaNN 색인 유형은 지원되지 않습니다.
  • 벡터 지원은 임베딩 자동 생성을 위한 텍스트 임베딩 모델만 지원하며 text_column_name을 입력 매개변수로 사용합니다. 벡터 워크로드에 멀티모달 임베딩 모델이 필요한 경우 google_ml_integration 확장 프로그램 또는 다른 확장 프로그램을 사용하여 이러한 임베딩을 수동으로 생성한 후 벡터 지원을 사용하여 이러한 임베딩에 시맨틱 검색을 사용 설정합니다.

다음 단계