Questa pagina descrive come utilizzare l'assistenza vettoriale per eseguire il deployment e gestire un carico di lavoro vettoriale sull'istanza Cloud SQL per PostgreSQL.
Per scoprire di più sull'assistenza vettoriale e sul suo funzionamento, consulta la panoramica dell'assistenza vettoriale.
Prima di iniziare
- Verifica che l'istanza utilizzi la versione di manutenzione corretta. L'assistenza vettoriale 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 del database
cloudsql.enable_vector_assistsuON. Abilita 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:
- Definire la specifica del vettore
- Visualizzare i consigli dell'assistenza vettoriale
- Applicare i consigli dell'assistenza vettoriale
Definire 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 carico di lavoro vettoriale, i campi utilizzati per definire la specifica del vettore potrebbero essere diversi.
Ad esempio, se vuoi abilitare la ricerca semantica su una colonna specifica
di una tabella, esegui la
vector_assist.define_spec
funzione 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 carico di lavoro 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 l'assistenza vettoriale ottimizza gli indici vettoriali nel carico di lavoro.
Per visualizzare un elenco completo di tutti i parametri disponibili per la specifica del vettore, consulta la documentazione di riferimento dell'assistenza vettoriale.
Dopo aver eseguito la query per creare la specifica del vettore, l'assistenza vettoriale genera automaticamente passaggi, chiamati consigli, che devi eseguire per eseguire il deployment del carico di lavoro vettoriale.
Visualizzare i consigli dell'assistenza vettoriale
Per visualizzare i consigli generati dall'assistenza vettoriale utilizzando la
specifica del vettore, esegui la
vector_assist.get_recommendations
funzione:
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 consigli.
Restituisce una tabella denominata vector_assist.RECOMMENDATIONS che contiene tutti i consigli. Ogni suggerimento viene archiviato in una tabella con l'spec_id associato. In genere, ogni suggerimento contiene la query SQL che devi eseguire, una spiegazione dettagliata del suggerimento e altre informazioni pertinenti che spiegano il suggerimento.
Applicare i consigli dell'assistenza vettoriale
Puoi applicare i consigli generati singolarmente o nel loro complesso.
Per applicare un suggerimento specifico, esegui la
vector_assist.apply_recommendation
funzione:
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
vector_assist.apply_spec
funzione 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.
Facoltativamente, 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 carichi di lavoro vettoriali di cui hai eseguito il deployment utilizzando la specifica del vettore del carico di lavoro e l'indice vettoriale generato. Per generare una query di ricerca ottimizzata, esegui
la vector_assist.generate_query
funzione:
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 la generazione di una query di ricerca, consulta la documentazione di riferimento dell'assistenza vettoriale.
L'output di questa funzione restituisce testo contenente una query SQL. Puoi eseguire o salvare questa query SQL in base alle esigenze.
Passaggi successivi
- Scopri di più sull'assistenza vettoriale.
- Documentazione di riferimento dell'assistenza vettoriale.