La ricerca vettoriale è una tecnica di ricerca che trova i risultati in base al significato, non solo alla corrispondenza delle parole chiave. Mentre la ricerca tradizionale trova corrispondenze con parole esatte, la ricerca vettoriale confronta gli embedding. Queste rappresentazioni numeriche catturano il significato di testo, immagini, audio e altri contenuti.
I risultati sono classificati in base alla somiglianza tra i loro embedding e quelli della query, non in base alle parole in comune. Questo rende la ricerca vettoriale un livello di retrieval fondamentale alla base dei moderni assistenti AI, dei sistemi di ricerca semantica e della retrieval-augmented generation (RAG).
Questa guida spiega come funziona la ricerca vettoriale, come si confronta con la ricerca per parole chiave e semantica, gli esempi e i casi d'uso più comuni e come valutarla in pratica.
La ricerca vettoriale funziona in tre fasi: creazione degli embedding, creazione di un indice e confronto di una query con tale indice.
La ricerca di queste corrispondenze più vicine è chiamata ricerca del vicino più prossimo (nearest neighbor search). L'approccio più semplice, la ricerca k-nearest neighbor (k-NN), confronta la query con ogni elemento dell'indice e restituisce i k risultati più vicini. Pur essendo accurato, questo metodo diventa troppo lento quando i dataset crescono fino a raggiungere milioni di elementi.
La maggior parte dei sistemi in produzione utilizza invece la ricerca approximate nearest neighbor (ANN). L'algoritmo ANN utilizza indici specializzati per identificare le corrispondenze probabili senza confrontare ogni singolo elemento. Questo approccio sacrifica una piccola quantità di precisione in cambio di prestazioni nettamente più rapide, rendendo la ricerca vettoriale pratica su larga scala.
Una semplice ricerca mostra come la ricerca vettoriale si differenzi da quella per parole chiave.
Cercando "cane", una ricerca per parole chiave restituirà i risultati che contengono esattamente quella parola. Una ricerca vettoriale può invece restituire anche risultati per "cucciolo", "canino" e "golden retriever". Questi termini sono concettualmente correlati a "cane", anche se utilizzano parole diverse. Il motore di ricerca cerca il concetto, non la parola esatta.
La ricerca vettoriale funziona anche tra formati diversi. Una query di testo come "sneakers rosse" può restituire immagini di prodotti che corrispondono alla descrizione, anche se l'immagine non contiene testo. La ricerca per parole chiave non può stabilire questa connessione perché si basa sulla corrispondenza delle parole. La ricerca vettoriale recupera i contenuti in base alla somiglianza semantica, indipendentemente dal formato.
La ricerca per parole chiave trova corrispondenze tra parole. La ricerca vettoriale trova corrispondenze tra significati. Entrambi gli approcci presentano punti di forza, motivo per cui la ricerca vettoriale completa la ricerca per parole chiave anziché sostituirla.
La ricerca a corrispondenza esatta rimane lo strumento migliore per query strutturate come ID ordine, codici prodotto e titoli di documenti noti.
| Attributo | Ricerca per parole chiave | Ricerca vettoriale |
|---|---|---|
| Corrispondenza basata su | Parole esatte | Significato e contesto |
| Gestione dei sinonimi | Debole | Forte |
| Funziona tra lingue diverse | No | Spesso sì |
| Funziona su immagini e audio | No | Sì |
| Ideale per termini esatti (ID, codici) | Forte | Meno forte |
| Metodo tipico | BM25 / TF-IDF | Ricerca nearest neighbor |
I sistemi di ricerca più efficaci combinano entrambi gli approcci. La sezione sulla ricerca ibrida riportata di seguito spiega come.
La ricerca semantica e la ricerca vettoriale sono strettamente correlate, ma non sono la stessa cosa. La ricerca semantica è il risultato: aiutare gli utenti a trovare informazioni rilevanti in base al significato e al contesto. La ricerca vettoriale è una delle tecniche più comuni utilizzate per ottenerlo.
Poiché la ricerca semantica descrive un risultato piuttosto che una tecnologia specifica, può essere implementata in modi diversi. In molti sistemi moderni, la ricerca vettoriale è il motore principale alla base della ricerca semantica.
I vettori densi e sparsi sono progettati per diversi tipi di problemi di ricerca.
I vettori densi catturano il significato generale e il contesto. Aiutano i sistemi a riconoscere idee correlate, sinonimi e concetti anche quando vengono utilizzate parole diverse. Generati da modelli di machine learning, sono particolarmente adatti per la corrispondenza semantica e multilingue.
I vettori sparsi funzionano in modo più simile alla ricerca tradizionale per parole chiave. La maggior parte dei valori è pari a zero, con valori diversi da zero solo per i termini che appaiono nel contenuto. Generati da algoritmi come BM25, eccellono nella corrispondenza di termini esatti. I vettori sparsi danno il meglio di sei con codici prodotto, nomi propri e identificatori specifici.
| Tipo | Cosa cattura | Ideale per |
|---|---|---|
| Vettori densi | Significato generale e contesto | Corrispondenza semantica, di sinonimi e multilingue |
| Vettori sparsi | Parole chiave specifiche e relativi pesi | Termini esatti, nomi e codici |
La combinazione di vettori densi e sparsi è alla base della ricerca ibrida. Questa combinazione offre spesso i risultati più affidabili in produzione.
La ricerca ibrida unisce i risultati basati su vettori e quelli basati su parole chiave in un'unica classificazione. Spesso rappresenta la scelta predefinita per i sistemi in produzione perché combina il recupero basato sul significato e quello a corrispondenza esatta in un'unica esperienza di ricerca. La ricerca vettoriale può non rilevare codici prodotto, nomi o identificatori esatti perché questi termini non sempre si raggruppano strettamente nello spazio degli embedding. La ricerca per parole chiave può invece tralasciare risultati pertinenti che utilizzano parole diverse. La ricerca ibrida affronta entrambe le sfide combinando i punti di forza di ciascun approccio.
La maggior parte dei sistemi di ricerca ibrida include anche una fase di reranking. Il reranking è un secondo passaggio che riordina i risultati per posizionare le corrispondenze migliori in cima. Di conseguenza, la ricerca ibrida offre spesso una pertinenza più affidabile rispetto a ciascun metodo utilizzato singolarmente. La Piattaforma Databricks supporta indici ibridi che combinano la ricerca semantica e quella per parole chiave, con reranking integrato.
La ricerca vettoriale alimenta applicazioni che si basano sulla ricerca di risultati pertinenti piuttosto che su corrispondenze esatte di parole chiave.
La retrieval-augmented generation (RAG) aiuta gli assistenti AI a rispondere alle domande utilizzando informazioni aggiornate e pertinenti, anziché affidarsi interamente a ciò che il modello già conosce. Prima di rispondere, l'assistente recupera i contenuti pertinenti da una knowledge base. La ricerca vettoriale è il livello di recupero (retrieval) che trova tali contenuti.
I documenti vengono suddivisi in frammenti più piccoli (chunk) in modo che il sistema possa recuperare il passaggio più pertinente, non solo il documento più pertinente. Questo approccio ha reso la RAG una delle applicazioni della ricerca vettoriale in più rapida crescita. Scopri di più sulla RAG e sui database vettoriali.
Le knowledge base interne, i sistemi di ticket e i repository di documenti diventano più utili quando le persone effettuano ricerche in base al significato anziché alla formulazione esatta. Una query come "politica sul congedo parentale" può far emergere il documento HR corretto anche se si intitola "guida ai benefit familiari". La ricerca vettoriale rende le informazioni aziendali più facili da trovare senza richiedere una formulazione esatta.
I motori di raccomandazione utilizzano la ricerca vettoriale per trovare prodotti, articoli, video e altri contenuti concettualmente simili a quelli che un utente sta già visualizzando. Questo alimenta esperienze familiari come i consigli del tipo "i clienti a cui è piaciuto questo articolo hanno apprezzato anche". Il sistema trova semplicemente gli elementi i cui embedding sono più vicini all'elemento corrente.
La ricerca vettoriale può trovare corrispondenze tra formati e lingue diversi. Una query di testo come "scarponi da trekking per terreni bagnati" può restituire immagini di prodotti pertinenti, anche quando le immagini non contengono testo. Una query in lingua inglese può anche recuperare documenti pertinenti scritti in spagnolo. Questo rende la ricerca vettoriale utile per le organizzazioni globali e le applicazioni che lavorano con diversi tipi di contenuti.
La ricerca vettoriale può aiutare a identificare pattern insoliti trovando elementi che si discostano da quelli normali. Nel rilevamento delle frodi, le transazioni che appaiono significativamente diverse dall'attività tipica possono essere segnalate per una revisione. Lo stesso approccio può essere utilizzato per rilevare anomalie nel traffico di rete, nei sistemi di produzione e in altri dati operativi.
Non sempre. L'approccio corretto dipende dalla scala, dai requisiti di prestazioni e dall'infrastruttura esistente. Le organizzazioni in genere implementano la ricerca vettoriale utilizzando un database vettoriale, un motore di ricerca con funzionalità vettoriali o una libreria di ricerca per somiglianza. Scopri di più sui database vettoriali.
| Opzione | Cos'è | Ideale quando |
|---|---|---|
| Database vettoriale | Progettato specificamente per embedding su scala | Esigenze di volumi elevati e bassa latenza |
| Motore di ricerca con funzionalità vettoriali | Aggiunge vettori alla ricerca esistente | Se si utilizza già la ricerca per parole chiave |
| Libreria | Toolkit di codice per la ricerca per somiglianza | Piccoli progetti, prototipazione |
I servizi gestiti possono ridurre i tempi di configurazione, i costi operativi e la manutenzione continua. La piattaforma Databricks include un database vettoriale integrato tramite Databricks AI Search, che combina ricerca vettoriale, ricerca per parole chiave, filtraggio dei metadati e reranking in un unico servizio. Si integra inoltre con le funzionalità di governance dell'AI come Unity Catalog, aiutando le organizzazioni ad applicare controlli coerenti alle applicazioni AI.
L'implementazione della ricerca vettoriale in un ambiente di produzione è solo il primo passo. Per garantire affidabilità, prestazioni e accuratezza costanti in produzione, questi sistemi richiedono ottimizzazione e manutenzione continue in diverse aree operative chiave.
Gli indici vettoriali di grandi dimensioni consumano memoria e risorse di calcolo, aumentando i costi infrastrutturali. Con la crescita dei dataset e l'aumento dei volumi di query, aumentano anche i costi. Una ricerca più rapida e accurata spesso richiede più risorse, pertanto i team devono bilanciare prestazioni, qualità e costi.
Gli indici vettoriali non si aggiornano automaticamente quando il contenuto di origine cambia. Quando i documenti vengono aggiunti, modificati o rimossi, l'indice deve essere aggiornato per riflettere tali modifiche. Senza aggiornamenti regolari, i risultati di ricerca possono diventare obsoleti e non includere nuove informazioni importanti.
Prima di ottimizzare un sistema, crea un piccolo set di test con query rappresentative e risultati noti come validi. Misurare la qualità significa verificare se i risultati corretti appaiono tra i primi per tali query. Questo crea una baseline per valutare le modifiche future.
Due fattori hanno spesso un impatto significativo sulla rilevanza. I filtri dei metadati restringono i risultati in base a tag, date o categorie prima dell'esecuzione del ranking di somiglianza. Ciò può migliorare la precisione quando la corrispondenza semantica restituisce troppi risultati.
La qualità degli embedding dipende anche dal modello utilizzato per generarli. I modelli generici potrebbero non catturare bene la terminologia specialistica. Per settori con un linguaggio specifico, come quello sanitario, legale o dei servizi finanziari, un modello ottimizzato per il dominio specifico può migliorare la qualità del recupero delle informazioni.
Databricks AI Search è un database vettoriale gestito integrato nella piattaforma Databricks. Supporta la ricerca semantica, la ricerca per parole chiave, il filtraggio dei metadati e il reranking in un unico servizio. Poiché si integra con i dati, la governance e gli strumenti di produttività esistenti, i team possono creare sistemi di recupero delle informazioni senza dover collegare piattaforme separate.
AI Search si connette direttamente ai dati che le organizzazioni già gestiscono in Databricks, riducendo la necessità di spostare o duplicare i dati. Si integra inoltre con funzionalità di governance come Unity Catalog, consentendo di estendere i controlli di accesso e le policy di derivazione dei dati esistenti ai carichi di lavoro di ricerca.
In che modo la ricerca vettoriale viene utilizzata nelle applicazioni RAG?
In un sistema RAG, la query dell'utente viene convertita in un embedding e confrontata con una libreria di frammenti di documenti (chunk) in un indice vettoriale. Le corrispondenze più vicine vengono recuperate e passate al modello linguistico come contesto. Il modello genera quindi una risposta basata sui dati dell'organizzazione, anziché affidarsi esclusivamente ai propri dati di addestramento.
Quando è opportuno utilizzare la ricerca ibrida anziché la sola ricerca vettoriale?
Quando gli utenti cercano identificatori specifici come codici prodotto, codici di errore o nomi propri, la sola ricerca semantica potrebbe non rilevarli. I termini esatti non sempre si allineano strettamente nello spazio di embedding. La ricerca ibrida combina i risultati vettoriali e quelli per parole chiave, offrendo sia ampiezza semantica sia precisione di corrispondenza esatta in un unico ranking.
Cosa rende più accurati i risultati della ricerca vettoriale?
Diversi fattori influenzano la qualità del recupero. La qualità del modello di embedding determina l'efficacia con cui viene catturato il significato. I filtri dei metadati restringono lo spazio di ricerca prima dell'esecuzione del ranking di somiglianza. L'aggiornamento dell'indice garantisce che i risultati riflettano i contenuti correnti anziché informazioni obsolete.
Quali sono i principali compromessi della ricerca vettoriale?
La ricerca vettoriale richiede più memoria e calcolo rispetto alla ricerca per parole chiave. Gli indici di grandi dimensioni comportano costi infrastrutturali reali. La ricerca ANN è approssimativa per progettazione, creando un piccolo compromesso in termini di precisione rispetto alla ricerca esaustiva. Gli indici richiedono inoltre aggiornamenti regolari per rimanere aggiornati al variare dei dati di origine. La ricerca ibrida aggiunge complessità, ma spesso offre risultati più affidabili rispetto a ciascun approccio singolarmente.
In che modo Databricks AI Search supporta la ricerca vettoriale?
Databricks AI Search è un database vettoriale gestito e serverless integrato nella piattaforma Databricks. Supporta la ricerca ibrida, il filtraggio dei metadati e il reranking integrato. Le pipeline di sincronizzazione automatizzata mantengono gli indici aggiornati al variare dei dati delle tabelle Delta, mentre Unity Catalog estende i controlli di governance ai carichi di lavoro di ricerca.
La ricerca vettoriale aiuta i sistemi AI a trovare informazioni rilevanti in base al significato anziché a parole chiave esatte. Questa funzionalità alimenta qualsiasi soluzione, dalle applicazioni RAG e i motori di raccomandazione alla ricerca aziendale.
Poiché i sistemi AI dipendono sempre più dal recupero delle informazioni, la ricerca ibrida e un'infrastruttura di ricerca affidabile sono sempre più importanti. Per saperne di più, esplora AI Search sulla piattaforma Databricks.
(Questo post sul blog è stato tradotto utilizzando strumenti basati sull'intelligenza artificiale) Post originale
Iscriviti al nostro blog e ricevi gli ultimi articoli direttamente nella tua casella di posta.