0 / 0

Modello di generazione aumentata dal recupero (RAG )

Ultimo aggiornamento: 01 mag 2025
Modello di generazione aumentata dal recupero (RAG)

È possibile creare un modello di generazione aumentata dal reperimento (RAG ) per generare output fattuali basati sulle informazioni di una base di conoscenza.

Un modello RAG elabora i contenuti di una base di conoscenza in un formato vettoriale facile da ricercare. Quando un utente pone una domanda, il modello RAG recupera una serie di brani pertinenti e li fornisce al LLM. L'LLM genera una risposta concreta alla domanda dell'utente.

Capacità e risorse del modello RAG

È possibile creare un modello RAG con le seguenti capacità e risorse:

Incorporazioni vettoriali
Creare embeddings vettoriali per codificare il significato di una frase o di un brano come rappresentazione numerica. I vettori offrono un modo efficiente per trovare i passaggi di testo nella vostra base di conoscenza che sono più simili alla domanda posta dall'utente. I vettori vengono memorizzati in database vettoriali e recuperati con un indice vettoriale.
Vedere Creazione di un indice vettoriale.
text extraction
Convertire il contenuto di un PDF o di un'immagine in testo per la vettorializzazione.
Vedere Estrazione di testo dai documenti.
Recupero della classifica dei passaggi
Riclassifica l'insieme dei risultati più importanti recuperati in base alla rilevanza anziché alla somiglianza.
Vedere i passaggi del documento Reranking.
Archivi vettoriali
Si può scegliere tra l'archivio vettoriale Chroma in memoria, l'archivio vettoriale watsonx.data Milvus impostato automaticamente o altri archivi vettoriali a cui si creano connessioni.
Vedere Tipi di negozi vettoriali.
Modelli di codifica per embedding e reranking
Scegliete tra i modelli di codificatori di IBM e di terze parti per la creazione di embeddings e il reranking dei passaggi.
Vedere Modelli di fondazione di encoder supportati.
Modelli di base per l'inferenza
Scegliete tra una serie di modelli di base, selezionate un modello deploy-on-demand o importate e distribuite un modello personalizzato.
Vedere i modelli Foundation che supportano il vostro caso d'uso.
Campioni da adattare
Partite da un modello RAG di esempio e adattatelo al vostro caso d'uso.
Vedere i modelli RAG di esempio.

Modi di lavorare

È possibile scrivere il codice per il modello RAG con i seguenti metodi:

È possibile lavorare in un'esperienza no-code o low-code con gli strumenti dell'interfaccia utente:

  • Prompt Lab : È possibile chattare con un documento caricato o con un indice vettoriale.
  • AutoAI per RAG : è possibile automatizzare la ricerca di un modello RAG ottimizzato e di qualità.
  • Indice vettoriale : È possibile creare un indice vettoriale basato su uno o più documenti.

L'architettura del modello di generazione aumentata dal reperimento

È possibile ampliare la tecnica di inserimento del contesto nei prompt utilizzando le informazioni di una base di conoscenza.

 

Questo video fornisce un metodo visivo per apprendere i concetti e le attività in questa documentazione.

Capitoli video

[ 0:08 ] Descrizione dello scenario
[ 0:27 ] Panoramica del modello
[ 1:03 ] Base di conoscenza
[ 1:22 ] Componente di ricerca
[ 1:41 ] Prompt aumentato con il contesto
[ 2:13 ] Generazione dell'output
[ 2:31 ] Soluzione completa
[ 2:55 ] Considerazioni sulla ricerca
[ 3:58 ] Considerazioni sul testo del prompt
[ 5:01 ] Considerazioni sulla spiegabilità

 

Il diagramma che segue illustra il modello di generazione con recupero e incremento in fase di esecuzione. Anche se il diagramma mostra un esempio di risposta alle domande, lo stesso flusso di lavoro supporta altri casi di utilizzo.

Diagramma che mostra l'aggiunta di risultati di ricerca derivati da un archivio vettoriale all'input per la generazione aumentata del reperimento

Il modello di generazione aumentata dal recupero prevede le seguenti fasi:

  1. La base di conoscenze viene preelaborata per convertire il contenuto in testo semplice e vettorizzarlo. La pre-elaborazione può includere l'estrazione del testo per convertire le informazioni contenute nelle tabelle e nelle immagini in testo interpretabile dall'LLM.
  2. Un utente pone una domanda.
  3. La domanda viene convertita in un'inclusione di testo.
  4. L'archivio vettoriale che contiene il contenuto vettoriale della base di conoscenza viene cercato per trovare il contenuto simile alla domanda dell'utente.
  5. I risultati della ricerca più rilevanti vengono aggiunti al prompt in formato testo, insieme a un'istruzione, come "Rispondete alla seguente domanda utilizzando solo le informazioni contenute nei seguenti passaggi"
  6. Il testo combinato del prompt (istruzione + risultati della ricerca + domanda) viene inviato al modello di fondazione.
  7. Il modello di base utilizza le informazioni contestuali della richiesta per generare una risposta concreta.

Knowledge base

La base di conoscenza può essere una qualsiasi raccolta di artefatti contenenti informazioni, ad esempio:

  • Informazioni sul processo nelle pagine wiki aziendali interne
  • File in GitHub
  • Messaggi in uno strumento di collaborazione
  • Argomenti nella documentazione del prodotto, che possono includere blocchi di testo lunghi
  • Passaggi di testo in un database che supporta query SQL (structured query language), come Db2
  • Un archivio documenti con una raccolta di file, come i contratti legali memorizzati come file PDF
  • Ticket di assistenza clienti in un sistema di gestione dei contenuti

La maggior parte degli archivi vettoriali supportati e AutoAI supportano file di tipo PDF, HTML, DOCX, MD o testo semplice. Vedere Tipi di documenti di messa a terra.

Preelaborazione dei contenuti

Quando si imposta il modello RAG, si preelaborano i documenti della base di conoscenza. La pre-elaborazione converte innanzitutto il contenuto in testo semplice. È possibile configurare l'estrazione del testo per convertire le informazioni contenute nelle tabelle e nelle immagini in testo interpretabile dall'LLM. Quindi, il modello di incorporazione vettorializza il testo, lo memorizza nel database vettoriale e crea un indice vettoriale per recuperare il contenuto.

Quando un utente pone una domanda, il testo viene vettorializzato dal modello di incorporazione.

Recupero e classificazione dei contenuti

Il retriever cerca nel database vettoriale il contenuto più simile all'incorporazione vettoriale del testo interrogato. I brani recuperati vengono classificati in base alla somiglianza con la domanda. È possibile aggiungere un modello di reranking al modello RAG per valutare i passaggi più importanti recuperati per rispondere alla domanda.

Generazione di risposte

Il brano recuperato, la domanda dell'utente e le istruzioni vengono inviate al modello di fondazione in un prompt. Il modello di fondazione genera una risposta e la restituisce all'utente.

Esempi di modelli RAG

I seguenti esempi dimostrano come applicare il modello di generazione con recupero e incremento.

Esempi di generazione potenziata dal recupero
Esempio Formato Descrizione Collegamento
Soluzione RAG completa Progetto Questo progetto di esempio contiene quaderni e altre risorse che implementano una soluzione di domande e risposte utilizzando la generazione aumentata dal recupero. Vedi Q&A con RAG Accelerator. Domande e risposte con il progetto di esempio RAG Accelerator.
Introduzione semplice Blocco appunti Utilizza una piccola knowledge base e un componente di ricerca semplice per dimostrare il modello di base. Introduzione alla generazione aumentata dal recupero
Introduzione semplice con Discovery Blocco appunti Questo notebook di esempio utilizza brevi articoli in IBM Watson Discovery come knowledge base e l'API Discovery per eseguire query di ricerca. Semplice introduzione alla generazione aumentata dal recupero con watsonx.ai e Discovery
Esempio con LangChain Blocco appunti Contiene i passaggi e il codice per dimostrare il supporto della generazione aumentata dal recupero con LangChain in watsonx.ai. Introduce i comandi per il richiamo dei dati, la creazione e la query della knowledge base e il test del modello. Utilizzare watsonx e LangChain per rispondere alle domande utilizzando RAG
Esempio con LangChain e un database vettore Elasticsearch Blocco appunti Dimostra come utilizzare LangChain per applicare un modello di incorporazione ai documenti in un database vettore Elasticsearch . Il notebook indicizza e utilizza l'archivio dati per generare risposte alle domande in entrata. Usare watsonx, Elasticsearch e LangChain per rispondere alle domande (RAG)
Esempio con la libreria Python Elasticsearch Blocco appunti Dimostra come utilizzare la libreria Elasticsearch Python per applicare un modello di integrazione ai documenti in un database vettoriale Elasticsearch . Il notebook indicizza e utilizza l'archivio dati per generare risposte alle domande in entrata. Usare watsonx e la libreria Elasticsearch Python per rispondere alle domande (RAG)
Esempio con LangChain e un database SingleStoreDB Blocco appunti Mostra come applicare la generazione ottimizzata per il reperimento a modelli linguistici di grandi dimensioni in watsonx utilizzando il database SingleStoreDB. RAG con SingleStoreDB e watsonx

Ulteriori informazioni

Prova queste esercitazioni:

Argomento principale: Soluzioni di IA generativa