Vai al contenuto principale

Fondamenti

Cosa sono gli embedding?

Un embedding trasforma il testo in un vettore di numeri che ne rappresenta il significato, il che rende possibile cercare per significato invece che per formulazione esatta. Come si misura la somiglianza, e perché gli embedding di modelli diversi non si mescolano.

Tutte le guide · Ultima verifica:

Un elenco di numeri al posto del significato

Un modello di embedding legge un frammento di testo — una parola, una frase, un paragrafo, a volte un documento intero — e restituisce un vettore di lunghezza fissa: un elenco ordinato di numeri, in genere lungo centinaia o migliaia di elementi. Quel vettore non è un riassunto leggibile da una persona; è una posizione in uno spazio matematico appreso dal modello durante l’addestramento, organizzato in modo che testi con significato affine si trovino vicini.

Ciò che finisce vicino è il significato simile, non l’ortografia simile

Due frasi che non condividono quasi nessuna parola ma significano più o meno la stessa cosa possono produrre vettori vicini tra loro, perché il modello di embedding ha appreso associazioni tra concetti durante l’addestramento, non solo quali lettere compaiono. Al contrario, due frasi che condividono molte parole ma significano cose diverse possono finire molto distanti. Questa è la differenza chiave tra la ricerca basata su embedding e la corrispondenza per parole chiave esatte.

La vicinanza si misura, non si stima a occhio

Una volta che il testo è rappresentato come vettori, confrontare il significato diventa un problema geometrico: un punteggio di somiglianza calcolato tra due vettori, più spesso in base a quanto puntino nella stessa direzione. Cercare in una grande raccolta significa calcolare quel punteggio tra un vettore di ricerca e ogni vettore memorizzato, poi restituire le corrispondenze più vicine — la stessa operazione, che la raccolta abbia cento voci o cento milioni.

Gli embedding di modelli diversi non si mescolano

Come il vocabolario di un tokenizer, lo spazio vettoriale di un modello di embedding è specifico di quel modello e di come è stato addestrato. Un vettore prodotto da un modello di embedding non è confrontabile in modo utile con un vettore prodotto da un modello diverso, anche se entrambi i vettori hanno lo stesso numero di dimensioni. Cambiare modello di embedding significa ricalcolare gli embedding di tutto ciò che è già memorizzato, non solo dei nuovi contenuti da quel momento in poi.

Un modello di embedding fa un lavoro diverso da un modello linguistico

Un modello linguistico genera testo, un token alla volta, a partire da un prompt. Un modello di embedding non genera nulla: trasforma il testo in un vettore e si ferma lì. Alcuni sistemi usano lo stesso modello di base per entrambi i compiti, altri due modelli del tutto separati; in ogni caso, il vettore prodotto da un passaggio di embedding non è di per sé una risposta, ma solo qualcosa che un passaggio di ricerca o abbinamento può confrontare.

Dove si ritrova questo nella pratica

Gli embedding sono ciò che rende possibile la generazione aumentata dal recupero — vedi cos’è il RAG per come il recupero si integra con un modello linguistico — ma la stessa tecnica sta anche alla base della ricerca semantica in ticket di supporto o documentazione, dell’abbinamento di conversazioni passate simili, della deduplicazione di contenuti quasi identici e del raggruppamento di elementi correlati senza che nessuno etichetti categorie a mano.

Domande frequenti

Un embedding è la stessa cosa di un token?
No. Un token è un’unità di testo discreta che un modello linguistico legge o scrive una alla volta. Un embedding è un vettore continuo che rappresenta il significato di un testo più ampio, prodotto da un passaggio separato che non genera nulla.
Posso confrontare embedding prodotti da due modelli diversi?
Non in modo utile. Ogni modello di embedding definisce il proprio spazio vettoriale durante l’addestramento, quindi una distanza che nello spazio di un modello significa “molto simile” non ha un significato definito nello spazio di un altro modello, anche con vettori della stessa lunghezza.
Un vettore di embedding più grande significa una ricerca migliore?
Non da solo. Più dimensioni possono catturare più sfumature, ma la qualità dipende da su cosa è stato addestrato il modello e da quanto ciò si adatta ai tuoi contenuti, non solo dal numero di dimensioni.
Qualcuno può recuperare il testo originale da un embedding?
Un recupero esatto è in genere poco pratico, ma un embedding deriva comunque direttamente dal tuo contenuto e può far trapelare informazioni rilevanti su di esso con alcuni tipi di attacco. Tratta gli embedding memorizzati di testo sensibile con la stessa cura del testo stesso, non come se fossero già anonimizzati.

Provalo invece di leggerne

Le funzioni di memoria e pacchetti di contesto di ClawAI generano gli embedding localmente tramite Ollama e li memorizzano in un database vettoriale per la ricerca per somiglianza, invece di inviare i tuoi contenuti a un’API di embedding cloud separata per questo scopo.