Esta página descreve como usar a assistência vetorial para implementar e gerir uma carga de trabalho vetorial na sua instância do Cloud SQL para PostgreSQL.
Para saber mais sobre o que é a assistência vetorial e como funciona, consulte a Vista geral da assistência vetorial.
Antes de começar
- Confirme que a sua instância está a usar a versão de manutenção correta.
O vector assist requer 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 autónoma, consulte o artigo Realize a manutenção autónoma. - Defina o sinalizador da base de dados
cloudsql.enable_vector_assistcomoON. Ative a extensão de assistência vetorial através do seguinte comando na base de dados que quer usar:
CREATE EXTENSION vector_assist CASCADE;Isto gera o esquema
vector_assist, que é usado pela assistência vetorial.
Use o assistente vetorial para implementar uma carga de trabalho vetorial
Para usar a assistência vetorial para implementar e gerir uma carga de trabalho vetorial, tem de fazer o seguinte:
- Defina a especificação do vetor
- Veja as recomendações de assistência vetorial
- Aplique recomendações de assistência vetorial
Defina a especificação do vetor
Definir a especificação de vetores ou a especificação de vetores é o primeiro passo para usar a assistência vetorial. Consoante o tipo de carga de trabalho vetorial, os campos que usa para definir a especificação vetorial podem ser diferentes.
Por exemplo, se quiser ativar a pesquisa semântica numa 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 quer usar no seu fluxo de trabalho vetorial.
- VECTOR_COLUMN_NAME: a coluna na qual quer fazer uma pesquisa semântica.
- TARGET_RECALL: a capacidade de memorização pretendida que quer que o assistente vetorial alcance.
- TUNE_INDEX: um valor booleano que especifica se o vetor de assistência otimiza os índices de vetores na sua carga de trabalho.
Para ver uma lista completa de todos os parâmetros disponíveis para a especificação do vetor, consulte a referência da assistência vetorial.
Depois de executar a consulta para criar a especificação de vetor, a assistência vetorial gera automaticamente passos, denominados recomendações, que tem de executar para implementar a carga de trabalho vetorial.
Veja recomendações de assistência vetorial
Para ver as recomendações geradas pela assistência vetorial com base na sua especificação vetorial, 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 o qual quer ver recomendações.
Devolve uma tabela denominada vector_assist.RECOMMENDATIONS que contém todas as recomendações. Cada recomendação é armazenada numa tabela com o spec_id associado. Geralmente, cada recomendação contém a consulta SQL que tem de executar, uma explicação detalhada da recomendação e outras informações relevantes que explicam a recomendação.
Aplique recomendações de assistência vetorial
Pode aplicar as recomendações geradas individualmente ou no seu conjunto.
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 vetorial que quer aplicar a partir da tabela
vector_assist.RECOMMENDATIONS.
Para aplicar todas as recomendações em conjunto, 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 vetorial que quer usar.
- TABLE_NAME: o nome da tabela que usou para definir a sua especificação de vetor.
Opcionalmente, também pode introduzir os parâmetros schema_name ou column_name.
Depois de aplicar as recomendações geradas pela assistência vetorial, o índice vetorial está pronto a ser usado.
Gere consultas de pesquisa
Pode usar a assistência vetorial para ajudar a criar consultas de pesquisa otimizadas para as cargas de trabalho vetoriais implementadas usando a especificação vetorial da carga de trabalho e o índice vetorial 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 quer usar.
- TABLE_NAME: o nome da tabela que usou para definir a especificação do vetor.
- COLUMN_NAME: o nome da coluna de texto original que definiu na especificação do vetor.
- SEARCH_TEXT: o texto que quer pesquisar na coluna.
- TOP_K: o número de vizinhos mais próximos a devolver.
- TARGET_RECALL: a capacidade de memorização pretendida que quer que o assistente vetorial alcance.
- FILTER_EXPRESSION: quaisquer filtros para a consulta de pesquisa, por exemplo, filtragem com base noutras colunas.
Para ver uma lista completa de todos os parâmetros disponíveis para gerar uma consulta de pesquisa, consulte a referência da assistência vetorial.
O resultado desta função devolve texto que contém uma consulta SQL. Pode executar ou guardar esta consulta SQL conforme necessário.
O que se segue?
- Saiba mais sobre a assistência vetorial.
- Referência de assistência vetorial.