Utilizzare l'aiuto vettoriale

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

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