Panoramica di Vector Assist

L'assistenza vettoriale è un'estensione di Cloud SQL per PostgreSQL che semplifica il deployment e la gestione dei workload vettoriali di Cloud SQL. Fornisce un framework SQL dichiarativo che ti aiuta a configurare funzionalità di ricerca vettoriale pronte per la produzione, come la generazione di embedding, l'ottimizzazione delle query e la creazione di indici. Questo framework riduce la complessità dei workload vettoriali nei seguenti modi:

  • Semplificazione della dichiarazione dell'intent: i requisiti (come tabella, colonna di testo o richiamo target) vengono dichiarati utilizzando le funzioni SQL.
  • Automazione delle best practice: genera comandi SQL ottimizzati, noti anche come consigli, per configurare il workload vettoriale utilizzando la specifica vettoriale definita e un algoritmo di ottimizzazione automatica ottimizzato che calcola la configurazione dell'indice ottimale.
  • Fornitura di trasparenza e controllo: fornisce spiegazioni chiare per ogni suggerimento durante l'automazione delle attività che ti consentono di esaminare, modificare e applicare i suggerimenti al tuo ritmo.
  • Abilitazione della prototipazione rapida: consente di eseguire rapidamente il deployment di una configurazione di ricerca vettoriale ottimizzata, riducendo il tempo dal concetto alla produzione.
  • Concentrazione sulla facilità d'uso: semplifica la complessità della ricerca semantica, colmando il divario tra i requisiti aziendali e di ingegneria.

Con l'assistenza vettoriale, puoi creare applicazioni end-to-end con funzionalità di ricerca semantica con una configurazione semplificata.

Come funziona l'assistenza vettoriale

Per utilizzare l'assistenza vettoriale, devi definire le specifiche vettoriali. Il framework utilizza queste specifiche vettoriali, note anche come specifiche vettoriali, per generare i passaggi necessari per creare un indice vettoriale. L'assistenza vettoriale restituisce i passaggi necessari per eseguire il deployment del workload vettoriale come consigli. Ogni volta che modifichi le specifiche vettoriali, l'assistenza vettoriale rigenera i consigli.

Dopo aver generato l'indice vettoriale utilizzando questi passaggi consigliati, puoi utilizzare l'assistenza vettoriale per generare query di ricerca ottimizzate.

Specifiche dell'assistenza vettoriale

La configurazione delle specifiche dell'indice vettoriale, o specifiche vettoriali, è il primo passo per utilizzare l'assistenza vettoriale. Una specifica vettoriale è un oggetto in cui definisci l'intento e i requisiti per il tuo workload vettoriale. Include tutte le informazioni necessarie, tra cui:

  • Le tabelle e le colonne pertinenti (testo o vettore)
  • Preferenze del modello di embedding (se utilizzi la generazione di embedding)
  • Tipo di indice preferito, ad esempio HNSW o IVFFlat.
  • Richiamo target per le query di ricerca
  • Limitazioni di memoria o altri vincoli di rendimento

Definisci le specifiche vettoriali utilizzando la vector_assist.define_spec funzione e puoi modificarle in qualsiasi momento. Il sistema assegna a ogni specifica un ID univoco e lo memorizza in una tabella denominata vector_assist.vector_specs.

L'assistenza vettoriale deduce gli input delle specifiche e un algoritmo di ottimizzazione automatica ottimizzato che calcola la configurazione dell'indice ottimale. Sebbene l'assistenza vettoriale utilizzi questi valori per semplificare il processo di sviluppo, puoi comunque personalizzarli in base alle tue preferenze.

Consigli per l'assistenza vettoriale

Dopo aver definito le specifiche vettoriali, l'assistenza vettoriale elabora l'input e genera consigli. Questi consigli sono un elenco ordinato di passaggi utili, in genere comandi SQL, che devi eseguire per eseguire il deployment del workload vettoriale in base alle tue specifiche. Ogni consiglio include:

  • La query SQL da eseguire.
  • Una spiegazione dettagliata di cosa fa la query e perché è consigliata.
  • Informazioni su potenziali compromessi o costi, come le dimensioni stimate dell'indice o il tempo di compilazione.

L'assistenza vettoriale memorizza i consigli in una tabella denominata vector_assist.recommendation e puoi esaminarli, modificarli e applicarli singolarmente o nel complesso.

Ogni volta che modifichi le specifiche vettoriali per il tuo workload, l'assistenza vettoriale rigenera i consigli per rispettare le specifiche aggiornate.

Limitazioni

Quando utilizzi l'assistenza vettoriale con le istanze Cloud SQL per PostgreSQL, considera le seguenti limitazioni:

  • L'assistenza vettoriale supporta solo le versioni di PostgreSQL 12 e successive.
  • Sebbene l'assistenza vettoriale supporti tutte le versioni di pgvector, ti consigliamo di utilizzare la versione più recente per prestazioni e supporto delle funzionalità ottimali. Per ulteriori informazioni, consulta il pgvector log delle modifiche.
  • Se l'istanza utilizza l'estensione google_ml_integration per generare gli embedding, le relative limitazioni si applicano anche quando utilizzi l'assistenza vettoriale. Per ulteriori informazioni, vedi Panoramica della gestione degli endpoint del modello.
  • L'assistenza vettoriale supporta solo i tipi di indice HNSW e IVFFlat.
  • L'assistenza vettoriale supporta solo i modelli di text embedding per la generazione automatica di embedding e utilizza text_column_name come parametro di input. Se il tuo workload vettoriale richiede un modello di embedding multimodale, utilizza l'estensione google_ml_integration o un'altra estensione per generare manualmente questi embedding prima di utilizzare l'assistenza vettoriale per abilitare la ricerca semantica su questi embedding.

Passaggi successivi