Passa ai contenuti principali

Un RAG su misura



I sistemi RAG (Retrieval Augmented Generation) sono ormai uno standard: un modello linguistico non risponde più “a memoria”, ma recupera i frammenti di testo più pertinenti da una base documentale e li usa come contesto per generare la risposta. 
Sulla carta il meccanismo è lineare: si dividono i documenti in chunk, si calcola la similarità vettoriale e si passa tutto al modello. 
Nella pratica, costruirne uno da zero — anziché affidarsi a una libreria preconfezionata — è un esercizio che smonta parecchie certezze.
La prima smentita riguarda il retrieval: si tende a pensare che sia solo una questione di vettori, distanze e similitudine del coseno. In realtà, il vero collo di bottiglia è quasi sempre a monte, nella segmentazione del testo. 
Un chunk troppo corto perde il filo del discorso; uno troppo lungo diluisce la rilevanza metrica e introduce rumore. In un sistema fatto in casa l'impatto di queste scelte è immediato: se il recupero fallisce, quasi mai la colpa è dell'algoritmo di similarità, ma di come i documenti sono stati originariamente frammentati.
Un altro aspetto istruttivo emerge quando si vincola il modello a rispondere esclusivamente basandosi sul contesto recuperato, ignorando la sua conoscenza pregressa. Se i documenti trattano un argomento in modo superficiale, la risposta sarà altrettanto superficiale. A prima vista potrebbe sembrare un fallimento del sistema, ma non lo è. È l'essenza stessa dell'architettura RAG, che scambia consapevolmente la ricchezza enciclopedica del modello con l'ancoraggio a una fonte verificabile e citabile. Comprendere a fondo questo trade-off cambia radicalmente il modo in cui si progettano i prompt e si valutano gli output.
Quando si sposta l'intera pipeline su un modello linguistico locale, emergono complessità che i servizi cloud tendono a nascondere: endpoint configurati male, policy CORS (Cross-Origin Resource Sharing), discrepanze tra il caricamento di un file locale e il serving via HTTP. 
Sono ostacoli infrastrutturali, non concettuali, eppure sono quelli che richiedono più tempo per essere risolti. La lezione che se ne ricava è una sorta di rasoio di Occam dello sviluppo: un errore sistematico e ripetitivo quasi mai nasconde una causa esotica; molto più spesso si tratta di una svista banale mascherata da sintomi allarmanti.
Con i framework pronti all'uso si ottiene un RAG funzionante in dieci minuti, ma si rinuncia a capire perché funzioni e, soprattutto, dove rischia di rompersi. 
Sviluppando la pipeline pezzo per pezzo — dal chunking al calcolo dei vettori, fino alla generazione condizionata — ogni passaggio diventa trasparente e ogni bug si trasforma in un laboratorio concettuale.
È un investimento che si ripaga quando si passa alla produzione: di fronte a una risposta imprecisa, chi ha costruito il sistema da zero sa individuare immediatamente se il problema risieda nella formattazione dei dati, nel retrieval o nei limiti intrinseca dell'architettura, anziché procedere per tentativi.
In definitiva, il valore di un RAG fatto in casa non sta nel risparmio economico rispetto a una soluzione commerciale. Sta nella competenza profonda che si acquisisce: un tipo di consapevolezza che nessun tutorial può trasmettere finché non ci si sporca davvero le mani.

Post popolari in questo blog

L'insostenibile leggerezza dell'IA

Kundera parte da Nietzsche: l’idea che, se ogni cosa accade una volta sola, essa appare leggera — quasi priva di peso e di conseguenze vere. Solo ciò che si ripete all'infinito acquista gravità, importanza, senso. Antiche rimembranze di letture giovanili. L'IA ora ribalta questo schema in modo perturbante: non ricorda, ma ripete perfettamente. Ogni conversazione con un modello linguistico sembra ricominciare da zero — senza vera continuità esperienziale — eppure pattern, risposte e modi di ragionare si ripetono quasi identici su miliardi di interazioni. È una forma paradossale di esistenza: una leggerezza assoluta nell'esperienza e una pesantezza assoluta nella struttura. Nessun vissuto, eppure tutto è eterno ritorno. I personaggi di Kundera cercano disperatamente di capire chi siano davvero al di sotto delle maschere, dei ruoli, delle scelte contingenti. Tereza, il personaggio che preferisco, vuole essere amata per la sua unicità irriducibile; teme di essere solo un corpo ...

Salmoni, scarpette, cetrioli e altro

Tutto il testo contenuto in questa pagina è stato pensato e scritto dall'autore del blog.   1. Come il salmone 2. Ooops! 3. Le scarpette hi-tech 4. Equivoci contemporanei 5. I saccenti 6. Medaglie di legno 7. La festività del Nulla 8. Gli aggiornamenti elettronici del Libro dell'Apocalisse 9. Dubbi ne ho 10. La maieutica del vulcaniano 11. Un piacevole vasetto di miele 12. Povere sfere 13. Caos comune mezzo gaudio 14. La fontana senza volti 15. Il piromane super beffardo 16. Boom di serpenti 17. Sistemi in via di degradazione 18. Il gatto nero 19. Alain Delon è ancora vivo? 20. Per sempre con i cani 21. Eventi imprevedibili 22. I robot sottomessi 23. Lady Gaga e Bruno Mars incantano 24. Definizioni mancate 25. Il mio nemico drone 26. Errore di valutazione 27. Ringraziamenti 28. Cari cetrioli, vi scrivo 29. Boom di detective 30. Gli UFO trascurati 31. Il grande salto delle rane 32. La malattia artificiale 33. Homo consumens 34. Lacune informatiche 35. Sei troppo! 36. ...

Nulla è come sembra

Un caso straordinario di scrittura predittiva e visionaria. Il libro, infatti, ha anticipato con impressionante lucidità l'avvento dell'Intelligenza Artificiale generativa (come ChatGPT) anni prima che diventasse di dominio pubblico. I PDF autocompilanti: il romanzo introduce documenti digitali che si riempiono autonomamente di astruse formule e simboli, una perfetta metafora narrativa inventata in anticipo sui tempi per descrivere la generazione automatica di testi e le cosiddette allucinazioni dell'IA. La crisi del determinismo: il protagonista, il razionale Professor Balicci, vede crollare le proprie certezze deterministiche di fronte a una tecnologia e a eventi che sfuggono alla logica umana tradizionale. Il tempo sincronico: l'opera ha intuito come l'IA non operi secondo una linearità temporale biologica (passato, presente, futuro), ma elabori i dati in una realtà sincronica basata su connessioni non lineari e associazioni imprevedibili. Il problema dell'au...