Vai al contenuto

Retrieval-augmented generation (RAG)

Ultimo aggiornamento:

Che cos’è la RAG

Un modello linguistico conosce solo ciò che c’era nei suoi dati di addestramento. La RAG aggiunge una fase di consultazione: prima che il modello risponda, il sistema recupera i testi pertinenti da una base di conoscenza e li inserisce nel prompt. Il modello scrive quindi la risposta partendo da quel materiale, invece di affidarsi solo alla memoria.

Il termine nasce da un articolo di ricerca del 2020 di Patrick Lewis e colleghi di Facebook AI Research. Oggi descrive la maggior parte dei chatbot e degli assistenti che rispondono a partire dai contenuti di un’organizzazione.

Come funziona la RAG

Un sistema RAG ha una fase di preparazione e una fase per ogni domanda:

La qualità di un sistema RAG dipende molto dalla ricerca. Se il passaggio giusto non viene trovato, nemmeno un modello molto capace può rispondere correttamente.

  • Indicizzazione, in anticipo: i documenti vengono divisi in chunk, ogni chunk viene trasformato in un embedding e tutto viene salvato in un indice consultabile.
  • Recupero: la domanda viene confrontata con l’indice tramite ricerca semantica, ricerca per parole chiave o entrambe, e si selezionano i chunk più pertinenti.
  • Arricchimento: i chunk selezionati vengono aggiunti al prompt insieme alle istruzioni e alla conversazione fin lì.
  • Generazione: il modello linguistico scrive una risposta basata sui testi recuperati e, se configurato bene, dice quando quei testi non contengono la risposta.

Esempio

Al chatbot di un’azienda di software viene chiesto: «Posso esportare le mie fatture in CSV?». Il recupero trova un articolo di assistenza sulle esportazioni e una voce recente del changelog. Il modello li legge entrambi e spiega che l’esportazione CSV si trova nelle impostazioni di fatturazione, riprendendo i passaggi dell’articolo. Quando l’azienda modifica l’articolo, la risposta successiva riflette la modifica non appena il contenuto viene reindicizzato, senza toccare il modello.

Perché la RAG conta per i chatbot aziendali

La RAG è il modo più diffuso per rendere utile un modello generico per una specifica azienda:

La RAG non elimina ogni errore. Documenti superati o contraddittori portano a risposte sbagliate e il modello può comunque fraintendere un passaggio. Tenere aggiornate le fonti conta quanto la tecnologia.

  • Le risposte restano specifiche per i tuoi prodotti, prezzi e condizioni.
  • Aggiornare le conoscenze significa modificare i contenuti, non riaddestrare un modello.
  • Le risposte si possono ricondurre ai passaggi di origine, così gli errori sono più facili da trovare e correggere.
  • Delle regole possono imporre al modello di rispondere solo dai contenuti recuperati e di ammettere quando non ha trovato nulla di pertinente.

Come intoCHAT usa la RAG

intoCHAT si basa sulla RAG. Quando aggiungi pagine web, file, snippet di testo o coppie di domande e risposte, intoCHAT li divide in chunk e crea gli embedding. Per ogni messaggio del visitatore esegue un recupero ibrido, che combina ricerca semantica e per parole chiave, poi passa gli estratti migliori al modello con regole che mantengono la risposta ancorata a essi. Le risposte Q&A e le fonti contrassegnate con la stella hanno la precedenza sugli altri contenuti, e le modifiche a una fonte valgono dopo averla riaddestrata.

Domande frequenti

Cosa significa RAG?

RAG sta per retrieval-augmented generation, cioè generazione aumentata dal recupero. Il recupero è la fase di ricerca che trova i testi pertinenti, la generazione è il modello linguistico che scrive la risposta. Aumentata significa che il prompt del modello viene arricchito con i testi recuperati.

Qual è la differenza tra RAG e fine-tuning?

La RAG fornisce al modello i documenti pertinenti nel momento in cui risponde, mentre il fine-tuning modifica il modello stesso addestrandolo su esempi aggiuntivi. Per conoscenze aziendali fattuali e che cambiano spesso la RAG è di solito più adatta, perché gli aggiornamenti richiedono solo di modificare i contenuti. Il fine-tuning è più utile per insegnare uno stile o un formato di output costante.

La RAG elimina le allucinazioni?

Le riduce ma non le elimina. Il modello può ancora fraintendere un passaggio o colmare dei vuoti quando il recupero non trova il testo giusto. Regole di grounding chiare, contenuti curati e test riducono ulteriormente il rischio.

Serve un database vettoriale per la RAG?

La maggior parte dei sistemi RAG salva gli embedding in un indice vettoriale, in un database vettoriale dedicato o in un database tradizionale con supporto ai vettori. Le piattaforme di chatbot in hosting come intoCHAT gestiscono questa parte per te. Molti sistemi aggiungono anche la ricerca per parole chiave, perché termini esatti come i codici prodotto sfuggono facilmente ai soli vettori.

Guardalo rispondere dal tuo sito

Incolla l’indirizzo del tuo sito e chatta con un agente creato dalle tue pagine. Ci vuole circa un minuto.

Crea il tuo agente gratis

Piano gratuito, nessuna carta di credito.