Il chunking decide più della qualità del tuo RAG di quanto decida il modello: i documenti vanno spezzati in frammenti da indicizzare, e se i tagli cadono male – una tabella divisa a metà, una risposta separata dalla sua domanda – il retrieval recupera briciole senza senso.
Le regole che reggono:
- taglia sui confini semantici (titoli, paragrafi, sezioni), mai a numero fisso di caratteri nel mezzo di una frase; per il codice, su funzioni e classi
- dimensioni tipiche 200-800 token con un overlap del 10-20% per non perdere il contesto ai bordi
- arricchisci ogni chunk con i metadati (titolo del documento, sezione, data): il testo "la porta è la 8437" non serve a nulla senza sapere di quale servizio parla
- la variante furba: indicizza chunk piccoli ma restituisci al modello il contesto allargato (parent retrieval)
E misura sul tuo corpus reale: la valutazione di venti domande vere vale più di ogni teoria sul chunk perfetto.