Utilizzare l'aiuto vettoriale

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_assist su ON.
  • 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

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