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:
- Dokumentensammlungsdateien des Typs PDF, HTML, DOCX oder einfacher Text
- Testdaten mit Fragen und Antworten im JSON-Format '
Datendateigrenzen - Bis zu 20 Dateien oder Ordner für die Dokumentensammlung
- 1 JSON-Datei für Testdaten '
Umgebungsgröße - Groß: 8 CPUs und 32 GB RAM
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:
- Ein Nutzer stellt eine Frage an die App.
- Bei der Suche wird zunächst der relevante Kontext aus einer Reihe von Grundlagendokumenten abgerufen.
- 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.
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.
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 |
Unterstützte Funktionen
Überprüfen Sie diese Details für Funktionen, die in der Beta-Version des AutoAI RAG-Prozesses enthalten sind.
Funktion | Beschreibung |
---|---|
Unterstützte Schnittstelle | -API |
Dateiformate für die Sammlung von Grundlagendokumenten | PDF, HTML, DOCX, einfacher 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 für die Indexierung und Inferenz unter Verwendung der externen Vektordatenbank Milvus Chroma: einzelnes AutoAI für die Indexierung und Inferenz unter Verwendung der In-Memory-Vektordatenbank von Chroma |
Nächste Schritte
- Unter Auswahl eines Vektorspeichers erfahren Sie, wo Sie Ihre vektorisierten Dokumente speichern möchten.
- Siehe Erstellen eines RAG-Experiments (fastpath)
Übergeordnetes Thema: Codierung generativer KI-Lösungen