Migliorare la risposta di RAG tecniche di auto-debugging e riduzione del carico cognitivo

Migliorare la risposta con le tecniche di auto-debugging RAG e riduzione del carico cognitivo

Chiedere all’LLM di diagnosticare e correggere autonomamente il prompt per migliorare la qualità della risposta.

LLM esegue l'autodebugging (immagine generata con MidJourney)

La Generazione potenziata dalla ricerca (RAG) è indubbiamente uno strumento potente, facilmente realizzabile utilizzando framework come LangChain o LlamaIndex. Tale facilità di integrazione potrebbe dare l’impressione che RAG sia una soluzione magica, facile da costruire per ogni caso d’uso. Tuttavia, nel nostro percorso per potenziare il nostro strumento di ricerca di articoli editoriali al fine di offrire risultati di ricerca semanticamente più ricchi e risposte dirette alle domande, abbiamo scoperto che la configurazione di base di RAG è carente e presenta molte sfide. La costruzione di un RAG per una dimostrazione è rapida e semplice, spesso producendo risultati sufficientemente impressionanti per piccoli sottoinsiemi di scenari. Tuttavia, l’ultimo tratto per raggiungere uno stato pronto per la produzione, in cui la qualità eccezionale è obbligatoria, presenta notevoli sfide. Questo è particolarmente vero quando si tratta di una vasta base di conoscenza riempita da migliaia di articoli specifici di dominio, un evento non così raro.

Il nostro approccio a RAG consiste in due step distinti:

  1. Ricerca di Documenti Rilevanti Utilizzando una combinazione di embedding densi e sparsi, estraiamo frammenti di documenti rilevanti dal nostro database Pinecone, considerando sia il contenuto che il titolo. Questi frammenti vengono successivamente riallineati in base alla rilevanza del titolo, del contenuto e dell’età del documento. Vengono quindi scelti i primi quattro documenti, sia come risultati di ricerca potenziali che come contesto del documento per la generazione di risposte dirette. È importante sottolineare che questo approccio si discosta dalla comune configurazione di RAG, affrontando in modo più efficace le nostre specifiche sfide di ricerca di documenti.
  2. Generazione di Risposte Dirette Qui, la domanda, l’istruzione e i frammenti di documenti recuperati precedentemente (contesto del documento) vengono inseriti in un Modello di Linguaggio Large (LLM) per produrre una risposta diretta.
Architettura di RAG

Mi sono addentrato profondamente nell’aumento della qualità della ricerca di documenti attraverso l’uso di tecniche di Ricerca Ibrida e Classifica Gerarchica dei Documenti in precedenti discussioni. In questo blog, intendo condividere informazioni su come ottimizzare e risolvere i problemi…