0 / 0

Retrieval-augmented generation (RAG) Muster

Letzte Aktualisierung: 01. Mai 2025
Retrieval-augmented generation (RAG) Muster

Sie können ein RAG-Muster ( Retrieval-Augmented Generation ) erstellen, um eine faktische Ausgabe zu erzeugen, die auf Informationen aus einer Wissensbasis basiert.

Ein RAG-Muster verarbeitet Inhalte aus einer Wissensdatenbank in einem Vektorformat, das leicht zu durchsuchen ist. Wenn ein Benutzer eine Frage stellt, ruft das RAG-Muster eine Reihe von relevanten Passagen ab und stellt sie dem LLM zur Verfügung. Der LLM generiert eine sachliche Antwort auf die Frage des Benutzers.

RAG-Muster, Fähigkeiten und Ressourcen

Sie können ein RAG-Muster mit den folgenden Fähigkeiten und Ressourcen erstellen:

Vektorielle Einbettungen
Erstellen Sie Vektoreinbettungen, um die Bedeutung eines Satzes oder einer Passage als numerische Darstellung zu kodieren. Vektoren bieten eine effiziente Möglichkeit, Textpassagen in Ihrer Wissensdatenbank zu finden, die der vom Benutzer gestellten Frage am ähnlichsten sind. Vektoren werden in Vektordatenbanken gespeichert und mit einem Vektorindex abgerufen.
Siehe Erstellen eines Vektorindexes.
Textextraktion
Konvertieren Sie Inhalte aus einer PDF-Datei oder einem Bild in Text für die Vektorisierung.
Siehe Extrahieren von Text aus Dokumenten.
Zurückgeholte Passagen werden neu bewertet
Neueinstufung der obersten Ergebnismenge, die nach Relevanz statt nach Ähnlichkeit abgerufen wird.
Siehe Reranking-Dokumentpassagen.
Vektorspeicher
Wählen Sie zwischen dem speicherinternen Chroma-Vektorspeicher, dem automatisch eingerichteten watsonx.data Milvus Vektorspeicher oder anderen Vektorspeichern, zu denen Sie Verbindungen herstellen.
Siehe Arten von Vektorspeichern.
Encodermodelle für Einbettung und Reranking
Wählen Sie aus IBM und Encoder-Modellen von Drittanbietern für die Erstellung von Einbettungen und das Reranking von Passagen.
Siehe Unterstützte Geberfundamentmodelle.
Grundlagenmodelle für die Inferenzierung
Wählen Sie aus einer Reihe von Basismodellen, wählen Sie ein bedarfsgesteuertes Modell oder importieren und implementieren Sie ein benutzerdefiniertes Modell.
Siehe Foundation-Modelle, die Ihren Anwendungsfall unterstützen.
Beispiele zur Anpassung
Beginnen Sie mit einem beispielhaften RAG-Muster und passen Sie es für Ihren Anwendungsfall an.
Siehe RAG-Muster.

Wege zur Arbeit

Sie können Code für Ihr RAG-Muster mit den folgenden Methoden schreiben:

Sie können in einer No-Code- oder Low-Code-Umgebung mit Tools in der Benutzeroberfläche arbeiten:

  • Prompt Lab : Sie können mit einem hochgeladenen Dokument oder mit einem Vektorindex chatten.
  • AutoAI für RAG : Sie können die Suche nach einem optimierten, produktionsgerechten RAG-Muster automatisieren.
  • Vektor-Index : Sie können einen Vektorindex erstellen, der auf einem oder mehreren Dokumenten basiert.

Die Architektur der abruferweiterten Generierungsmuster

Sie können die Technik der Einbeziehung von Kontext in Ihre Eingabeaufforderungen erweitern, indem Sie Informationen aus einer Wissensdatenbank verwenden.

 

Dieses Video bietet eine visuelle Methode zum Erlernen der Konzepte und Tasks in dieser Dokumentation.

Video-Kapitel

[ 0:08 ] Szenariobeschreibung
[ 0:27 ] Überblick über das Muster
[ 1:03 ] Wissensdatenbank
[ 1:22 ] Suchkomponente
[ 1:41 ] Mit Kontext angereicherte Eingabeaufforderung
[ 2:13 ] Generierung der Ausgabe
[ 2:31 ] Vollständige Lösung
[ 2:55 ] Überlegungen zur Suche
[ 3:58 ] Überlegungen zum Aufforderungstext
[ 5:01 ] Überlegungen zur Erklärbarkeit

 

Das folgende Diagramm veranschaulicht das abruferweiterte Generierungsmuster zur Laufzeit. Obwohl das Diagramm ein Beispiel für die Beantwortung von Fragen zeigt, unterstützt derselbe Workflow andere Anwendungsfälle.

Diagramm, das das Hinzufügen von Suchergebnissen, die aus einem Vektorspeicher abgeleitet sind, zur Eingabe für die abruferweiterte Generierung zeigt

Das durch Abruf erweiterte Generierungsmuster umfasst die folgenden Schritte:

  1. Ihre Wissensdatenbank wird vorverarbeitet, um den Inhalt in einfachen Text umzuwandeln und zu vektorisieren. Die Vorverarbeitung kann die Textextraktion umfassen, um Informationen in Tabellen und Bildern in Text umzuwandeln, der vom LLM interpretiert werden kann.
  2. Ein Benutzer stellt eine Frage.
  3. Die Frage wird in eine Texteinbettung umgewandelt.
  4. Der Vektorspeicher, der den vektorisierten Inhalt der Wissensbasis enthält, wird nach Inhalten durchsucht, die der Frage des Benutzers ähnlich sind.
  5. Die relevantesten Suchergebnisse werden der Eingabeaufforderung im Textformat hinzugefügt, zusammen mit einer Anweisung, wie z. B. "Beantworten Sie die folgende Frage, indem Sie nur Informationen aus den folgenden Passagen verwenden."
  6. Der kombinierte Aufforderungstext (Anweisung + Suchergebnisse + Frage) wird an das Stiftungsmodell gesendet.
  7. Das Modell der Stiftung verwendet Kontextinformationen aus der Eingabe, um eine sachliche Antwort zu generieren.

Wissensdatenbank

Ihre Wissensdatenbank kann eine beliebige Sammlung von informationshaltigen Artefakten sein, z. B.:

  • Prozessinformationen auf Wiki-Seiten des internen Unternehmens
  • Dateien in GitHub
  • Nachrichten in einem Tool für Onlinezusammenarbeit
  • Abschnitte in der Produktdokumentation, die lange Textblöcke enthalten können
  • Textpassagen in einer Datenbank, die SQL-Abfragen (Structured Query Language) unterstützt, wie z. B. Db2
  • Ein Dokumentspeicher mit einer Sammlung von Dateien, z. B. rechtsgültige Verträge, die als PDF-Dateien gespeichert werden
  • Kundensupport-Tickets in einem Content-Management-System

Die meisten unterstützten Vektorspeicher und AutoAI unterstützen Dateien des Typs PDF, HTML, DOCX, MD oder einfachen Text. Siehe Erdung von Dokumentendateitypen.

Vorverarbeitung von Inhalten

Wenn Sie Ihr RAG-Muster einrichten, verarbeiten Sie die Dokumente in Ihrer Wissensbasis vor. Bei der Vorverarbeitung wird der Inhalt zunächst in reinen Text umgewandelt. Sie können die Textextraktion konfigurieren, um Informationen in Tabellen und Bildern in Text umzuwandeln, den der LLM interpretieren kann. Anschließend vektorisiert das Einbettungsmodell den Text, speichert ihn in der Vektordatenbank und erstellt einen Vektorindex zum Abrufen des Inhalts.

Wenn ein Benutzer eine Frage stellt, wird dieser Text durch das Einbettungsmodell vektorisiert.

Auffinden von Inhalten und Ranking

Der Retriever sucht in der Vektordatenbank nach dem Inhalt, der der Vektoreinbettung des Abfragetextes am ähnlichsten ist. Die gefundenen Passagen werden nach Ähnlichkeit mit der Frage geordnet. Sie können Ihrem RAG-Muster ein Reranking-Modell hinzufügen, um die am häufigsten gefundenen Passagen auf ihre Relevanz für die Beantwortung der Frage zu bewerten.

Antwort Generation

Die aufgerufene Passage, die Frage des Benutzers und die Anweisungen werden in einer Eingabeaufforderung an das Stiftungsmodell gesendet. Das Basismodell generiert eine Antwort und sendet sie an den Nutzer zurück.

RAG-Muster

Die folgenden Beispiele zeigen, wie das abruferweiterte Generierungsmuster angewendet werden kann.

Beispiele für die Generation mit erweiterter Abfrage
Beispiel Format Beschreibung Verknüpfung
Vollständige RAG-Lösung Projekt Dieses Beispielprojekt mit Notizbüchern und anderen Assets implementiert eine Frage-Antwort-Lösung unter Verwendung von Retrieval-augmented Generation. Siehe Q&A mit RAG Accelerator. Q&A mit dem RAG Accelerator Beispielprojekt.
Einfache Einführung Notizbuch Verwendet eine kleine Wissensbasis und eine einfache Suchkomponente, um das grundlegende Muster zu veranschaulichen Einführung in die abrufgestützte Generierung
Einfache Einführung mit Discovery Notizbuch Dieses Beispielnotebook verwendet kurze Artikel in IBM Watson Discovery als Knowledge Base und die Discovery-API zum Ausführen von Suchabfragen. Einfache Einführung in die abrufgestützte Generierung mit watsonx.ai und Discovery
Beispiel mit LangChain Notizbuch Enthält die Schritte und den Code, um die Unterstützung der abrufgestützten Generierung mit LangChain in watsonx.ai zu demonstrieren. Es werden Befehle für den Datenabruf, die Erstellung und Abfrage von Wissensbasen und Modelltests eingeführt. Verwenden Sie watsonx und LangChain, um Fragen mit Hilfe von RAG zu beantworten
Beispiel mit LangChain und einer Elasticsearch -Vektordatenbank Notizbuch Veranschaulicht die Verwendung von LangChain zum Anwenden eines Einbettungsmodells auf Dokumente in einer Elasticsearch -Vektordatenbank. Anschließend indexiert und verwendet das Notebook den Datenspeicher zum Generieren von Antworten auf eingehende Fragen. Verwendung von watsonx, Elasticsearch und LangChain zur Beantwortung von Fragen (RAG)
Beispiel mit der Bibliothek Elasticsearch Python Notizbuch Veranschaulicht, wie die Python -Bibliothek von Elasticsearch verwendet wird, um ein einbettendes Modell auf Dokumente in einer Elasticsearch -Vektordatenbank anzuwenden. Anschließend indexiert und verwendet das Notebook den Datenspeicher zum Generieren von Antworten auf eingehende Fragen. Verwendung von watsonx und der Python Elasticsearch zur Beantwortung von Fragen (RAG)
Beispiel mit LangChain und einer SingleStoreDB Datenbank Notizbuch Zeigt Ihnen, wie Sie die abrufgestützte Generierung auf große Sprachmodelle in watsonx anwenden, indem Sie die SingleStoreDB -Datenbank verwenden. RAG mit SingleStoreDB und watsonx

Weitere Informationen

Testen Sie diese Lernprogramme:

Übergeordnetes Thema: Generative KI-Lösungen