Questa pagina descrive come utilizzare l'assistente vettoriale per eseguire il deployment e gestire un carico di lavoro vettoriale nell'istanza Cloud SQL per PostgreSQL.
Per saperne di più su che cos'è l'assistenza vettoriale e come funziona, consulta Panoramica dell'assistenza 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
PostgreSQL_$version.R20251004.01_07. Per saperne di più sull'esecuzione della manutenzione self-service, consulta Manutenzione self-service delle prestazioni. - Imposta il flag di database
cloudsql.enable_vector_assistsuON. Attiva l'estensione di assistenza vettoriale utilizzando il seguente comando nel database che vuoi utilizzare:
CREATE EXTENSION vector_assist CASCADE;In questo modo viene generato lo schema
vector_assist, utilizzato dall'assistenza vettoriale.
Utilizzare l'assistenza vettoriale per eseguire il deployment di un carico di lavoro vettoriale
Per utilizzare l'assistenza vettoriale per eseguire il deployment e gestire un carico di lavoro 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 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.
- VECTOR_COLUMN_NAME: la colonna su cui vuoi eseguire una ricerca semantica.
- TARGET_RECALL: il richiamo target che vuoi che l'assistenza vettoriale soddisfi.
- TUNE_INDEX: un valore booleano che specifica se vector assist ottimizza gli indici vettoriali nel tuo workload.
Per visualizzare un elenco completo di tutti i parametri disponibili per la specifica del vettore, consulta Riferimento all'assistenza vettoriale.
Dopo aver eseguito la query per creare la specifica del vettore, l'assistente vettoriale genera automaticamente i passaggi, chiamati consigli, che devi eseguire per eseguire il deployment del carico di lavoro vettoriale.
Visualizzare i consigli di assistenza vettoriale
Per visualizzare i consigli generati da vector assist utilizzando la specifica vettoriale, esegui la funzione
vector_assist.get_recommendations:
SELECT vector_assist.get_recommendations(
spec_id => 'SPEC_ID'
);
Sostituisci i seguenti parametri:
- SPEC_ID: l'ID della specifica del vettore per cui vuoi visualizzare i suggerimenti.
Restituisce una tabella denominata vector_assist.RECOMMENDATIONS che contiene tutti
i consigli. Ogni consiglio viene memorizzato in una tabella con il
spec_id associato. Ogni suggerimento in genere contiene la query SQL
che devi eseguire, una spiegazione dettagliata del suggerimento e altre
informazioni pertinenti che spiegano il suggerimento.
Applica i suggerimenti di 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 => 'RECOMMENATION_ID',
);
Sostituisci i seguenti parametri:
- RECOMMENDATION_ID: 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',
table_name => 'TABLE_NAME'
);
Sostituisci i seguenti parametri:
- SPEC_ID: l'ID della specifica del vettore che vuoi utilizzare.
- TABLE_NAME: il nome della tabella che hai utilizzato per definire la specifica del vettore.
Se vuoi, puoi anche inserire i parametri schema_name o column_name.
Una volta applicati i consigli generati dall'assistenza 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 workload vettoriali di cui è stato eseguito il deployment utilizzando la specifica vettoriale del workload 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',
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'
);
Sostituisci i seguenti parametri:
- SPEC_ID: l'ID della specifica che vuoi utilizzare.
- TABLE_NAME: il nome della tabella che hai utilizzato per definire la specifica del vettore.
- COLUMN_NAME: il nome della colonna di testo originale che hai definito nella specifica del vettore.
- SEARCH_TEXT: il testo che vuoi cercare nella colonna.
- TOP_K: il numero di vicini più vicini da restituire.
- TARGET_RECALL: il richiamo target che vuoi che l'assistenza vettoriale soddisfi.
- FILTER_EXPRESSION: eventuali filtri per la query di ricerca, ad esempio il filtraggio in base ad altre colonne.
Per visualizzare un elenco completo di tutti i parametri disponibili per generare una query di ricerca, consulta Riferimento per l'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.
Passaggi successivi
- Scopri di più sull'assistenza vettoriale.
- Guida di riferimento per l'assistenza vettoriale.