Nesta página, descrevemos como usar a assistência vetorial para implantar e gerenciar uma carga de trabalho vetorial na instância do Cloud SQL para PostgreSQL.
Para saber mais sobre o que é a assistência vetorial e como ela funciona, 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. A assistência vetorial 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 performance. - Defina a flag de banco de dados
cloudsql.enable_vector_assistcomoON. 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 pela assistência vetorial.
Usar a assistência vetorial para implantar uma carga de trabalho vetorial
Para usar a assistência vetorial para implantar e gerenciar uma carga de trabalho vetorial, faça o seguinte:
- Definir a especificação vetorial
- Conferir as recomendações de assistência vetorial
- Aplicar as recomendações de assistência vetorial
Definir a especificação vetorial
A definição da especificação vetorial, ou especificação vetorial , é a primeira etapa para usar a assistência vetorial. Dependendo do tipo de carga de trabalho vetorial, os campos usados para definir a especificação vetorial 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 vetorial:
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 vetorial.
- VECTOR_COLUMN_NAME: a coluna em que você quer realizar uma pesquisa semântica.
- TARGET_RECALL: a meta de recall que você quer que a assistência vetorial atenda.
- TUNE_INDEX: um booleano que especifica se a assistência vetorial ajusta os índices vetoriais na carga de trabalho.
Para conferir uma lista completa de todos os parâmetros disponíveis para a especificação vetorial, consulte a referência da assistência vetorial.
Depois de executar a consulta para criar a especificação vetorial, a assistência vetorial gera automaticamente etapas, chamadas de recomendações, que você precisa executar para implantar a carga de trabalho vetorial.
Conferir as recomendações de assistência vetorial
Para conferir as recomendações geradas pela assistência vetorial usando a
especificação vetorial, 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 vetorial para a qual você quer conferir 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 de assistência vetorial
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 de assistência vetorial 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 vetorial que você quer usar.
- TABLE_NAME: o nome da tabela usada para definir a especificação vetorial.
Opcionalmente, você também pode inserir os parâmetros schema_name ou column_name.
Depois de aplicar as recomendações geradas pela assistência vetorial, o índice vetorial estará pronto para uso.
Gerar consultas de pesquisa
Você pode usar a assistência vetorial para ajudar a criar consultas de pesquisa otimizadas para as cargas de trabalho vetoriais implantadas usando a especificação vetorial da carga de trabalho e o índice vetorial 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 vetorial.
- COLUMN_NAME: o nome da coluna de texto original que você definiu na especificação vetorial.
- 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 atenda.
- FILTER_EXPRESSION: todos os filtros para a consulta de pesquisa, por exemplo, a 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 da assistência vetorial.
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 a assistência vetorial.
- Referência da assistência vetorial.