Guadagni:
- Comprendi che l'incorporamento trasforma il testo in un vettore nello spazio semantico e significati simili sono vettori vicini
- Spiegare come funziona la ricerca ANN con le metriche di somiglianza del coseno e del punto
- Selezione di database vettoriali comuni in base al costo, alla scala e alla necessità di filtraggio dei metadati
Al centro di RAG c'è un'unica domanda: "Quale parte di testo è più simile alla domanda dell'utente?" Il computer elabora il testo con i numeri, non letteralmente. Ecco perché dobbiamo prima convertire il testo in numeri che ne portino il significato. Questo è l'incorporamento: il processo di conversione di un testo in una sequenza di numeri (vettore) che rappresenta il significato di quel testo. Al termine di questa unità, saprai come funziona l'incorporamento, come viene misurata la somiglianza e come scegliere il database vettoriale giusto.
Incorporamento: tradurre il significato in coordinate
Un modello di incorporamento (un'intelligenza artificiale appositamente addestrata) converte il testo fornito in un vettore di, ad esempio, 1024 numeri. Pensa a questo vettore come a una coordinata in uno spazio multidimensionale. La magia è questa: testi simili nel significato cadono in coordinate ravvicinate in questo spazio.
Un semplice esempio: “ferie annuali”, “diritto alle ferie” e “ferie annuali retribuite” usano parole diverse ma significano la stessa cosa: i loro vettori sono vicini tra loro. Il “conto buste paga” è una questione diversa: il suo vettore è distante. Quindi l'utente chiede "quanti giorni di ferie ho?" Quando lo chiedi, possiamo anche trovare un documento che non contiene la parola "vacanze" ma dice "le ferie annuali sono di 14 giorni". Questo è ciò che la classica ricerca per parole chiave (ricerca che corrisponde esattamente alla parola) non può fare.
Suggerimento: considera l’incorporamento come una “impronta digitale di significato”. Le impronte digitali di due frasi con lo stesso significato appaiono simili; Anche se le parole sono diverse.
Una regola importante: il modello che usi quando incorpori la domanda dovrebbe essere lo stesso modello che usi quando incorpori i documenti. Modelli diversi producono spazi diversi; le coordinate diventano incomparabili.
Come misurare la somiglianza?
Esistono diversi metodi per misurare quanto sono simili due vettori. Il più comune è la somiglianza del coseno: misura l'angolo tra due vettori. Se l'angolo è piccolo (i vettori puntano nella stessa direzione), la somiglianza è elevata. Il valore è compreso tra −1 e 1; Vicino a 1 = molto simile.
criterio
Cosa misura?
Quando è preferibile?
Coseno
Angolo (direzione) tra i vettori
Il più comune; impostazione predefinita nella somiglianza semantica del testo
Prodotto scalare
Direzione + magnitudo insieme
Se i vettori sono normalizzati, si ottiene lo stesso risultato del coseno; è veloce
Euclideo (distanza euclidea)
Distanza rettilinea tra le coordinate
In alcuni scenari di clustering; meno utilizzato nel testo
In pratica, la maggior parte dei modelli di incorporamento producono vettori normalizzati (dimensione impostata su 1); In questo caso, coseno e prodotto scalare danno lo stesso ordine. Non lasciarti paralizzare dalle decisioni: inizia con il coseno.
Tra milioni di vettori, confrontarli uno per uno alla volta è lento. Ecco perché i database vettoriali utilizzano algoritmi ANN (Approximate Nearest Neighbor). ANN trova molto rapidamente "il più vicino quasi esatto" anziché "il più vicino esatto". Ad esempio, il metodo chiamato HNSW può restituire risultati in pochi millisecondi anche per 10 milioni di vettori. Ottieni una grande velocità con un piccolo sacrificio di precisione.
Cosa fa il database vettoriale?
Un database vettoriale fa tre cose contemporaneamente: (1) memorizza i vettori, (2) trova rapidamente i vettori più simili a un vettore di query, (3) filtra in base ai metadati accanto a ciascun vettore. I metadati sono i tag che alleghi a quel pezzo: file di origine, data, dipartimento, livello di privacy, ecc. Il filtraggio dei metadati è fondamentale nel RAG aziendale; perché devi essere in grado di impostare restrizioni come "cerca solo nei documenti 2025 del dipartimento Finanze".
# Registrati al database vettoriale (concettuale)vektor_db.add( id="izin-politikasi-parca-3", vektor=embed("Le ferie annuali retribuite sono 14 giorni..."), text="Le ferie annuali retribuite sono 14 giorni...", metadata={"source": "ik_el_kitabi.pdf", "department": "IK", "date": "2025-06", "privacy": "ic"})
# Risultato ricerca filtrata metadati (concettuale) = vektor_db.search( vektor=embed("quanti giorni di ferie ho?"), top_k=4, filter={"department": "HR", "privacy": ["internal", "on"]})
Scegliere il database giusto
veicolo
Aspetto in primo piano
Situazione adatta
Integrato/basato su file (libreria incorporata)
Nessuna installazione, macchina singola
Prototipo, piccolo kit (<poche centinaia di migliaia di parti)
Servizio cloud gestito
Il ridimensionamento e la manutenzione non sono responsabilità dell'utente
Produzione, dati in rapida crescita, piccolo team
Open source sul tuo server
Pieno controllo, i tuoi dati rimangono tuoi
Obbligo di privacy, infrastrutture esistenti
Aggiunta al database esistente
Non gestisci sistemi separati
Aggiunta del supporto vettoriale al DB che già utilizzi
Chiedi quando scegli: quanti pezzi ci saranno? Quanto è importante il filtraggio dei metadati? I dati possono uscire dall’azienda (riservatezza)? Il team può gestire un'infrastruttura? Spesso è saggio iniziare in piccolo ed espandersi secondo necessità.
Approccio debole/Approccio forte
Debole (memorizzazione di incorporamento semplice, senza metadati):
Basta salvare il testo e il vettore. Cerca: restituisce i 4 vettori più simili.# Problema: non è possibile filtrare come "solo documenti HR attuali";# nella risposta potrebbero essere incluse anche parti vecchie/non autorizzate.
Potente (ricchi metadati + ricerca filtrata):
Aggiungi fonte, data, dipartimento e tag di privacy a ogni pezzo. Filtra in base all'autorità e all'attualità dell'utente durante la ricerca: filter = {"privacy": user_authority, "date_date": "2024-01"}# Pertanto, il risultato è sicuro e aggiornato.
Tre mini custodie
Caso 1: mix di modelli errato. Un team ha incorporato documenti con il modello A e domande con il modello B. Le ricerche hanno restituito risultati privi di significato e il tasso di risposta corretta è rimasto al 31%. Quando sono passato a un singolo modello (entrambi lo stesso modello di incorporamento), la percentuale è balzata all'88%. Lezione: domanda e documento dovrebbero trovarsi nello stesso spazio.
Caso 2: rischio per la privacy senza metadati. In un'azienda sanitaria, tutti i documenti del dipartimento venivano inseriti in un unico pool senza metadati. Quando un addetto alle vendite poneva una domanda, il sistema contestualizzava i dati del paziente. Quando sono stati aggiunti metadati + filtro (a seconda del livello di autorizzazione), questo rischio è stato eliminato; Nel recupero, 12 pezzi non autorizzati non vengono affatto portati.
Caso 3: collo di bottiglia di scala. Una società di e-commerce ha cercato 8 milioni di descrizioni di prodotti con un semplice metodo "scansiona tutto"; Ogni query ha richiesto 6 secondi. Quando siamo passati alla ANN basata su HNSW, il tempo è sceso a 45 millisecondi, con una perdita di precisione solo dell'1%. Lezione: ANN è obbligatoria nel big set.
Errori comuni
- Incorporare la domanda e il documento con modelli diversi: i risultati non hanno senso; sempre un modello.
- Saltare i metadati: non è possibile filtrare; Perdi il controllo della privacy e dell'aggiornamento.
- Confondere l'incorporamento con la crittografia: l'incorporamento trasporta informazioni reversibili; È sbagliato presumere che i dati sensibili siano “nascosti”.
- Costruire un'infrastruttura inutilmente grande su un set piccolo: un cluster gigante gestito da 5.000 parti rappresenta una complessità inutile.
- Non preoccuparti troppo del criterio di somiglianza: inizia con il coseno nel testo; La messa a punto viene dopo.
Attenzione: l'incorporamento incorpora il significato del testo nei numeri, ma non "distrugge" il contenuto. Se un database vettoriale viene divulgato, vengono compromessi anche i testi originali memorizzati (nella maggior parte delle installazioni viene memorizzato anche il testo). Mantieni il repository vettoriale riservato quanto i documenti al suo interno.
In sintesi
- L'incorporamento trasforma il testo in un vettore di numeri che ne porta il significato; Significati simili sono vettori vicini.
- La somiglianza è spesso misurata dal coseno; Per i vettori normalizzati, il prodotto scalare dà lo stesso risultato.
- Nei big data, ANN (ad esempio HNSW) sostituisce la ricerca esatta: grande velocità con pochi sacrifici in termini di precisione.
- Il database vettoriale esegue l'archiviazione dei vettori + ricerca di similarità + filtraggio dei metadati; i metadati sono essenziali per il RAG aziendale.
- La domanda e il documento devono essere tradotti con lo stesso modello di incorporamento; altrimenti le coordinate non possono essere confrontate.
Compito dell'applicazione
Estrai 10 brevi passaggi (3-6 frasi ciascuno) dal documento selezionato nell'unità precedente. (1) Progetta almeno tre tag di metadati per ogni pezzo (fonte, data e un terzo appropriato al contesto aziendale: dipartimento, prodotto, privacy, ecc.). (2) Scrivi quale filtro di metadati deve essere applicato per 3 diverse domande dell'utente. (3) Trova 3 coppie di parti di domanda che esprimono lo stesso significato in parole diverse (ad esempio "diritto alle ferie" ↔ "ferie annuali") e spiega in una frase perché non corrisponderanno alla ricerca di parole chiave ma corrisponderanno all'incorporamento.
lista di controllo
- [ ] Posso dire che l'incorporamento trasforma il testo in un vettore nello spazio semantico e significati simili sono vicini.
- So che [] La somiglianza del coseno misura l'angolo ed è la preferenza predefinita nel testo.
- [ ] Posso spiegare perché l'ANN è necessaria nei big data.
- [ ] So perché i metadati sono fondamentali per la riservatezza e il controllo dell'aggiornamento.
- [ ] Seguo la regola di tradurre la domanda e il documento con lo stesso modello di incorporamento.