Erstellen Sie ein Retrieval-augmented generation (RAG)-Experiment mit Hilfe von AutoAI. Laden Sie eine Sammlung von Dokumenten hoch und wandeln Sie sie in Vektoren um, die zur Verbesserung der Ausgabe eines großen Sprachmodells verwendet werden können. Vergleichen Sie optimierte Pipelines, um das beste RAG-Muster für Ihre Anwendung auszuwählen.
Vorbereiten Ihrer Datenquellen
Bevor Sie ein RAG-Experiment erstellen, bereiten Sie Ihre Dokumentensammlung und Bewertungsdaten vor. Die Dokumentensammlung bietet den Kontext für die Antworten auf die Eingabeaufforderung. Bei den Bewertungsdaten handelt es sich um eine JSON-Datei mit Beispielfragen und -antworten, die zur Messung der Leistung der RAG-Muster verwendet werden können.
Befolgen Sie zur Vorbereitung Ihrer Datenerhebung die folgenden Leitlinien:
- Unterstützte Formate für die Dokumentensammlung: PDF, HTML, DOCX, MD oder Nur-Text
- Unterstütztes Format für die Auswertungsdatendatei: JSON
Vorlage für die JSON-Auswertungsdatei
Die Auswertungsdatei enthält eine Reihe von Beispielfragen und richtigen Antworten zur Bewertung der Leistung des RAG-Musters. Verwenden Sie dieses Format für die JSON-Datei:
[
{
"question": "<text>",
"correct_answer": "<text>",
"correct_answer_document_ids": [
"<file>",
"<file>"
]
},
{
"question": "<text>",
"correct_answer": "<text>",
"correct_answer_document_ids": [
"<file>",
"<file>"
]
},
{
"question": "<text>",
"correct_answer": "<text>",
"correct_answer_document_ids": [
"<file>",
"<file>"
]
}
]
Im Folgenden finden Sie beispielsweise Beispielfragen und -antworten für das Muster, das mit der watsonx.ai Python trainiert wurde.
[
{
"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"
]
}
]
Auswahl eines Vektorspeichers
Sie müssen einen Speicherort für die vektorisierten Dokumente in einer Datenbank bereitstellen, die zum Speichern und Abrufen von Inhalten für den Frage- und Antwortprozess verwendet wird. Einzelheiten zu den verfügbaren Datenbankoptionen finden Sie unter Auswahl eines Vektorspeichers.
- Die standardmäßige speicherinterne Chroma-Datenbank ist ein temporärer Vektorspeicher für die Durchführung des Experiments. Der Index bleibt nicht über den Versuch hinaus bestehen, so dass er für die Produktion nicht geeignet ist.
- Verbinden Sie sich mit einer Milvus -Datenbank oder richten Sie eine ein, wenn Sie einen permanenten Vektorspeicher wünschen. Verwenden Sie diese Option, wenn Sie Ihr RAG-Muster einsetzen wollen. Weitere Informationen finden Sie unter "Einrichten eines watsonx.data Milvus -Vektorspeichers"
Um eine Verbindung zu einem Milvus -Vektorspeicher herzustellen, können Sie den generischen Milvus verbindungstyp oder den watsonx.data Milvus -Verbindungstyp auswählen.
In diesem Video sehen Sie, wie Sie ein AutoAI erstellen.
Dieses Video bietet eine visuelle Methode zum Erlernen der Konzepte und Aufgaben in dieser Dokumentation.
Erstellung des AutoAI
Führen Sie die folgenden Schritte aus, um ein Experiment zu definieren und durchzuführen, um das optimale RAG-Muster für Ihren Anwendungsfall zu finden, indem Sie die Standardkonfigurationseinstellungen als Fastpath verwenden.
- Klicken Sie auf der Willkommensseite von watsonx.ai oder auf der Seite Neue Assets für ein Projekt auf Automatisch KI-Lösungen erstellen.
- Wählen Sie als Art des Experiments Build a RAG solution.
- Hochladen oder Verbinden mit der Dokumentensammlung und den Bewertungsdaten. Wählen Sie bis zu 20 Dokumentordner und Dateien für die Dokumentensammlung aus. Die Bewertungsdatendatei muss eine einzelne JSON-Datei sein.
- Wählen Sie, wo der vektorbasierte Index für die Dokumentensammlung gespeichert werden soll.
- Geben Sie die JSON-Datei an, die Sie als Benchmark-Daten für die Auswertung der Versuchsergebnisse verwenden möchten.
- Klicken Sie auf Experiment ausführen, um die RAG-Pipelines unter Verwendung der Standardeinstellungen zu erstellen:
- Optimierte Metrik: Optimiert die Erstellung der RAG-Muster für die Antworttreue-Metrik.
- Zu berücksichtigende Modelle: Bei der Voreinstellung Alle Modelltypen werden alle verfügbaren Basismodelle für die Erstellung der RAG-Muster berücksichtigt.
Die Experimenteinstellungen sind konfigurierbar, wenn Sie das Experiment für Ihren Anwendungsfall anpassen möchten. Siehe Einstellungen für RAG-Experimente anpassen.
Ergebnisse anzeigen
Verwenden Sie die folgenden Tools, um den Fortschritt zu sehen und die Ergebnisse zu überprüfen.
Während das Experiment läuft, zeigt eine Fortschrittskarte an, wie die Pipelines erstellt und optimiert werden. Bewegen Sie den Mauszeiger über einen Knoten, um weitere Details zu sehen.
Überprüfen Sie nach Abschluss des Experiments die Rangliste, in der die Experiment-Pipelines nach den Ergebnissen für die optimierte Metrik geordnet sind.
Klicken Sie auf einen Pipeline-Namen, um die Details zu überprüfen. Überprüfen Sie, wie die Pipeline bei den verschiedenen Metriken im Vergleich zur Musterfrage und -antwort abgeschnitten hat.
Wenn Ihre Analyse abgeschlossen ist, klicken Sie auf Speichern, um automatisch Notebook-Assets zu erstellen, mit denen Sie das RAG-Muster testen und verwenden können.
Überprüfen Sie das resultierende Notizbuch oder die Notizbücher, um Ihr RAG-Muster zu testen oder zu verwenden. Weitere Informationen finden Sie unter "RAG-Muster speichern ".
Nächste Schritte
- Um die Konfigurationsoptionen zu bearbeiten, siehe RAG-Experimenteinstellungen anpassen.
- Um ein Muster zu analysieren, siehe AutoAI RAG-Musterdetails.
- Informationen zum Speichern und Verwenden eines RAG-Musters finden Sie unter Speichern eines RAG-Musters.
Übergeordnetes Thema: Aufbau von RAG-Experimenten mit AutoAI