Embedding e ricerca vettoriale
Intermedio
Un embedding trasforma un testo in un elenco di numeri (un vettore) che ne cattura il significato. Testi con significato simile ottengono vettori vicini fra loro — anche se non condividono alcuna parola. È il trucco dietro la ricerca semantica e la RAG.
- Immaginare un embedding come un punto in uno spazio organizzato in modo che i significati simili stiano vicini
- Distinguere la ricerca per parole chiave da quella semantica — e capire perché di solito vince la ricerca ibrida
- Percorrere i quattro passi di una ricerca vettoriale, dal chunking alla ricerca del vicino più prossimo
- Evitare i tre errori che rovinano in silenzio la qualità del recupero: chunk di dimensione sbagliata, modelli di embedding mescolati e assenza di filtri sui metadati
- Decidere quando serve davvero un database vettoriale e quando no
L'intuizione
Immagina ogni frase collocata come un punto in un enorme spazio multidimensionale, disposto in modo che i significati simili stiano vicini. "Come reimposto la password?" finisce vicino a "Ho dimenticato il mio login", e lontano da "la migliore pizza a Roma".
Ricerca semantica vs per parole chiave
- La ricerca per parole chiave cerca corrispondenze con le parole letterali ("password" trova "password").
- La ricerca semantica cerca corrispondenze di significato — "non riesco ad accedere" trova il documento di reset della password anche senza la parola "password".
I risultati migliori spesso combinano le due (ricerca ibrida).
Come funziona una ricerca vettoriale
Guided walkthrough1 of 4
- Prima dividi ogni documento in chunk, poi calcola l'embedding di ciascun chunk e salva i vettori in un database vettoriale. È il passo che fai una volta sola, in anticipo.
- Al momento della query, passa la domanda dell'utente nello stesso modello di embedding, così finisce nello stesso spazio dei tuoi chunk.
- Confronta il vettore della query con quelli salvati tramite similarità del coseno o distanza, e tieni le corrispondenze più vicine.
- Tipicamente per alimentare una RAG, dove il testo recuperato diventa contesto per la risposta del modello.
Note pratiche
- Il chunking conta. Troppo grandi = corrispondenze rumorose; troppo piccoli = contesto perso. Calibralo.
- Usa un solo modello di embedding in modo coerente — i vettori di modelli diversi non sono confrontabili.
- Metadati + filtri (data, fonte, tipo) rendono il recupero molto più preciso.
- Un database vettoriale non serve sempre — per corpus piccoli basta una semplice ricerca in memoria.
1 / 9
Check yourself
0/3- Un embedding è il significato come punto nello spazio — la vicinanza indica significato simile, non parole condivise.
- La ricerca semantica trova ciò che la ricerca per parole chiave perde, ma di solito la ricerca ibrida batte entrambe.
- Quattro passi: embedding e salvataggio dei chunk, embedding della query, ricerca dei vettori più vicini, restituzione dei chunk.
- Un solo modello di embedding, usato in modo coerente su entrambi i lati. I vettori di modelli diversi non sono confrontabili.
- Dimensione dei chunk e filtri sui metadati fanno più per la qualità del recupero della scelta del database vettoriale.
- Per un corpus piccolo basta una semplice ricerca in memoria — un database vettoriale non è un requisito.