Panoramica di Vector Assist

Vector Assist è un'estensione di AlloyDB per PostgreSQL che semplifica l'implementazione e la gestione dei workload vettoriali. Fornisce un framework SQL dichiarativo che ti aiuta a configurare funzionalità di ricerca vettoriale pronte per la produzione, come la generazione di incorporamenti, l'ottimizzazione delle query e la creazione di indici. Questo framework riduce la complessità dei workload vettoriali:

  • Semplificazione della dichiarazione dell'intent: i requisiti (come tabella, colonna di testo o richiamo del 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 che calcola la configurazione ottimale dell'indice.
  • Fornire trasparenza e controllo: fornisce spiegazioni chiare per ogni consiglio quando automatizza le attività che ti consentono di rivedere, modificare e applicare i consigli al tuo ritmo.
  • Abilitazione della prototipazione rapida: consente di eseguire rapidamente il deployment di una configurazione di ricerca vettoriale ben ottimizzata, riducendo il tempo che intercorre tra il concept e la produzione.
  • Concentrandosi sulla facilità d'uso: semplifica la complessità della ricerca semantica, colmando il divario tra i requisiti aziendali e quelli di ingegneria.

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

Come funziona l'aiuto vettoriale

L'assistenza vettoriale richiede di definire le specifiche del vettore. Il framework utilizza queste specifiche vettoriali, note anche come specifiche vettoriali, per generare i passaggi necessari per creare un indice vettoriale. Vector Assist restituisce i passaggi necessari per il deployment del workload vettoriale come suggerimenti. Ogni volta che modifichi la specifica del vettore, l'assistente 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 di Vector Assist

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

  • Tabelle e colonne pertinenti (testo o vettore)
  • Preferenze del modello di embedding (se utilizzi la generazione di embedding)
  • Tipo di indice preferito: HNSW o IVFFlat. ScaNN non è supportato.
  • Recupero del target per le query di ricerca
  • Limitazioni di memoria

Definisci la specifica del vettore utilizzando la funzione vector_assist.define_spec e puoi modificarla in qualsiasi momento. Il sistema assegna a ogni specifica un ID univoco e lo memorizza in una tabella denominata vector_assist.VECTOR_SPECS.

Vector Assist deduce gli input delle specifiche e un algoritmo di ottimizzazione automatica che calcola la configurazione ottimale dell'indice. 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 la specifica del vettore, l'assistente vettoriale elabora l'input e genera consigli. Questi suggerimenti sono un elenco ordinato di passaggi utili, in genere comandi SQL, che devi eseguire per eseguire il deployment del tuo 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.

Vector Assist memorizza i consigli in una tabella chiamata vector_assist.RECOMMENDATIONS, che puoi rivedere, modificare e applicare singolarmente o nel complesso.

Ogni volta che modifichi la specifica del vettore per il tuo carico di lavoro, l'assistente vettoriale rigenera i suggerimenti in conformità con le specifiche aggiornate.

Limitazioni

Quando utilizzi l'assistenza vettoriale con le tue istanze AlloyDB, tieni presente le seguenti limitazioni:

  • Vector Assist supporta solo PostgreSQL versione 17 e successive.
  • Sebbene l'assistenza vettoriale supporti tutte le versioni di pgvector, ti consigliamo di utilizzare la versione più recente per prestazioni ottimali e supporto delle funzionalità. Per maggiori informazioni, consulta il log delle modifiche di pgvector.
  • Se la tua istanza utilizza l'estensione google_ml_integration per generare incorporamenti, le relative limitazioni si applicano anche quando utilizzi l'assistenza vettoriale. Per saperne di più, consulta Registra e chiama modelli di AI remoti in AlloyDB: Panoramica.
  • Vector Assist supporta solo i tipi di indice HNSW e IVFFlat. I tipi di indice ScaNN non sono supportati.
  • Vector Assist supporta solo i modelli di text embedding per la generazione automatica degli embedding e utilizza text_column_name come parametro di input. Se il tuo workload vettoriale richiede un modello di incorporamento multimodale, utilizza l'estensione google_ml_integration o un'altra estensione per generare manualmente questi incorporamenti prima di utilizzare l'assistente vettoriale per attivare la ricerca semantica su questi incorporamenti.

Passaggi successivi