Indizierung von Code-Repositories mit IBM watsonx.ai Studio
watsonx Code Assistant Standardplan
Sie können IBM watsonx.ai Studio verwenden, um Ihre Code-Repositories zu indizieren und so die Retrieval Augmented Generation (RAG) zu ermöglichen.
Vorbereitende Schritte
- Stellen Sie eine Instanz von Milvus oder Elasticsearch DB auf IBM Cloud bereit, bevor Sie das Notebook ausführen.
- Stellen Sie eine Instanz von watsonx.ai Studio bereit, um das Notizbuch auszuführen. Um eine watsonx.ai Studio-Instanz zu erstellen, siehe watsonx.ai Studio-Katalog.
- Vergewissern Sie sich, dass Sie einen API-Schlüssel für den Zugriff auf watsonx Code Assistant haben, um Erklärungen für die Funktionen in Ihrem Code zu generieren. Die Erläuterungen werden mit dem Code indiziert, um bessere Suchergebnisse zu erzielen. Weitere Informationen finden Sie unter Erstellen eines IBM Cloud API-Schlüssels.
Planung Ihres Index
Eine effektive Indizierung ist entscheidend für die Optimierung der Leistung von watsonx Code Assistant, wenn Sie RAG verwenden. Berücksichtigen Sie die folgenden Faktoren, wenn Sie das Repository oder die Dokumente indizieren:
-
Stellen Sie sicher, dass der Speicherplatz auf der Festplatte doppelt so groß ist wie der zu indizierende Inhalt.
-
Indexieren Sie Code-Repositories, wenn Sie vorhandenen Code wiederverwenden, um neuen Code zu generieren, Implementierungen bestimmter Funktionen zu finden und How-to-Fragen zur Codebasis zu beantworten. Sie können Hauptcode-Projekte und ihre Abhängigkeiten wie die API-Implementierung einbeziehen.
-
Indizieren Sie Dokumentationsbestände wie Produkt- oder Projektdokumentation, technische Leitfäden und Entwurfsdokumente, wenn Sie watsonx Code Assistant benötigen, um Anfragen auf der Grundlage dieser Dokumente zu beantworten.
-
Indizieren Sie selten genutzte Code-Repositories oder Dokumente nicht, um die Speichernutzung zu reduzieren und den Zeitaufwand für die Indexerstellung und -pflege zu minimieren.
-
Verwenden Sie einen Index pro Repository, insbesondere für Quellcode, um die Kontextsuche auf bestimmte Repositories zu beschränken.
-
Kombinieren Sie mehrere Dokumentations-Repositories in einem einzigen Index, wenn Sie häufig in allen Dokumenten suchen. Sie können separate Indizes erstellen, wenn sich die Schlüsselwörter zwischen den Repositories erheblich überschneiden und verschiedene Teams oder Benutzer den Kontext in den spezifischen Dokumentations-Repositories suchen müssen.
-
Führen Sie keinen Code aus verschiedenen Repositories im selben Index zusammen. Ein zusammengefasster Code verringert die Genauigkeit der Antwortgenerierung für die Eingabeaufforderung und führt zu unbefugtem Zugriff auf den Code, wenn die Zugriffsbeschränkung für die Benutzer nicht ordnungsgemäß implementiert ist.
-
Stellen Sie sicher, dass Sie während des Indizierungsprozesses die Sicherheit und Autorisierung korrekt verwalten. Für verschiedene Verwendungsszenarien, siehe Anwendungsszenarien.
-
Vergewissern Sie sich, dass alle erforderlichen organisatorischen Genehmigungen eingeholt wurden, bevor Sie vertrauliche oder sensible Inhalte indizieren. Der Quellcode und die Dokumente, die für RAG verwendet werden, werden als reiner Text und im vektorisierten Format in einem Vektorspeicher außerhalb Ihres GitHub Repositorys gespeichert.
Indizierung von Code-Repositories
-
Melden Sie sich bei diesem Projekt an: RAG-Vektorspeicher für watsonx Code Assistant erstellen.
-
Klicken Sie auf Create Project.
-
Wählen Sie im Feld Speicher eine Cloud Object Storage Instanz aus. Wenn die Instanz Cloud Object Storage nicht in der Dropdown-Liste vorhanden ist, erstellen Sie sie.
-
Klicken Sie auf Erstellen.
-
Gehen Sie in Ihrem Projekt auf die Registerkarte Asset und klicken Sie auf Vektorspeicher-Notizbuch befüllen.
-
Befolgen Sie die Anweisungen im
Populate vector storenotebook, um den Code oder das Dokument zu indizieren.