Domande e risposte con RAG Accelerator
Prova le domande e risposte con RAG Accelerator per impostare la generazione potenziata dal recupero (RAG) per generare output accurati nei fatti e basati sulle informazioni dei documenti forniti.
Accedi all'hub Risorse e crea il progetto di esempio Q&A con RAG Accelerator.
Le domande e risposte con RAG Accelerator forniscono un modello e un'implementazione RAG avanzati che includono i seguenti processi:
- Elaborazione dei documenti : La conversione, l'elaborazione e l'indicizzazione dei documenti per generare un indice vettoriale.
- Generazione di risposte : Risposte alle domande tramite generazione aumentata di recupero basata sui risultati della ricerca vettoriale.
- Registrazione input/output: la registrazione di domande, blocchi recuperati e metadati, e risposte in un indice di registro secondario.
- Raccolta del feedback degli utenti: il feedback degli utenti viene aggiunto alle voci corrispondenti del registro di input/output.
- Analisi dei contenuti : un resoconto dei contenuti specifici che devono essere migliorati per migliorare le risposte che hanno ricevuto un feedback negativo da parte degli utenti.
- Intervento umano : l'identificazione dei migliori esperti per rispondere a risposte insoddisfacenti utilizzando un indice vettoriale con profili di esperti.
Il grafico seguente mostra come i processi delle domande e risposte con RAG Accelerator siano ciclici, in modo che il contenuto del documento venga aggiornato in base al feedback degli utenti.
Elaborazione dei documenti
Un notebook per l'elaborazione e l'indicizzazione dei documenti automatizza la conversione, la suddivisione e l'indicizzazione dei documenti in un indice vettoriale in uno di questi database vettoriali:
- watsonx.data Milvus
- watsonx Discovery con Elastic Search Enterprise o IBM Cloud Databases for Elasticsearch Platinum.
Il documento di esempio da vettorizzare è una versione di questa documentazione watsonx as a Service impostata in un file ZIP. È possibile personalizzare il notebook per eseguire indici vettoriali esistenti creati al di fuori di watsonx con altri strumenti, ad esempio connettori e pipeline Elastic, pipeline Spark o i propri processi.
Generazione di risposte
Python Il notebook per la funzione Q&A Python definisce il codice della funzione Q&A e ne automatizza la distribuzione con un suffisso URL ben definito in uno spazio di distribuzione. Il codice funzione Q&A con RAG Python e è configurato da set di parametri. La funzione prende una domanda come input e interroga l'indice vettoriale per recuperare i blocchi più rilevanti per rispondere alla domanda e i metadati dei blocchi, compresi i collegamenti ai documenti di origine. La funzione aggiunge i blocchi più rilevanti al modello di prompt configurato e restituisce la risposta generata, il punteggio di fedeltà calcolato e i blocchi recuperati con i metadati.
Registrazione input/output
Per ogni chiamata della funzione Q&A con RAG Python, è possibile abilitare la registrazione del testo di input e output del prompt. Qualsiasi informazione personale viene rimossa dalle stringhe prima della registrazione. L'indice dei log è separato dall'indice vettoriale per i documenti nel database vettoriale.
Se la registrazione input/output è attiva, è possibile abilitare i suggerimenti di completamento delle domande in fase di digitazione. Se l'utente accetta un completamento basato su una domanda a cui ha risposto di recente, la risposta viene recuperata dall'indice del registro, il che consente di risparmiare tempo e costi di inferenza e recupero della GPU.
Raccolta dei feedback degli utenti
Il feedback degli utenti aiuta le parti interessate a capire quanto bene la soluzione funzioni per i loro utenti, quali argomenti di documenti interessino gli utenti e quanto bene la soluzione risponda alle domande basate sul contenuto. È possibile configurare l'applicazione in modo che richiami nuovamente la funzione Q&A con RAG Python, per raccogliere eventuali feedback degli utenti sulla risposta. Il feedback dell'utente, costituito da un punteggio di soddisfazione e da un commento facoltativo, viene quindi aggiunto al registro delle domande e risposte per un'analisi successiva.
Analisi del contenuto
È possibile configurare il notebook di analisi del feedback dell'utente ed eseguirlo direttamente o come lavoro. Il notebook interroga i dati di registro per l'intervallo di tempo specificato o per le date di inizio e fine. Il notebook carica i dati del registro in un dataframe e utilizza il rilevamento non supervisionato degli argomenti di BERTopic o l'elaborazione del linguaggio naturale di Watson, per determinare quali argomenti del documento sono stati recuperati più frequentemente per generare le risposte. Il notebook analizza e visualizza la soddisfazione dell'utente per argomento e include le domande, le risposte e i commenti degli utenti per le risposte con un punteggio basso. Sulla base di queste informazioni, le parti interessate e i proprietari dei contenuti possono apportare miglioramenti ai contenuti che si traducono in risposte migliori.
Intervento umano
Quando un utente non è soddisfatto di una risposta, è possibile configurare l'applicazione in modo da contattare un esperto che possa fornire una risposta migliore. È possibile configurare il notebook di profilazione esperto per elaborare i documenti di profilo esperto e creare un indice basato su tali informazioni. Ad esempio, l'applicazione può inoltrare la domanda all'esperto, inviare la risposta dell'esperto all'utente e avvisare il proprietario della knowledge base di un possibile miglioramento dei contenuti.
Ulteriori informazioni
Argomento principale: Acceleratori di soluzioni di intelligenza artificiale