Automatisierung eines RAG-Musters mit AutoAI

Letzte Aktualisierung: 02. Apr. 2025
Automatisierung eines RAG-Musters mit AutoAI

Verwenden Sie AutoAI, um die Suche nach einem optimierten, produktionsqualitätsbasierten Retrieval-Augmented-Generation-Muster (RAG) auf der Grundlage Ihrer Daten und Ihres Anwendungsfalls zu automatisieren und zu beschleunigen.

Datenformat
Dokumentensammeldateien vom Typ PDF, HTML, DOCX, MD oder Nur-Text
Testdaten mit Fragen und Antworten im JSON-Format
Dateigrößenbeschränkungen
Bis zu 20 Dateien oder Ordner für die Dokumentensammlung. Bei größeren Dokumentensammlungen führt AutoAI das Experiment mit einer Stichprobe von 1 GB durch.
1 JSON-Datei für Testdaten. In einem Experiment werden bis zu 25 Frage-Antwort-Paare verwendet, um Muster zu bewerten.
Umgebungsgröße
Groß: 8 CPUs und 32 GB RAM

Schätzung der Kosten für ein RAG-Muster

AutoAI für RAG-Experimente verwenden Capacity Unit Hours (CUH) für das Training des Experiments und während des Experiments werden Tokens für die Einbettung von Dokumenten und die Inferenz der Basismodelle verbraucht.

  • CUH ist eine Standardmessung von 20 CUH pro Stunde für die unterstützte Umgebung. Die für ein Experiment verbrauchte CUH hängt von der Komplexität des Experiments und der Zeit ab, die für das Training der Muster benötigt wird.
  • Der Token-Konsum hängt von einer Reihe von Faktoren ab, darunter:
    • größe der Dokumentensammlung zum Einbetten
    • anzahl der zu integrierenden Bewertungsfragen und -antworten
    • chunking-Konfiguration, berechnet nach dieser Formel: ((Chunk overlap + Chunk size) * Chunk count) *Evaluation records
    • die Anzahl der Muster, die das Experiment erzeugt

Dieses Beispiel zeigt, wie Ressourcen für ein einzelnes RAG-Muster berechnet werden.

Experiment-Input:

  • 100 Dokumentseiten
  • 25 Bewertungsfragen/-antworten
Aktivität Konsumierte Tokens
Dokumente einbetten 3.000.000
Einbettung von Bewertungsaufzeichnungen 25.000
Kontext für Eingabeaufforderungen abrufen 192.000
Abrufen des Kontexts für Bewertungsdatensätze 25.000
Antworten finden 25.000
Insgesamt verbrauchte Token 3.267.000

Genaue Antworten mit Retrieval-unterstützter Generierung

Retrieval-augmented generation (RAG) kombiniert die generative Kraft eines großen Sprachmodells mit der Genauigkeit einer Sammlung von Grundlagendokumenten. Die Interaktion mit einer RAG-Anwendung folgt diesem Muster:

  1. Ein Nutzer stellt eine Frage an die App.
  2. Bei der Suche wird zunächst der relevante Kontext aus einer Reihe von Grundlagendokumenten abgerufen.
  3. Das dazugehörige große Sprachmodell erzeugt eine Antwort, die die relevanten Informationen enthält.

Die Beispiel-Notebooks, die für dieses Feature zur Verfügung gestellt werden, verwenden beispielsweise die Produktdokumentation für die watsonx.ai Python als Basisdokumente für eine Q&A-App über die Programmierung von watsonx.ai. Pattern-Nutzer profitieren von spezifischen, relevanten Informationen aus der Dokumentation, wobei das generative KI-Modell den Kontext hinzufügt und die Antworten in natürlicher Sprache präsentiert.

Eine vollständige Beschreibung und Beispiele dafür, wie die abruferweiterte Generierung Ihre Frage- und Antwortanwendungen verbessern kann, finden Sie unter Retrieval-erweiterte Generierung (RAG).

Automatisierung der Suche nach der besten RAG-Konfiguration

RAG verfügt über zahlreiche Konfigurationsparameter, z. B. welches große Sprachmodell gewählt werden soll, wie die Grundlagendokumente zerlegt werden sollen und wie viele Dokumente abgerufen werden sollen. Konfigurationsoptionen, die für einen anderen Anwendungsfall gut funktionieren, sind möglicherweise nicht die beste Wahl für Ihre Daten. Um das bestmögliche RAG-Muster für Ihren Datensatz zu erstellen, können Sie alle möglichen Kombinationen von RAG-Konfigurationsoptionen untersuchen, um die beste Lösung zu finden, zu bewerten und einzusetzen. Dieser Teil des Prozesses kann eine erhebliche Investition von Zeit und Ressourcen erfordern. So wie Sie AutoAI nutzen können, um Modelle für maschinelles Lernen schnell zu trainieren und zu optimieren, können Sie AutoAI-Funktionen nutzen, um die Suche nach der optimalen RAG-Lösung auf der Grundlage Ihrer Daten und Ihres Anwendungsfalls zu automatisieren. Die Beschleunigung der Versuche kann die Zeit bis zur Produktion drastisch verkürzen.

Zu den wichtigsten Merkmalen des AutoAI-Ansatzes gehören:

  • Vollständige Erkundung und Bewertung einer begrenzten Anzahl von Konfigurationsoptionen .
  • Schnelle Neubewertung und Anpassung der Konfiguration, wenn sich etwas ändert. So können Sie zum Beispiel den Trainingsprozess leicht wiederholen, wenn ein neues Modell verfügbar ist oder wenn die Auswertungsergebnisse eine Änderung der Qualität der Antworten signalisieren.

Die Verwendung von AutoAI automatisiert den gesamten Ablauf von der Erprobung bis zur Bereitstellung. Das folgende Diagramm veranschaulicht den AutoAI-Ansatz, um ein optimiertes RAG-Muster für Ihre Daten und Ihren Anwendungsfall in 3 Ebenen zu finden:

  • Auf der Basisebene befinden sich parametrisierte RAG-Pipelines, die zum Auffüllen eines Vektorspeichers (Index) und zum Abrufen von Daten aus dem Vektorspeicher verwendet werden, wenn das große Sprachmodell Antworten generiert.
  • Anschließend wird die Qualität der Antworten mit Hilfe von RAG-Bewertungsmetriken und Benchmarking-Tools bewertet.
  • Schließlich sucht ein Hyperparameter-Optimierungsalgorithmus nach der bestmöglichen RAG-Konfiguration für Ihre Daten.

Automatisieren eines RAG-Musters mit dem AutoAI SDK

AutoAI RAG-Optimierungsverfahren

Die Durchführung von Experimenten mit AutoAI RAG vermeidet das Testen aller RAG-Konfigurationsoptionen (z. B. eine Gittersuche) durch die Verwendung eines Hyperparameter-Optimierungsalgorithmus. Das folgende Diagramm zeigt eine Teilmenge des RAG-Konfigurationssuchraums mit 16 zur Auswahl stehenden RAG-Mustern. Wenn das Experiment sie alle bewertet, werden sie in eine Rangliste von 1 bis 16 eingeordnet, wobei die drei Konfigurationen mit der höchsten Bewertung als die leistungsfähigsten gekennzeichnet werden. Der Optimierungsalgorithmus bestimmt, welche Teilmenge der RAG-Muster ausgewertet werden soll, und beendet die Verarbeitung der anderen, die grau dargestellt sind. Dieses Verfahren vermeidet die Erkundung eines exponentiellen Suchraums und wählt dennoch die in der Praxis besser funktionierenden RAG-Muster aus.

Automatisieren des Optimierungsprozesses für RAG-Muster

Verwenden Sie den schnellen Weg zur Automatisierung der Suche nach einem RAG-Muster

AutoAI bietet eine no-code Lösung für die Automatisierung der Suche nach einem RAG-Muster. Um den Fastpath zu nutzen, beginnen Sie mit einem Projekt und verwenden die AutoAI, um Ihre Erdungs- und Prüfunterlagen hochzuladen. Übernehmen Sie die Standardkonfiguration oder aktualisieren Sie die Experimenteinstellungen. Führen Sie das Experiment durch, um die für Ihren Anwendungsfall am besten geeigneten RAG-Muster zu erstellen.

Verwenden Sie das AutoAI SDK für die Kodierung eines RAG-Musters

Verwenden Sie die Beispiel-Notebooks, um zu lernen, wie Sie die watsonx.ai Python Client-Bibliothek (Version 1.1.11 oder höher) verwenden, um eine automatisierte RAG-Lösung für Ihren Anwendungsfall zu programmieren.

Beispiel Beschreibung
Automatisierung der RAG-Muster mit der Chroma-Datenbank
- Verwendet die watsonx.ai Python SDK Dokumentationsdateien als Grundlagendokumente für ein RAG-Muster.
- Speichert den vektorisierten Inhalt in der standardmäßigen, speicherinternen Chroma-Datenbank
Automatisierung des RAG-Musters mit Milvus – Verwendet die Dokumentationsdateien Python SDK von watsonx.ai als Grundlage für ein RAG-Muster.
- Speichert den vektorisierten Inhalt in einer externen Milvus -Datenbank

Skalierung eines RAG-Experiments

AutoAI automatisiert die Suche nach einem optimierten RAG-Muster auf der Grundlage Ihrer Erdungsdokumente. Wenn Ihre Dokumentations-Wissensdatenbank die für ein Experiment zulässigen Datenmengen überschreitet, können Sie dennoch AutoAI verwenden, um das RAG-Muster zu finden, und dann das automatisch generierte Indexierungsnotizbuch verwenden, das beim Speichern eines Musters erstellt wird, um weitere Dokumente zu indexieren. Das RAG-Muster wird auf den größeren Teil der indizierten Dokumente angewendet.

Weitere Informationen finden Sie unter "RAG-Muster speichern ".

Unterstützte Funktionen

Sehen Sie sich diese Details zu den Funktionen an, die mit dem RAG-Prozess von AutoAI bereitgestellt werden.

Funktion Beschreibung
Unterstützte Schnittstelle API, UI
Dateiformate für die Sammlung von Grundlagendokumenten PDF, HTML, DOCX, MD, Nur-Text
Datenverbindungen für die Dokumentensammlung IBM Cloud Object Storage (Bucket)
Ordner im Bucket
Dateien (bis zu 20)
Testdatenformat JSON mit festem Schema (Felder: - question, correct_answer, correct_answer_document_ids)
Datenverbindungen für Testdaten IBM Cloud Object Storage(einzelne JSON-Datei) "
einzelne JSON-Datei im Projekt oder Raum (Datenbestand) "
einzelne JSON-Datei im NFS
Chunking Mehrere Voreinstellungen von 64-1024 Zeichen '
Erdungsdokumente werden in Abschnitte mit optimierter Größe und Überlappung aufgeteilt.
Einbettungsmodell Unterstützte Einbettungsmodelle, die mit watsonx.ai verfügbar sind
Vektorspeicher Milvus und ChromaDB
Chunk-Erweiterung Aktiviert (umliegende Teile aus dem Dokument hinzufügen)
Suchart Standard (in einem einzigen Index)
Generative Modelle Siehe Stiftungsmodelle nach Aufgabe
Stichprobenentnahme Benchmark-gesteuert (erst die Fragen auswählen, dann die Dokumente, mit zufälligen Fragen auffüllen bis zum Limit)
Such-Algorithmus Tree Parzen Estimator (TPE) aus der hyperopt-Bibliothek wird für die Optimierung von Hyperparametern verwendet
Metriken Korrektheit der Antwort, Treue, Korrektheit des Kontexts. Für weitere Informationen siehe
Siehe Unitxt lexical rag metrics
Optimierung Metrik Die Metrik, die als Optimierungsziel verwendet wird. Antwortrichtigkeit und Treue werden unterstützt.
Anpassbare Benutzereinschränkungen Einbettungsmodell
Generatives Modell
Grenzwert für die Anzahl der Konfigurationen (max. Anzahl der Ausgabemuster 4 bis 20)
Bereitstellung Milvus : AutoAI Notebooks für Indexierung und Inferenz unter Verwendung der externen Vektordatenbank Milvus
Deployable AI Service Asset
Chroma: einzelnes AutoAI Notebook für Indexierung und Inferenz unter Verwendung der Chroma In-Memory-Vektordatenbank

Nächste Schritte

Übergeordnetes Thema: Codierung generativer KI-Lösungen