Einrichten der Retrieval Augmented Generation (RAG)
RAG (Retrieval Augmented Generation) ist der Prozess der Optimierung der Ausgabe eines großen Sprachmodells (LLM) durch die Erweiterung von Eingabeaufforderungen mit zusätzlichem Kontext. Wenn Sie eine Anfrage senden, watsonx Code Assistant verwendet RAG-Tools, um Informationen aus Ihren Codebasen oder Ihrer Dokumentation abzurufen.
Vorbereitende Schritte
Bevor Sie RAG einrichten, stellen Sie sicher, dass Sie die folgenden Anforderungen erfüllen:
- Sie haben Cluster-Administratorzugriff, um RAG auf Ihrer IBM® Software Hub Instanz zu aktivieren.
- Sie haben Zugriff auf die Code-Repositorys oder die Dokumentation, die Sie indizieren möchten.
- Sie haben einen GitHub persönlichen Zugriffstoken für den Zugriff auf private Repositorys.
Informationen zu dieser Task
watsonx Code Assistant verwendet RAG, um die Antwortqualität zu verbessern, indem relevante, aktuelle Kontextinformationen aus Ihren Codebasen und Dokumentationen abgerufen werden. Dieser relevante Kontext wird Ihrer Anfrage hinzugefügt, bevor sie an das große Sprachmodell (LLM) gesendet wird, wodurch Modellhalluzinationen reduziert und die Genauigkeit der generierten Antworten verbessert werden.
Sie können so watsonx Code Assistant konfigurieren, dass bestimmte Code-Repositorys und Projektdokumentationen verwendet werden, die in Git Repositorys gespeichert sind. Unterstützte Dokumentformate sind API-Dokumente, Readme-Dateien, technische und Design-Dokumente, Markdown-Dateien, PDFs, Word-Dokumente und PowerPoint Präsentationen.
Das RAG-System bestimmt, welche Quellen einbezogen oder ausgeschlossen werden, um Antworten mit den nützlichsten Informationen zu generieren. Die folgende Abbildung veranschaulicht den RAG-Konfigurations-Workflow:

Vorgehensweise
Ergebnisse
watsonx Code Assistant verwendet die indizierten Repositorys basierend auf den folgenden Bedingungen:
- Wenn ein Repository in Visual Studio Codegeöffnet ist, watsonx Code Assistant sucht standardmäßig nach Kontext im geöffneten Repository.
- Wenn mehrere Repositorys geöffnet sind, watsonx Code AssistantVisual Studio Code sucht nach Kontext aus dem Repository, das mit der zuletzt aufgerufenen Datei verknüpft ist.
- Wenn Sie den
@repoBefehl verwenden, watsonx Code Assistant sucht nach einer repo.yaml Datei im indizierten Repository. Wenn eine oder mehrere YAML-Konfigurationsdateien konfiguriert sind, watsonx Code Assistant verwendet alle konfigurierten Repositorys, um eine Antwort zu generieren. Wenn keine YAML-Konfiguration gefunden wird, watsonx Code Assistant wird das aktuell ausgewählte Repository verwendet.
watsonx Code Assistant verwendet die indizierten Dokumentensammlungen basierend auf den folgenden Bedingungen:
- Wenn ein Dokument in Visual Studio Codegeöffnet wird, watsonx Code Assistant sucht standardmäßig nach Kontext in der geöffneten Dokumentensammlung.
- Wenn mehrere Dokumentensammlungen geöffnet sind, watsonx Code AssistantVisual Studio Code sucht nach Kontext aus der zuletzt aufgerufenen Dokumentensammlung.
- Wenn Sie den
@docsBefehl verwenden, watsonx Code Assistant sucht nach einer docs.yaml Datei im indizierten Repository. Wenn eine oder mehrere YAML-Konfigurationsdateien konfiguriert sind, watsonx Code Assistant verwendet alle konfigurierten Dokumentensammlungen, um eine Antwort zu generieren. Wenn keine YAML-Konfiguration gefunden wird, watsonx Code Assistant verwendet alle Dokumente mit demdocs_namePräfix in Ihrem Bereitstellungsbereich.
Nächste Schritte
- Sehen Sie sich die Anwendungsszenarien an, um zu verstehen, wie RAG für verschiedene Teamstrukturen und Zugriffsanforderungen implementiert werden kann. Weitere Informationen finden Sie unter Anwendungsszenarien für RAG.
- Optional können Sie eine YAML-Konfiguration einrichten, um die gleichzeitige Suche in mehreren watsonx Code Assistant Repositorys zu ermöglichen oder bestimmte indizierte Code-Repositorys oder Dokumente im Vektorspeicher zu verwenden. Weitere Informationen finden Sie unter Einrichten der YAML-Konfiguration für RAG.