Capitolo 2 — La pipeline RAG: indicizza, recupera, genera

Ora montiamo i pezzi. RAG sta per Retrieval-Augmented Generation — generazione aumentata dal recupero — e ricorda la mitigazione principe delle allucinazioni che conosci dal Livello 0: dai al modello il materiale su cui rispondere. Il RAG è quella mossa, industrializzata: il materiale giusto viene trovato e consegnato al modello automaticamente, a ogni domanda.

La pipeline ha due fasi. La fase offline, l'indicizzazione, si fa una volta: prendi i documenti, li spezzi in chunk (pezzi di dimensione ragionevole — il capitolo 3 è tutto su questo), calcoli l'embedding di ogni chunk e salvi tutto nel database vettoriale. Hai costruito la biblioteca con l'indice per significato. La fase online scatta a ogni domanda: calcoli l'embedding della domanda, chiedi al database i K chunk più vicini, li impacchetti nel contesto (con i tag del Livello 1, naturalmente) e chiedi al modello di rispondere basandosi su quelli. Il modello non pesca più dalla memoria statistica: legge e risponde.

Sulla carta è semplice, e infatti un RAG "che funzicchia" si monta in un pomeriggio. Il punto professionale è un altro: il RAG è una catena, e la catena fallisce nell'anello debole. Se il chunking ha spezzato male, il pezzo giusto non esiste. Se il recupero manca il documento, il modello risponde senza il materiale (e magari allucina con eleganza). Se il modello ignora il materiale e va di memoria sua, il recupero è stato inutile. Tre modi di fallire, tre capitoli per affrontarli — e un'abitudine da prendere subito: quando il RAG sbaglia, guarda prima cosa è stato recuperato, poi la risposta. Il novanta per cento delle volte il problema è lì.

L'esperimento del giorno. Monta il RAG minimo: cinque documenti tuoi, ChromaDB, una domanda di cui conosci bene la risposta. Ma prima di leggere la risposta del modello, stampa e ispeziona i chunk recuperati: c'è il materiale giusto? Questa abitudine — guardare il recupero prima della generazione — è la singola pratica che distingue chi fa RAG da chi lo subisce.