Introduzione alla ricerca vettoriale
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 di alta dimensione che rappresentano una determinata entità, come un testo o un file audio. I modelli di machine learning (ML) utilizzano gli embedding per codificare la semantica di queste entità in modo da facilitare il ragionamento e il confronto. Ad esempio, un'operazione comune nei modelli di clustering, classificazione e consigli è misurare la distanza tra i vettori in uno spazio di embedding per trovare gli elementi più semanticamente simili.
Per eseguire una ricerca vettoriale, utilizza la
funzione VECTOR_SEARCH
e, facoltativamente, un indice di vettori. Quando viene utilizzato un indice vettoriale, VECTOR_SEARCH
utilizza la tecnica di ricerca del vicino più prossimo approssimativo per contribuire a migliorare le prestazioni della ricerca vettoriale, con il compromesso della riduzione del ricovero e quindi la restituzione di risultati più approssimativi. La forza bruta viene utilizzata per restituire risultati esatti quando non è disponibile un indice di vettori e puoi scegliere di utilizzarla per ottenere risultati esatti anche quando è disponibile un indice di vettori.
Casi d'uso
La combinazione di generazione di embedding e ricerca vettoriale consente molti casi d'uso interessanti, tra cui la retrieval-augmented generation (RAG). Ecco alcuni altri possibili casi d'uso:
- Dato un lotto di nuove richieste di assistenza, trovare diverse richieste risolte simili per ciascuna. Trasmettere 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 di log di controllo, trova le voci corrispondenti più strette negli ultimi 30 giorni.
- Genera embedding dai dati del profilo del paziente, quindi utilizza la ricerca vettoriale per trovare pazienti con profili simili al fine di esplorare i piani di cura efficaci prescritti a quella coorte di pazienti.
- Dati gli embedding che rappresentano i momenti precedenti l'incidente di tutti i sensori e le videocamere di un parco di scuolabus, trova momenti simili di tutti gli altri veicoli del parco per ulteriori analisi, ottimizzazione e retraining 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 sottotitoli codificati.
Prezzi
L'istruzione CREATE VECTOR INDEX
e la funzione VECTOR_SEARCH
utilizzano i prezzi di BigQuery Compute.
Per l'istruzione CREATE VECTOR INDEX
, viene considerata solo la colonna indicizzata
nei byte elaborati.
L'elaborazione necessaria per creare e aggiornare gli indici di vettori non comporta alcun costo se le dimensioni totali dei dati delle tabelle indicizzate sono inferiori al limite per organizzazione. Per supportare l'indicizzazione oltre questo limite, devi fornire la tua prenotazione per la gestione dei job di gestione dell'indice. Gli indici di vettori comportano costi di archiviazione
quando sono attivi. Puoi trovare le dimensioni dello spazio di archiviazione dell'indice nella
visualizzazione INFORMATION_SCHEMA.VECTOR_INDEXES
.
Se l'indice di vettori non ha ancora raggiunto la copertura del 100%, ti verrà comunque addebitato tutto lo spazio di archiviazione dell'indice indicato nella visualizzazione INFORMATION_SCHEMA.VECTOR_INDEXES
.
Quote e limiti
Per ulteriori informazioni, consulta Limiti degli indici vettoriali.
Limitazioni
- Le query che contengono la funzione
VECTOR_SEARCH
non vengono accelerate da BigQuery BI Engine. - Le regole di governance e sicurezza dei dati di BigQuery si applicano all'utilizzo di
VECTOR_SEARCH
. Per ulteriori informazioni, consulta la sezione Limitazioni inVECTOR_SEARCH
. Queste regole non si applicano alla generazione di indici di vettori.
Passaggi successivi
- Scopri di più sulla creazione di un indice vettoriale.
- Prova il tutorial Cercare gli embedding con la ricerca vettoriale per scoprire come creare un indice vettoriale e poi eseguire una ricerca vettoriale per gli embedding sia con che senza l'indice.
Prova il tutorial Eseguire la ricerca semantica e la generazione basata sul recupero per scoprire come svolgere le seguenti attività:
- Genera incorporamenti di testo.
- Crea un indice vettoriale sugli embedding.
- Esegui una ricerca vettoriale con gli embedding per cercare testo simile.
- Esegui la generazione basata sul recupero (RAG) utilizzando i risultati di ricerca vettoriale per aumentare l'input del prompt e migliorare i risultati.
Prova il tutorial Eseguire l'analisi dei PDF in una pipeline di generazione basata sul recupero per scoprire come creare una pipeline RAG in base ai contenuti PDF analizzati.