Introduzione alla ricerca vettoriale

Per fornire feedback o richiedere assistenza per questa funzionalità, invia un'email all'indirizzo bq-vector-search@google.com.

Questo documento fornisce una panoramica della ricerca vettoriale in BigQuery. La ricerca vettoriale consente di cercare negli incorporamenti per identificare entità semanticamente simili.

Gli incorporamenti sono vettori numerici ad alta dimensionalità che rappresentano una determinata entità, come un testo o un file audio. I modelli di machine learning (ML) utilizzano gli incorporamenti per codificare la semantica su queste entità al fine di semplificarne la comprensione e il confronto. Ad esempio, un'operazione comune nei modelli di clustering, classificazione e suggerimento è misurare la distanza tra i vettori in uno spazio di incorporamento per trovare elementi semanticamente simili.

Per eseguire una ricerca vettoriale, puoi utilizzare la funzione VECTOR_SEARCH e, facoltativamente, un indice vettoriale. Quando si utilizza un indice vettoriale, VECTOR_SEARCH utilizza la tecnica di ricerca Vicino approssimato più vicino per migliorare le prestazioni della ricerca vettoriale, con il vantaggio di ridurre il richiamo e restituire risultati più approssimativi. La forza bruta viene utilizzata per restituire risultati esatti quando non è disponibile un indice vettoriale e puoi scegliere di utilizzare la forza bruta per ottenere risultati esatti anche quando è disponibile un indice vettoriale.

Casi d'uso

La combinazione di generazione di incorporamenti e ricerca vettoriale consente molti casi d'uso interessanti, di cui la generazione aumentata con recupero (RAG) è quella canonica. Ecco altri possibili casi d'uso:

  • Dato un gruppo di nuove richieste di assistenza, trova diverse richieste risolte simili per ciascuna. Passa le informazioni sulle richieste risolte a un modello linguistico di grandi dimensioni (LLM) da utilizzare come contesto per riepilogare e suggerire soluzioni per le nuove richieste di assistenza.
  • Data una voce dell'audit log, trova le voci con più corrispondenza negli ultimi 30 giorni.
  • Genera incorporamenti dai dati del profilo dei pazienti, quindi utilizza la ricerca vettoriale per trovare pazienti con profili simili ed esplorare piani di trattamento efficaci prescritti a quella coorte di pazienti.
  • Dati gli incorporamenti che rappresentano i momenti pre-incidente di tutti i sensori e le telecamere di una flotta di scuolabus, trova momenti simili da tutti gli altri veicoli del parco risorse per un'ulteriore analisi, messa a punto e riaddestramento dei modelli che regolano l'utilizzo delle funzionalità di sicurezza.
  • Data un'immagine, trova le immagini più correlate in una tabella di oggetti BigQuery e passale a un modello per generare didascalie.

Prezzi

L'istruzione CREATE VECTOR INDEX e la funzione VECTOR_SEARCH utilizzano i prezzi di calcolo di BigQuery. Per l'istruzione CREATE VECTOR INDEX, nei byte elaborati viene considerata solo la colonna indicizzata.

Non è previsto alcun costo per l'elaborazione richiesta per creare e aggiornare gli indici vettoriali quando la dimensione totale dei dati delle tabelle indicizzati nella tua organizzazione è inferiore al limite di 20 TB. Per supportare l'indicizzazione oltre questo limite, devi fornire la tua prenotazione per la gestione dei job di gestione dell'indice. Gli indici vettoriali comportano costi di archiviazione quando sono attivi. Puoi trovare le dimensioni dello spazio di archiviazione dell'indice nella vista INFORMATION_SCHEMA.VECTOR_INDEXES. Se l'indice vettoriale non ha ancora una copertura del 100%, ti viene comunque addebitato tutto l'archiviazione dell'indice riportato nella vista INFORMATION_SCHEMA.VECTOR_INDEXES.

Quote e limiti

Per maggiori informazioni, vedi Limiti degli indici vettoriali.

Limitazioni

  • Le query che contengono la funzione VECTOR_SEARCH non vengono accelerate da BigQuery BI Engine.
  • All'uso di VECTOR_SEARCH si applicano le regole di governance e di sicurezza dei dati di BigQuery. Per maggiori informazioni, consulta la sezione Limitazioni in VECTOR_SEARCH. Queste regole non si applicano alla generazione di indici vettoriali.

Passaggi successivi

  • Scopri di più sulla creazione di un indice vettoriale.
  • Prova il tutorial Ricerca degli incorporamenti con la ricerca vettoriale per scoprire come creare un indice vettoriale ed eseguire una ricerca vettoriale di incorporamenti con e senza l'indice.
  • Prova il tutorial Genera e utilizza incorporamenti di testo per scoprire come eseguire le seguenti attività:

    • Genera incorporamenti di testo.
    • Crea un indice vettoriale sugli incorporamenti.
    • Esegui una ricerca vettoriale con gli incorporamenti per cercare testo simile.
    • Eseguire RAG (Retrieval-Augmented Generation) utilizzando i risultati di ricerca vettoriali per aumentare l'input dei prompt e migliorare i risultati.