Utilizza l'assistente vettoriale per eseguire il deployment e gestire un workload vettoriale sulle tue istanze AlloyDB per PostgreSQL.
Per saperne di più su che cos'è l'aiuto vettoriale e come funziona, consulta Panoramica dell'aiuto vettoriale.
Prima di iniziare
- Verifica che la tua istanza utilizzi la versione di manutenzione corretta.
vector assist richiede un numero di versione di manutenzione minimo di
POSTGRES_17.20260128.03_06. Per saperne di più sull'esecuzione della manutenzione self-service, consulta Manutenzione self-service delle prestazioni. Attiva l'estensione di assistenza vettoriale utilizzando il seguente comando nel database che vuoi utilizzare:
CREATE EXTENSION vector_assist CASCADE;Viene generato lo schema
vector_assist, utilizzato dall'assistenza vettoriale.
Utilizzare l'assistente vettoriale per eseguire il deployment di un carico di lavoro vettoriale
Per utilizzare l'assistenza vettoriale per eseguire il deployment e gestire un workload vettoriale, devi:
- Definisci la specifica del vettore
- Visualizzare i suggerimenti di Vector Assist
- Applicare i suggerimenti di Vector Assist
Definisci la specifica del vettore
La definizione della specifica del vettore, o specifica del vettore, è il primo passo per utilizzare l'assistenza vettoriale. A seconda del tipo di workload vettoriale, i campi che utilizzi per definire la specifica del vettore potrebbero essere diversi.
Ad esempio, se vuoi attivare la ricerca semantica su una colonna specifica di una
tabella, esegui la funzione
vector_assist.define_spec
per definire la specifica del vettore:
SELECT
recommendation_id,
REGEXP_REPLACE(query, 'SET hnsw.ef_search TO \d+', 'SET hnsw.ef_search TO') AS query_1,
recommendation,
vector_spec_id,
table_name,
applied,
modified
FROM vector_assist.define_spec(
table_name => 'TABLE_NAME',
vector_column_name => 'VECTOR_COLUMN_NAME',
target_recall => TARGET_RECALL,
tune_vector_index => TUNE_INDEX
);
Sostituisci i seguenti parametri:
TABLE_NAME: il nome della tabella che vuoi utilizzare nel tuo workload vettoriale.- (Facoltativo)
VECTOR_COLUMN_NAME: colonna su cui vuoi eseguire una ricerca semantica. Se nella tabella è presente una sola colonna con vettori,vector_assistpuò impostarla automaticamente. Se sono presenti più tabelle con vettori, devi specificare quale colonna utilizzare. - (Facoltativo)
TARGET_RECALL: il richiamo target che vuoi che l'assistenza vettoriale soddisfi. Se specificato,vector_assistesperimenti con valorief_searchdiversi, confrontando il richiamo nelle ricerche esatte e di vicinato più prossimo.vector_assistimpostaef_searchsul valore che fornisce il richiamo target più vicino. Il valore predefinito è0.95. - (Facoltativo)
TUNE_INDEX: valore booleano che specifica se l'assistenza vettoriale ottimizza gli indici vettoriali nel tuo workload. Il valore predefinito èfalse, il che significa che vengono ottimizzati solo i parametri correlati alla ricerca (ef_search), mentre i parametri di tempo di compilazione (m,ef_construction) non vengono ottimizzati.
Per visualizzare un elenco completo di tutti i parametri disponibili per la specifica del vettore, consulta Riferimenti alla funzione di assistenza vettoriale.
Dopo aver eseguito la query per creare la specifica del vettore, l'assistente vettoriale genera automaticamente passaggi, chiamati consigli, che devi eseguire per eseguire il deployment del carico di lavoro vettoriale.
Visualizzare i suggerimenti per l'assistenza vettoriale
Per visualizzare i consigli generati da vector assist utilizzando la specifica del vettore,
esegui la funzione
vector_assist.get_recommendations:
SELECT vector_assist.get_recommendations(
spec_id => 'SPEC_ID'
);
Sostituisci SPEC_ID con l'ID
della specifica del vettore per cui vuoi visualizzare i suggerimenti. Per ottenere l'elenco delle specifiche vettoriali disponibili, consulta Elencare le specifiche vettoriali.
vector_assist.get_recommendations restituisce una tabella chiamata
vector_assist.RECOMMENDATIONS che contiene tutti i consigli. Ogni
consiglio viene memorizzato in una tabella con il spec_id associato. Ogni
consiglio in genere contiene le seguenti informazioni:
- Query SQL da eseguire
- Spiegazione dettagliata del suggerimento
- Altre informazioni pertinenti che spiegano il consiglio
Applica i suggerimenti per l'assistenza vettoriale
Puoi applicare i consigli generati singolarmente o nel loro complesso.
Per applicare un consiglio specifico, esegui la funzione
vector_assist.apply_recommendation:
SELECT vector_assist.apply_recommendation(
recommendation_id => 'RECOMMENDATION_ID'
);
Sostituisci RECOMMENDATION_ID con l'ID del suggerimento di assistenza vettoriale che vuoi applicare dalla tabella vector_assist.RECOMMENDATIONS.
Per applicare tutti i consigli insieme, esegui la funzione
vector_assist.apply_spec
con il parametro spec_id o table_name:
SELECT vector_assist.apply_spec(
spec_id => 'SPEC_ID'
);
Sostituisci SPEC_ID con l'ID della specifica del vettore che vuoi utilizzare.
Se vuoi, puoi anche inserire i parametri schema_name o column_name.
Per informazioni su tutti parametri di ricerca disponibili, consulta
Riferimenti alle funzioni di assistenza vettoriale.
Una volta applicati i suggerimenti generati dall'assistente vettoriale, l'indice vettoriale è pronto per l'uso.
Generare query di ricerca
Puoi utilizzare l'assistenza vettoriale per creare query di ricerca ottimizzate per i tuoi
carichi di lavoro vettoriali di cui è stato eseguito il deployment utilizzando la specifica vettoriale del carico di lavoro e l'indice vettoriale
generato. Per generare una query di ricerca ottimizzata, esegui la funzione
vector_assist.generate_query:
SELECT vector_assist.generate_query(
spec_id => 'SPEC_ID',
search_vector => 'SEARCH_VECTOR',
top_k => 'TOP_K',
target_recall => TARGET_RECALL,
filter_expression => 'FILTER_EXPRESSION'
);
Sostituisci i seguenti parametri:
SPEC_ID: l'ID della specifica che vuoi utilizzare.SEARCH_VECTOR: il vettore per la query di ricerca. Ad esempio,[1, 2, 3].- (Facoltativo)
TOP_K: numero di vicini più vicini da restituire. Se non è specificato, il valore predefinito è10. - (Facoltativo)
TARGET_RECALL: il richiamo target che vuoi che l'assistenza vettoriale soddisfi. Se specificato,vector_assistesperimenti con valorief_searchdiversi, confrontando il richiamo nelle ricerche esatte e di vicinato più prossimo.vector_assistimpostaef_searchsul valore che fornisce il richiamo target più vicino. - (Facoltativo)
FILTER_EXPRESSION: eventuali filtri per la query di ricerca. Ad esempio, il filtro in base ad altre colonne.
Per visualizzare un elenco completo di tutti i parametri disponibili per generare una query di ricerca, consulta Riferimenti alle funzioni di assistenza vettoriale.
L'output di questa funzione restituisce un testo che contiene una query SQL. Puoi eseguire o salvare questa query SQL in base alle tue esigenze.
Elenca le specifiche vettoriali
Se devi elencare una persona o tutte le tue specifiche vettoriali esistenti, esegui
la funzione vector_assist.list_specs:
SELECT vector_assist.list_specs(
spec_id => 'SPEC_ID',
table_name => 'TABLE_NAME'
);
Sostituisci i seguenti parametri:
- (Facoltativo)
SPEC_ID: ID della specifica del vettore che vuoi utilizzare. TABLE_NAME: il nome della tabella che hai utilizzato per definire la specifica del vettore.
Passaggi successivi
- Scopri di più sull'assistenza vettoriale.
- Riferimenti alla funzione di assistenza vettoriale.