Nesta página, descrevemos como usar o assistente de vetor para implantar e gerenciar uma carga de trabalho de vetor na instância do Cloud SQL para PostgreSQL.
Para saber mais sobre o que é o assistente de vetor e como ele funciona, consulte Visão geral do assistente de vetor.
Antes de começar
- Confirme se a instância está usando a versão de manutenção correta. O assistente de vetor 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_assistcomoON. Ative a extensão do assistente de vetor usando o comando a seguir 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 assistente de vetor para implantar uma carga de trabalho de vetor
Para usar o assistente de vetor para implantar e gerenciar uma carga de trabalho de vetor, faça o seguinte:
- Definir a especificação do vetor
- Ver as recomendações do assistente de vetor
- Aplicar as recomendações do assistente de vetor
Definir a especificação do vetor
A definição da especificação do vetor, ou especificação de vetor , é a primeira etapa para usar o assistente 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
em uma tabela, execute a
vector_assist.define_spec
função 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 carga de trabalho de vetor.
- VECTOR_COLUMN_NAME: a coluna em que você quer realizar uma pesquisa semântica.
- TARGET_RECALL: a meta de recall que você quer que o assistente de vetor atenda.
- TUNE_INDEX: um booleano que especifica se o assistente de vetor ajusta os índices de vetor na carga de trabalho.
Para conferir uma lista completa de todos os parâmetros disponíveis para a especificação do vetor, consulte a referência do assistente de vetor.
Depois de executar a consulta para criar a especificação do vetor, o assistente de vetor gera automaticamente etapas, chamadas de recomendações, que você precisa executar para implantar a carga de trabalho de vetor.
Ver as recomendações do assistente de vetor
Para conferir as recomendações geradas pelo assistente de vetor usando a
especificação do vetor, execute a
vector_assist.get_recommendations
função:
SELECT vector_assist.get_recommendations(
spec_id => 'SPEC_ID'
);
Substitua os seguintes parâmetros:
- SPEC_ID: o ID da especificação do vetor para a qual você quer ver as 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 da recomendação e outras informações relevantes que explicam a recomendação.
Aplicar as recomendações do assistente de vetor
Você pode aplicar as recomendações geradas individualmente ou como um todo.
Para aplicar uma recomendação específica, execute a
vector_assist.apply_recommendation
função:
SELECT vector_assist.apply_recommendation(
recommendation_id => 'RECOMMENATION_ID',
);
Substitua os seguintes parâmetros:
- RECOMMENDATION_ID: o ID da recomendação do assistente de vetor que você quer aplicar na tabela
vector_assist.RECOMMENDATIONS.
Para aplicar todas as recomendações juntas, execute a
vector_assist.apply_spec
função 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 do vetor que você quer usar.
- TABLE_NAME: o nome da tabela usada para definir a especificação do vetor.
Opcionalmente, você também pode inserir os parâmetros schema_name ou column_name.
Depois de aplicar as recomendações geradas pelo assistente de vetor, o índice de vetor estará pronto para uso.
Gerar consultas de pesquisa
Você pode usar o assistente de vetor para ajudar a criar consultas de pesquisa otimizadas para 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 vector_assist.generate_query
função:
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 usada para definir a especificação do vetor.
- COLUMN_NAME: o nome da coluna de texto original definida na especificação do 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 o assistente de vetor atenda.
- FILTER_EXPRESSION: todos os filtros para a consulta de pesquisa, por exemplo, filtragem 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 assistente de vetor.
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
- Saiba mais sobre o assistente de vetor.
- Referência do assistente de vetor.