Creare un esperimento di Retrieval-augmented generation (RAG) utilizzando AutoAI. Caricare una raccolta di documenti e trasformarli in vettori che possono essere utilizzati per migliorare l'output di un modello linguistico di grandi dimensioni. Confrontate le pipeline ottimizzate per selezionare il modello RAG migliore per la vostra applicazione.
Preparazione delle fonti di dati
Copy link to section
Prima di creare un esperimento RAG, preparate la raccolta dei documenti e i dati di valutazione. La raccolta di documenti fornisce un contesto per le risposte alle richieste di input. I dati di valutazione sono un file JSON con domande e risposte campione da utilizzare per misurare le prestazioni dei modelli RAG.
Per preparare la raccolta dei dati, seguite queste linee guida:
Formati supportati per la raccolta di documenti: PDF, HTML, DOCX, MD o testo normale
Formato supportato per il file dei dati di valutazione: JSON
Modello per il file di valutazione JSON
Copy link to section
Il file di dati di valutazione fornisce una serie di domande campione e di risposte corrette per valutare le prestazioni del modello RAG. Utilizzare questo formato per il file JSON:
Per aggiungere più risposte corrette a una domanda, fornire il testo della risposta e l'ID del documento per ogni risposta corretta. Utilizzate questo formato per le risposte multiple corrette:
Ad esempio, di seguito sono riportati esempi di domande e risposte per il modello addestrato con la documentazione della libreria Python di watsonx.ai
[
{
"question": "What foundation models are available in watsonx.ai?",
"correct_answer": "The following models are available in watsonx.ai: \nflan-t5-xl-3b\nFlan-t5-xxl-11b\nflan-ul2-20b\ngpt-neox-20b\ngranite-13b-chat-v2\ngranite-13b-chat-v1\ngranite-13b-instruct-v2\ngranite-13b-instruct-v1\nllama-2-13b-chat\nllama-2-70b-chat\nmpt-7b-instruct2\nmt0-xxl-13b\nstarcoder-15.5b",
"correct_answer_document_ids": [
"5B37710FE7BBD6EFB842FEB7B49B036302E18F81_0.txt"
]
},
{
"question": "What foundation models are available on Watsonx, and which of these has IBM built?",
"correct_answer": "The following foundation models are available on Watsonx:\n\n1. flan-t5-xl-3b\n2. flan-t5-xxl-11b\n3. flan-ul2-20b\n4. gpt-neox-20b\n5. granite-13b-chat-v2 (IBM built)\n6. granite-13b-chat-v1 (IBM built)\n7. granite-13b-instruct-v2 (IBM built)\n8. granite-13b-instruct-v1 (IBM built)\n9. llama-2-13b-chat\n10. llama-2-70b-chat\n11. mpt-7b-instruct2\n12. mt0-xxl-13b\n13. starcoder-15.5b\n\n The Granite family of foundation models, including granite-13b-chat-v2, granite-13b-chat-v1, and granite-13b-instruct-v2 has been build by IBM.",
"correct_answer_document_ids": [
"5B37710FE7BBD6EFB842FEB7B49B036302E18F81_0.txt",
"B2593108FA446C4B4B0EF5ADC2CD5D9585B0B63C_0.txt"
]
},
{
"question": "What is greedy decoding?",
"correct_answer": "Greedy decoding produces output that closely matches the most common language in the model's pretraining data and in your prompt text, which is desirable in less creative or fact-based use cases. A weakness of greedy decoding is that it can cause repetitive loops in the generated output.",
"correct_answer_document_ids": [
"42AE491240EF740E6A8C5CF32B817E606F554E49_1.txt"
]
},
{
"question": "When to tune a foundation model?",
"correct_answer": "Tune a foundation model when you want to do the following things:\n\nReduce the cost of inferencing at scale\nGet the model's output to use a certain style or format\nImprove the model's performance by teaching the model a specialized task\nGenerate output in a reliable form in response to zero-shot prompts\"",
"correct_answer_document_ids": [
"FBC3C5F81D060CD996489B772ABAC886F12130A3_0.txt"
]
},
{
"question": "What tuning parameters are available for IBM foundation models?",
"correct_answer": "Tuning parameter values for IBM foundation models:\nInitialization method\ninitialization text\nbatch_size\naccumulate_steps\nlearning_rate\nnum_epochs\"",
"correct_answer_document_ids": [
"51747F17F413F1F34CFD73D170DE392D874D03DD_2.txt"
]
},
{
"question": "How do I avoid generating personal information with foundation models?",
"correct_answer": "To exclude personal information, try these techniques:\n- In your prompt, instruct the model to refrain from mentioning names, contact details, or personal information.\n- In your larger application, pipeline, or solution, post-process the content that is generated by the foundation model to find and remove personal information.\"",
"correct_answer_document_ids": [
"E59B59312D1EB3B2BA78D7E78993883BB3784C2B_4.txt"
]
},
{
"question": "What is Watson OpenScale?",
"correct_answer": "Watson OpenScale is a tool that helps organizations evaluate and monitor the performance of their AI models. It tracks and measures outcomes from AI models, and helps ensure that they remain fair, explainable, and compliant no matter where the models were built or are running. Watson OpenScale also detects and helps correct the drift in accuracy when an AI model is in production.",
"correct_answer_document_ids": [
"777F72F32FD20E96C4A5F0CCA461FE9A79334E96_0.txt"
]
}
]
Copy to clipboardCopiato negli appuntiShow more
Scegliere un negozio di vettori
Copy link to section
È necessario fornire una posizione per la memorizzazione dei documenti vettoriali in un database che viene utilizzato per memorizzare e recuperare i contenuti per il processo di domande e risposte. Per informazioni dettagliate sulle opzioni di database disponibili, vedere Scelta di un archivio vettoriale.
Il database Chroma in-memory predefinito è un archivio vettoriale temporaneo per l'esecuzione dell'esperimento. L'indice non persiste oltre l'esperimento, quindi non è una buona scelta per la produzione.
Collegarsi o impostare un database Milvus se si desidera un archivio vettoriale permanente. Utilizzare questa opzione se si intende distribuire il modello RAG. Per ulteriori informazioni, vedere Impostazione di un archivio vettoriale watsonx.data Milvus
Importante:
Per collegarsi a un archivio vettoriale Milvus, si può scegliere il tipo di connettore generico o il connettore Milvus o il connettore watsonx.data Milvus.
Guardate questo video per vedere come creare un esperimento RAG AutoAI.
Questo video fornisce un metodo visivo per apprendere i concetti e le attività di questa documentazione.
Creazione dell'esperimento AutoAI RAG
Copy link to section
Seguite questi passaggi per definire ed eseguire un esperimento per cercare il modello RAG ottimale per il vostro caso d'uso, utilizzando le impostazioni di configurazione predefinite come fastpath.
Dalla pagina di benvenuto di watsonx.ai o dalla pagina Nuove risorse di un progetto, fare clic su Costruisci automaticamente soluzioni AI.
Digitare un nome e una descrizione opzionale per l'esperimento, selezionare una dimensione di configurazione e fare clic su Crea. È inoltre necessario che al progetto sia associata un'istanza del servizio watsonx.ai Runtime.
Suggerimento: se si verifica un errore nella configurazione di un esperimento, verificare che il piano disponga di risorse sufficienti. Se il problema persiste, provare a ruotare le credenziali del task IBM Cloud.
Selezionare Costruisci una soluzione RAG come tipo di esperimento.
Caricare o collegarsi alla raccolta di documenti e ai dati di valutazione. Selezionare fino a 20 cartelle e file di documenti per la raccolta di documenti. Il file dei dati di valutazione deve essere un unico file JSON.
Scegliere dove memorizzare l'indice vettoriale per la raccolta di documenti.
Specificare il file JSON che si desidera utilizzare come dati di riferimento per valutare i risultati dell'esperimento.
Fare clic su Esegui esperimento per creare le pipeline RAG utilizzando le impostazioni predefinite:
Metrica ottimizzata: Ottimizza la creazione dei modelli RAG per la metrica di fedeltà della risposta.
Modelli da considerare: L'impostazione predefinita di Tutti i tipi di modello considera tutti i modelli di fondazione disponibili per la generazione dei modelli RAG.
Utilizzate i seguenti strumenti per visualizzare i progressi e rivedere i risultati.
Durante l'esecuzione dell'esperimento, una mappa di avanzamento fornisce una visualizzazione del modo in cui le pipeline vengono create e ottimizzate. Passare il mouse su qualsiasi nodo per ottenere maggiori dettagli.
Al termine dell'esperimento, fare clic su Importanza delle impostazioni per esaminare l'importanza di ciascuna impostazione per la creazione e la classificazione dei modelli ottimizzati.
Esaminare la classifica che mostra le pipeline di esperimenti, classificate in base ai risultati per la metrica ottimizzata.
Fare clic sul nome di una conduttura per rivederne i dettagli. Esaminare il punteggio ottenuto dalla pipeline per le varie metriche rispetto alla domanda e alla risposta di esempio.
Una volta completata l'analisi, fare clic su Salva per generare automaticamente le risorse del blocco note che possono essere utilizzate per testare e utilizzare il modello RAG.
Esaminare ed eseguire il quaderno o i quaderni risultanti per testare o utilizzare il modello RAG. Per ulteriori informazioni, vedere Salvataggio di un modello RAG.
Informazioni sui cookie del presente sitoPer il corretto funzionamento, i nostri siti Web richiedono alcuni cookie (richiesto). Inoltre, con il suo consenso, potrebbero essere utilizzati altri cookie per l'analisi dell'utilizzo del sito, per migliorare l'esperienza utente e per scopi pubblicitari.Per ulteriori informazioni, consultare le Preferenze cookie. Visitando il nostro sito web, accettate il trattamento delle informazioni da parte nostra come descritto nelladichiarazione sulla privacy di IBM.Per consentire una corretta navigazione, le preferenze per i cookie dell'utente verranno condivise sui domini Web IBM qui elencati.