Usar a assistência de vetor

Nesta página, descrevemos como usar o recurso de assistência de vetor para implantar e gerenciar uma carga de trabalho de vetor na sua instância do Cloud SQL para PostgreSQL.

Para saber mais sobre o que é e como funciona a assistência vetorial, consulte Visão geral da assistência vetorial.

Antes de começar

  • Confirme se a instância está usando a versão de manutenção correta. O Vector Assist exige um número de versão de manutenção mínimo de PostgreSQL_$version.R20251004.01_07. Para mais informações sobre como realizar a manutenção de autoatendimento, consulte Manutenção de autoatendimento de desempenho.
  • Defina a flag de banco de dados cloudsql.enable_vector_assist como ON.
  • Ative a extensão de assistência vetorial usando o seguinte comando no banco de dados que você quer usar:

    CREATE EXTENSION vector_assist CASCADE;
    

    Isso gera o esquema vector_assist, que é usado pelo assistente de vetor.

Usar o Vector Assist para implantar uma carga de trabalho de vetor

Para usar o Vector Assist na implantação e no gerenciamento de uma carga de trabalho de vetor, faça o seguinte:

Definir sua especificação de vetor

Definir a especificação de vetor ou especificação de vetor é a primeira etapa para usar a assistência de vetor. Dependendo do tipo de carga de trabalho de vetor, os campos usados para definir a especificação de vetor podem ser diferentes.

Por exemplo, se você quiser ativar a pesquisa semântica em uma coluna específica de uma tabela, execute a função vector_assist.define_spec para definir a especificação do vetor:

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

Substitua os seguintes parâmetros:

  • TABLE_NAME: o nome da tabela que você quer usar na sua carga de trabalho de vetor.
  • VECTOR_COLUMN_NAME: a coluna em que você quer fazer uma pesquisa semântica.
  • TARGET_RECALL: a meta de recall que você quer que a assistência vetorial atinja.
  • TUNE_INDEX: um booleano que especifica se o Vector Assist ajusta os índices de vetor na sua carga de trabalho.

Para conferir uma lista completa de todos os parâmetros disponíveis para a especificação de vetor, consulte a Referência da assistência de vetor.

Depois de executar a consulta para criar a especificação de vetor, o assistente de vetor gera automaticamente etapas, chamadas de recomendações, que você precisa executar para implantar sua carga de trabalho de vetor.

Ver recomendações de assistência de vetor

Para conferir as recomendações geradas pela assistência de vetores usando sua especificação de vetor, execute a função vector_assist.get_recommendations:

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

Substitua os seguintes parâmetros:

  • SPEC_ID: o ID da especificação do vetor para que você quer ver recomendações.

Retorna uma tabela chamada vector_assist.RECOMMENDATIONS que contém todas as recomendações. Cada recomendação é armazenada em uma tabela com o spec_id associado. Cada recomendação geralmente contém a consulta SQL que você precisa executar, uma explicação detalhada e outras informações relevantes que explicam a recomendação.

Aplicar recomendações do Vector Assist

Você pode aplicar as recomendações geradas individualmente ou como um todo.

Para aplicar uma recomendação específica, execute a função vector_assist.apply_recommendation:

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

Substitua os seguintes parâmetros:

  • RECOMMENDATION_ID: o ID da recomendação de assistência de vetor que você quer aplicar na tabela vector_assist.RECOMMENDATIONS.

Para aplicar todas as recomendações juntas, execute a função vector_assist.apply_spec com o parâmetro spec_id ou table_name:

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

Substitua os seguintes parâmetros:

  • SPEC_ID: o ID da especificação de vetor que você quer usar.
  • TABLE_NAME: o nome da tabela que você usou para definir a especificação do vetor.

Também é possível inserir os parâmetros schema_name ou column_name.

Depois de aplicar as recomendações geradas pelo recurso de assistência de vetor, o índice de vetor estará pronto para uso.

Gerar consultas de pesquisa

Você pode usar o Vector Assist para criar consultas de pesquisa otimizadas para suas cargas de trabalho de vetor implantadas usando a especificação de vetor da carga de trabalho e o índice de vetor gerado. Para gerar uma consulta de pesquisa otimizada, execute a função 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'
);

Substitua os seguintes parâmetros:

  • SPEC_ID: o ID da especificação que você quer usar.
  • TABLE_NAME: o nome da tabela que você usou para definir a especificação do vetor.
  • COLUMN_NAME: o nome da coluna de texto original que você definiu na especificação de vetor.
  • SEARCH_TEXT: o texto que você quer pesquisar na coluna.
  • TOP_K: o número de vizinhos mais próximos a serem retornados.
  • TARGET_RECALL: a meta de recall que você quer que a assistência vetorial atinja.
  • FILTER_EXPRESSION: filtros para a consulta de pesquisa, por exemplo, com base em outras colunas.

Para conferir uma lista completa de todos os parâmetros disponíveis para gerar uma consulta de pesquisa, consulte a referência do Vector Assist.

A saída dessa função retorna um texto que contém uma consulta SQL. Você pode executar ou salvar essa consulta SQL conforme necessário.

A seguir