Perché la tua RAG non è affidabile in un ambiente produttivo
Perché la tua RAG non è attendibile in un ambiente produttivo
E come dovresti sintonizzarti correttamente
Con la proliferazione dei LLM, il framework di Retrieval Augmented Generation (RAG) ha guadagnato popolarità poiché rende possibile la creazione di sistemi di domanda-risposta sui dati.
Tutti abbiamo visto quelle dimostrazioni di chatbot che interagiscono con PDF o e-mail.
Anche se questi sistemi sono sicuramente impressionanti, potrebbero non essere affidabili in produzione senza alcune modifiche ed esperimenti.
In questo post, esploro i problemi dietro il framework RAG e fornisco alcuni consigli per migliorarne le prestazioni. Ciò va dall’utilizzo dei metadati del documento alla messa a punto degli iperparametri.
Questi risultati si basano sulla mia esperienza come ingegnere di IA che sta ancora imparando questa tecnologia e sta costruendo RAG nell’industria farmaceutica.
Senza ulteriori indugi, diamo un’occhiata 🔍
RAG in una frase ⚙️
Cominciamo col mettere le basi per bene.
Ecco come funziona RAG.
Innanzitutto, prende una domanda in input e recupera documenti pertinenti ad essa da un database esterno. Quindi, passa quei frammenti come contesto in un prompt per aiutare un LLM a generare una risposta potenziata.
Più o meno stiamo dicendo:
“Ehi LLM, ecco la mia domanda, e questi sono alcuni pezzi di testo per aiutarti a comprendere il problema. Dammi una risposta.”
Non dovresti farti ingannare dalla semplicità di questo diagramma.
In realtà, RAG nasconde una certa complessità e coinvolge i seguenti componenti dietro le quinte:
- Caricatori per analizzare dati esterni in diversi formati: PDF, siti web, file Doc, ecc.
- Divisori per suddividere i dati grezzi in piccoli pezzi di testo
- Un modello di embedding per convertire i frammenti in vettori
- Un database di vettori per memorizzare i vettori e interrogarli
- Un prompt per combinare la domanda e i documenti recuperati