Vai al contenuto

SuperRAG: Potenziamento della Precisione nella Generazione di Risposte Potenziata dal Recupero

Scopri come migliorare l’accuratezza delle applicazioni AI generative utilizzando SuperRAG (Retrieval Augmented Generation superiore), un metodo potenziato che aumenta la quantità di dati recuperabili e migliora le risposte generate.

Uno dei casi d’uso più comuni per l’intelligenza artificiale generativa è RAG – Retrieval Augmented Generation (Generazione di risposte potenziata dal recupero). Permette di informare la LLM sui dati del tuo business senza la necessità di riaddestrarla, attraverso tre passaggi fondamentali:

  • Ricerca di documenti pertinenti basata su un’interrogazione o un messaggio in chat dal tuo utente
  • L’interrogazione della Large Language Model (LLM) viene potenziata con i documenti recuperati per fornire il contesto e i dati di riferimento necessari
  • Generazione di una risposta per la domanda dell’utente dalla LLM basata sull’interrogazione potenziata.

Gli studi mostrano che se la risposta alla domanda dell’utente non si trova tra i primi cinque documenti, la probabilità di generare una risposta corretta diminuisce significativamente. Per questo motivo, le applicazioni RAG restituiscono generalmente solo i primi cinque risultati di ricerca e li utilizzano per potenziare l’interrogazione. Tuttavia, questo approccio dipende interamente dal passaggio di recupero per restituire il documento corretto.

Ma cosa succede se la risposta alla domanda dell’utente non si trova nei primi cinque documenti? Come si può aumentare il numero di documenti recuperati senza compromettere la capacità della LLM di rispondere alla domanda?

Ciò ci porta all’introduzione di SuperRAG – un metodo potenziato molto più efficace di un semplice sistema di vettori!

SuperRAG comporta il recupero di 50 (o qualsiasi altro numero elevato di) documenti nel passaggio di recupero e poi la loro iterazione per vedere se rispondono alla domanda dell’utente. Il documento viene quindi valutato in base a questa pertinenza e le parti rilevanti vengono estratte. Queste estrazioni e valutazioni sono in seguito ordinate e le prime cinque sono utilizzate per potenziare l’interrogazione nel metodo RAG tradizionale.

Il vantaggio di questo approccio è che può aumentare drasticamente la quantità di informazioni recuperate e incrementare le probabilità di trovare la risposta corretta. Una ricerca vettoriale, che viene comunemente utilizzata nelle applicazioni RAG, eccelle nel fare connessioni semantiche come il riconoscimento di sinonimi e errori di battitura, ma non comprende realmente l’intento come farebbe un essere umano o una LLM. Quindi, recuperando molti più documenti e lasciando ad una LLM come GPT-3.5 decidere se il documento risponde alla domanda, possiamo ottenere risposte generate con maggiore precisione.

Un’inconveniente di questo approccio è che può essere più lento e più costoso del metodo RAG tradizionale. Poiché dobbiamo inviare ogni documento alla LLM, incorreremo in un ritardo di latenza e in un aumento dei costi dei token, tuttavia, la latenza può essere in qualche modo mitigata valutando i documenti in parallelo. Le unità di Throughput Provisionate (PTU) possono inoltre aiutare a ridurre la latenza e, se utilizzate a pieno ritmo, possono ridurre i costi dei token.

All’impatto pratico, ecco un esempio: 'Does the applicant have any significant illnesses in his medical history?'. Con due documenti di esempio, tra cui l’interpretazione di cosine similarity e LLM, possiamo vedere che il documento 2 è molto più pertinente per rispondere alla domanda. E questo metodo può essere ampliato a 50, 100 o 1.000 documenti in base alle esigenze del business, migliorando notevolmente l’accuratezza delle nostre applicazioni RAG.

Il grande vantaggio dell’utilizzo di SuperRAG è che non solo puoi aumentare drasticamente la quantità di dati che recuperi, ma puoi anche estrarre le parti di ciascun documento che sono pertinenti a rispondere alla domanda. Ciò rende il tuo prompt finale molto più focalizzato, fornendo una risposta generata di precisione molto superiore.