벡터 어시스트 사용

이 페이지에서는 벡터 지원을 사용하여 PostgreSQL용 Cloud SQL 인스턴스에 벡터 워크로드를 배포하고 관리하는 방법을 설명합니다.

벡터 지원의 정의와 작동 방식에 대한 자세한 내용은 벡터 지원 개요를 참고하세요.

시작하기 전에

  • 인스턴스에서 올바른 유지보수 버전을 사용하고 있는지 확인합니다. 벡터 어시스트를 사용하려면 최소 유지보수 버전 번호가 PostgreSQL_$version.R20251004.01_07여야 합니다. 셀프 서비스 유지보수 실행에 관한 자세한 내용은 성능 셀프 서비스 유지보수를 참고하세요.
  • cloudsql.enable_vector_assist 데이터베이스 플래그를 ON로 설정합니다.
  • 사용하려는 데이터베이스에서 다음 명령어를 사용하여 벡터 지원 확장 프로그램을 사용 설정합니다.

    CREATE EXTENSION vector_assist CASCADE;
    

    이렇게 하면 벡터 지원에서 사용하는 vector_assist 스키마가 생성됩니다.

벡터 지원을 사용하여 벡터 워크로드 배포

벡터 어시스트를 사용하여 벡터 워크로드를 배포하고 관리하려면 다음을 수행해야 합니다.

벡터 사양 정의

벡터 사양 또는 벡터 사양을 정의하는 것은 벡터 어시스트를 사용하는 첫 번째 단계입니다. 벡터 워크로드의 유형에 따라 벡터 사양을 정의하는 데 사용하는 필드가 다를 수 있습니다.

예를 들어 테이블의 특정 열에서 시맨틱 검색을 사용 설정하려면 vector_assist.define_spec 함수를 실행하여 벡터 사양을 정의합니다.

SELECT vector_assist.define_spec(
  table_name => 'TABLE_NAME',
  vector_column_name => 'VECTOR_COLUMN_NAME',
  target_recall => TARGET_RECALL,
  tune_vector_index => TUNE_INDEX
);

다음 매개변수를 바꿉니다.

  • TABLE_NAME: 벡터 워크로드에서 사용하려는 테이블의 이름입니다.
  • VECTOR_COLUMN_NAME: 시맨틱 검색을 실행할 열입니다.
  • TARGET_RECALL: 벡터 지원이 충족해야 하는 타겟 재현율입니다.
  • TUNE_INDEX: 벡터 지원이 워크로드의 벡터 색인을 조정하는지 여부를 지정하는 불리언입니다.

벡터 사양에 사용할 수 있는 모든 파라미터의 전체 목록을 보려면 벡터 지원 참조를 참고하세요.

벡터 사양을 만들기 위한 쿼리를 실행하면 벡터 어시스트에서 벡터 워크로드를 배포하기 위해 실행해야 하는 단계(추천이라고 함)를 자동으로 생성합니다.

벡터 지원 추천 보기

벡터 사양을 사용하여 벡터 어시스턴트에서 생성된 추천을 보려면 vector_assist.get_recommendations 함수를 실행합니다.

SELECT vector_assist.get_recommendations(
  spec_id => 'SPEC_ID'
);

다음 매개변수를 바꿉니다.

  • SPEC_ID: 추천을 보려는 벡터 사양의 사양 ID입니다.

모든 추천이 포함된 vector_assist.RECOMMENDATIONS이라는 테이블을 반환합니다. 각 추천은 연결된 spec_id와 함께 테이블에 저장됩니다. 각 권장사항에는 일반적으로 실행해야 하는 SQL 쿼리, 권장사항에 대한 자세한 설명, 권장사항을 설명하는 기타 관련 정보가 포함됩니다.

벡터 어시스트 추천 적용

생성된 추천을 개별적으로 또는 전체적으로 적용할 수 있습니다.

특정 추천을 적용하려면 vector_assist.apply_recommendation 함수를 실행하세요.

SELECT vector_assist.apply_recommendation(
  recommendation_id => 'RECOMMENATION_ID',
);

다음 매개변수를 바꿉니다.

  • RECOMMENDATION_ID: vector_assist.RECOMMENDATIONS 테이블에서 적용할 벡터 지원 추천의 ID입니다.

모든 권장사항을 함께 적용하려면 spec_id 또는 table_name 매개변수와 함께 vector_assist.apply_spec 함수를 실행합니다.

SELECT vector_assist.apply_spec(
  spec_id => 'SPEC_ID',
  table_name => 'TABLE_NAME'
);

다음 매개변수를 바꿉니다.

  • SPEC_ID: 사용할 벡터 사양의 ID입니다.
  • TABLE_NAME: 벡터 사양을 정의하는 데 사용한 테이블의 이름입니다.

원하는 경우 schema_name 또는 column_name 매개변수를 입력할 수도 있습니다.

벡터 어시스트에서 생성된 추천을 적용하면 벡터 색인을 사용할 수 있습니다.

검색어 생성

벡터 어시스턴트를 사용하여 워크로드의 벡터 사양과 생성된 벡터 색인을 사용하여 배포된 벡터 워크로드에 최적화된 검색 쿼리를 빌드할 수 있습니다. 최적화된 검색어를 생성하려면 vector_assist.generate_query 함수를 실행하세요.

SELECT vector_assist.generate_query(
  spec_id => 'SPEC_ID',
  table_name => 'TABLE_NAME',
  column_name => 'COLUMN_NAME',
  search_text => 'SEARCH_TEXT',
  top_k => 'TOP_K_NAME',
  target_recall => TARGET_RECALL,
  filter_expression => 'FILTER_EXPRESSION'
);

다음 매개변수를 바꿉니다.

  • SPEC_ID: 사용할 사양의 ID입니다.
  • TABLE_NAME: 벡터 사양을 정의하는 데 사용한 테이블의 이름입니다.
  • COLUMN_NAME: 벡터 사양에서 정의한 원본 텍스트 열의 이름입니다.
  • SEARCH_TEXT: 열에서 검색할 텍스트입니다.
  • TOP_K: 반환할 최근접 이웃 수입니다.
  • TARGET_RECALL: 벡터 지원이 충족해야 하는 타겟 재현율입니다.
  • FILTER_EXPRESSION: 검색어의 필터입니다(예: 다른 열을 기반으로 필터링).

검색어 생성에 사용할 수 있는 모든 파라미터의 전체 목록을 보려면 벡터 어시스트 참조를 참고하세요.

이 함수의 출력은 SQL 쿼리가 포함된 텍스트를 반환합니다. 필요에 따라 이 SQL 쿼리를 실행하거나 저장할 수 있습니다.

다음 단계