0 / 0
Torna alla versione inglese della documentazione
Automazione di un modello RAG con l'SDK AutoAI (Beta)
Ultimo aggiornamento: 12 dic 2024
Automazione di un modello RAG con l'SDK AutoAI (Beta)

Utilizzate l'SDK AutoAI Python per automatizzare e accelerare la progettazione e l'implementazione di un pattern RAG (Retrieval-augmented generation) ottimizzato, di qualità produttiva, basato sui vostri dati e sul vostro caso d'uso.

Importante: Questa funzione è una versione beta. Questa funzione è in fase beta, ma l'esecuzione dell'esperimento non comporta alcun costo e non si consumano gettoni. Tuttavia, le chiamate ai modelli RAG e ai loro derivati che vengono effettuate dopo il completamento dell'esperimento consumano risorse alla velocità standard.
Formato dei dati:
File di raccolta di documenti di tipo PDF, HTML, DOCX o testo normale
Dati del test con domande e risposte in formato JSON '
Limiti del file di dati
Fino a 20 file o cartelle per la raccolta di documenti
1 file JSON per i dati di test "
Dimensione ambiente
Grande: 8 CPU e 32 GB di RAM

Fornire risposte precise con la generazione aumentata dal recupero

La Retrieval-augmented generation (RAG) combina la potenza generativa di un modello linguistico di grandi dimensioni con l'accuratezza di una raccolta di documenti di base. L'interazione con un'applicazione RAG segue questo schema:

  1. Un utente invia una domanda all'applicazione.
  2. La ricerca recupera innanzitutto il contesto rilevante da un insieme di documenti di base.
  3. Il modello linguistico di accompagnamento genera una risposta che include le informazioni pertinenti.

Ad esempio, i notebook di esempio forniti per questa funzione utilizzano la documentazione del prodotto per la libreria client Python watsonx.ai come documenti di base per un'applicazione Q&A sulla codifica delle soluzioni watsonx.ai. Gli utenti del modello ottengono il beneficio di informazioni specifiche e pertinenti dalla documentazione, mentre il modello generativo dell'intelligenza artificiale aggiunge il contesto e presenta le risposte in linguaggio naturale.

Per una descrizione completa ed esempi di come la generazione aumentata dal reperimento può migliorare le applicazioni di domande e risposte, vedere Generazione aumentata dal reperimento (RAG).

Automatizzazione della ricerca della migliore configurazione RAG

RAG è dotato di molti parametri di configurazione, tra cui il modello linguistico di grandi dimensioni da scegliere, il modo in cui suddividere i documenti di grounding e il numero di documenti da recuperare. Le scelte di configurazione che funzionano bene per un altro caso d'uso potrebbero non essere le migliori per i vostri dati. Per creare il miglior modello RAG possibile per il vostro set di dati, potreste esplorare tutte le possibili combinazioni di opzioni di configurazione RAG per trovare, valutare e distribuire la soluzione migliore. Questa parte del processo può richiedere un notevole investimento di tempo e risorse. Così come è possibile utilizzare AutoAI per addestrare e ottimizzare rapidamente i modelli di apprendimento automatico, è possibile utilizzare le funzionalità di AutoAI per automatizzare la ricerca della soluzione RAG ottimale in base ai dati e al caso d'uso. Accelerare la sperimentazione può ridurre drasticamente i tempi di produzione.

Le caratteristiche principali dell'approccio AutoAI includono:

  • Esplorazione e valutazione completa di un insieme vincolato di opzioni di configurazione .
  • Rivalutare e modificare rapidamente la configurazione quando qualcosa cambia. Ad esempio, è possibile rieseguire facilmente il processo di formazione quando è disponibile un nuovo modello o quando i risultati della valutazione segnalano un cambiamento nella qualità delle risposte.

L'uso di AutoAI automatizza il flusso end-to-end dalla sperimentazione alla distribuzione. Il diagramma seguente illustra l'approccio di AutoAI per trovare un modello RAG ottimizzato per i dati e il caso d'uso in 3 livelli:

  • Al livello base ci sono pipeline RAG parametrizzate che vengono utilizzate per popolare un archivio vettoriale (indice) e per recuperare i dati dall'archivio vettoriale da utilizzare quando il modello linguistico di grandi dimensioni genera le risposte.
  • Successivamente, le metriche di valutazione RAG e gli strumenti di benchmarking valutano la qualità delle risposte.
  • Infine, un algoritmo di ottimizzazione degli iperparametri cerca la migliore configurazione RAG possibile per i dati.

Automatizzazione di uno schema RAG con l'SDK AutoAI

AutoAI Processo di ottimizzazione RAG

L'esecuzione degli esperimenti utilizzando AutoAI RAG evita di testare tutte le opzioni di configurazione di RAG (ad esempio, evita una ricerca su griglia) utilizzando un algoritmo di ottimizzazione iperparametrica. Il diagramma seguente mostra un sottoinsieme dello spazio di ricerca della configurazione RAG con 16 modelli RAG tra cui scegliere. Se l'esperimento le valuta tutte, vengono classificate da 1 a 16, con le tre configurazioni più alte classificate come più performanti. L'algoritmo di ottimizzazione determina quale sottoinsieme di modelli RAG valutare e interrompe l'elaborazione degli altri, che sono mostrati in grigio. Questo processo evita l'esplorazione di uno spazio di ricerca esponenziale, pur selezionando i modelli RAG più performanti nella pratica.

Automatizzazione del processo di ottimizzazione dei modelli RAG

Utilizzare il percorso rapido per automatizzare la ricerca di un modello RAG

AutoAI offre una soluzione senza codice per automatizzare la ricerca di un modello RAG. Per utilizzare il percorso rapido, partire da un progetto e utilizzare l'interfaccia AutoAI per caricare i documenti di messa a terra e di test. Accettare la configurazione predefinita o aggiornare le impostazioni dell'esperimento. Eseguire l'esperimento per creare i modelli RAG più adatti al proprio caso d'uso.

Utilizzare l'AutoAI SDK per codificare un modello RAG

Utilizzate i notebook di esempio per imparare a usare la libreria watsonx.ai Python client (versione 1.1.11 o successiva) per codificare una soluzione RAG automatizzata per il vostro caso d'uso.

Esempio Descrizione
Automatizzazione del modello RAG con il database Chroma Questo notebook mostra l'approccio rapido alla creazione di un modello RAG.
- Utilizza i file di documentazione dell'SDK watsonx.ai Python come documenti di base per un modello RAG.
- Memorizza il contenuto vettoriale nel database predefinito di Chroma in memoria
Automatizzazione del modello RAG con il database Milvus - Utilizza i file di documentazione dell'SDK watsonx.ai Python come documenti di base per un modello RAG.
- Memorizza il contenuto vettoriale in un database esterno Milvus

Funzioni supportate

Esaminate questi dettagli per le funzionalità fornite con la versione beta del processo AutoAI RAG.

Funzione Descrizione
Interfaccia supportata Services
Formati di file per la raccolta di documenti di base PDF, HTML, DOCX, testo normale
Connessioni dati per la raccolta dei documenti IBM Cloud Object Storage (bucket)
cartella nel bucket
file (fino a 20)
formati dati di test JSON con schema fisso (campi: - domanda, risposta_corretta, ID_documento_risposta_corretta)
Connessioni dati per i dati di test IBM Cloud Object Storage(singolo file JSON) '
singolo file JSON nel progetto o nello spazio (asset di dati) '
singolo file JSON nel volume di archiviazione NFS
Suddivisione in blocchi Preset multipli di 64-1024 caratteri '
Documenti di messa a terra suddivisi in pezzi con dimensioni e sovrapposizioni ottimizzate.
Modello di integrazione Modelli di incorporamento supportati disponibili con watsonx.ai
Archivio vettoriale Milvus e ChromaDB
Aumento dei blocchi Abilitato (aggiunge pezzi circostanti dal documento)
Tipo di ricerca Standard (in un unico indice)
Modelli generativi Vedere i modelli di Fondazione per attività
Campionamento Benchmark-driven (prima selezionare le domande, poi i documenti, riempire con quelli casuali fino al limite)
Algoritmo di ricerca Per l'ottimizzazione degli iperparametri viene utilizzato il Tree Parzen Estimator (TPE) della libreria hyperopt
Metriche Correttezza della risposta, Fedeltà, Correttezza del contesto. Per ulteriori informazioni, vedere
Vedere Metriche di rag lessicale dell'unito
Metrica di ottimizzazione La metrica utilizzata come obiettivo dell'ottimizzazione. La correttezza e la fedeltà delle risposte sono supportate.
Vincoli utente personalizzabili Modello di incorporazione
Modello generativo
Limite di configurazione (numero massimo di modelli in uscita da 4 a 20)
Distribuzione Milvus: AutoAI notebook per l'indicizzazione e l'inferenza utilizzando il database vettoriale esterno Milvus
Chroma: singolo AutoAI notebook per l'indicizzazione e l'inferenza utilizzando il database vettoriale in-memory Chroma

Passi successivi

Argomento principale: Codifica di soluzioni di IA generativa

Ricerca e risposta AI generativa
Queste risposte sono generate da un modello di lingua di grandi dimensioni in watsonx.ai basato sul contenuto della documentazione del prodotto. Ulteriori informazioni