Sie können die folgenden Arten von Vektorspeichern verwenden, um Ihre Erdungsdokumente zu indizieren:
- Im Speicher
- Elasticsearch
- watsonx.data Milvus
Wenn Sie sich für einen speicherinternen Vektorspeicher entscheiden, wird der Index automatisch für Sie erstellt; Sie müssen den Vektorspeicher nicht einrichten.
Faktoren, die bei der Auswahl eines Vektorspeichers zu berücksichtigen sind, finden Sie unter Hinzufügen von vektorisierten Dokumenten für das foundation model Prompts.
Wenn Sie sich für die Verwendung eines Vektorspeichers eines Drittanbieters entscheiden, müssen Sie eine Verbindung zum Datenspeicher herstellen, bevor Sie den Vektorindex erstellen. Weitere Informationen finden Sie in der entsprechenden Prozedur für den Vektorspeicher, den Sie verwenden möchten:
- Einrichten eines Elasticsearch-Vektorspeichers
- Einrichten eines watsonx.data -Milvus-Vektorspeichers
Vorgehensweise
Um einen Vektorindex für Ihre Erdungsdokumente zu erstellen, führen Sie die folgenden Schritte aus. Die Reihenfolge der Schritte kann je nach dem von Ihnen gewählten Vektorspeicher leicht abweichen.
Klicken Sie in der Projektübersicht auf die Registerkarte Assets, und wählen Sie dann Neues Asset > Ground gen AI mit vektorisierten Dokumenten.
Alternativ können Sie das Prompt-Labor im Chat-Modus starten, indem Sie auf das Erdung mit Dokumenten-Symbol am Anfang der Seite und dann auf Vektorindex auswählen oder erstellen klicken.
Wählen Sie den Vektorspeicher, den Sie verwenden möchten.
Benennen Sie den Vektorindex Asset.
Fügen Sie Erdungsdokumente auf eine der folgenden Arten hinzu:
- Hinzufügen von Dateien aus einem Datenbestand, der mit Ihrem Projekt verknüpft ist
- Durchsuchen, um Dateien aus Ihrem Dateisystem hochzuladen
Die folgenden Optionen sind nur in Drittanbieter-Vektorshops erhältlich:
Vorhandene Inhalte aus einem verbundenen Vektorspeicher hinzufügen
Wählen Sie die verbundene Datenquelle aus, wählen Sie gegebenenfalls eine Datenbank und klicken Sie dann auf Weiter. Wählen Sie den Index oder die Sammlung, die Sie verwenden möchten.
Hinzufügen neuer Inhalte zu einem verbundenen Vektorindex
Um einen neuen Inhalt zu einem verbundenen Vektorspeicher hinzuzufügen, wählen Sie die verbundene Datenquelle aus, wählen Sie gegebenenfalls eine Datenbank und klicken Sie dann auf Weiter. Klicken Sie auf Neuer Index oder Neue Sammlung, geben Sie einen Namen an und fügen Sie dann Dokumente hinzu, indem Sie Dateien hochladen oder eine Verbindung zu einem Datenbestand herstellen.
Die unterstützten Dateitypen unterscheiden sich je nach Vektorspeicher. Weitere Informationen finden Sie unter Unterstützte Dateitypen für Erdungsdokumente.
Optional: Falls zutreffend, wählen Sie das Einbettungsmodell oder die Vektorisierungseinstellungen, die Sie für die Vektorisierung Ihrer Dokumente verwenden möchten.
Weitere Informationen finden Sie unter Einbettungsmodell und Vektorisierungseinstellungen.
Nur für verbundene Datenspeicher: Ordnen Sie Felder aus Ihrem bestehenden Index oder Ihrer Sammlung neuen Feldern zu, die in der Vektorindexanlage in watsonx.ai definiert werden.
Diese Feldzuordnungen sind wichtig, weil watsonx.ai eine konsistente Methode benötigt, um Daten zu extrahieren und Details über die Dokumente, wie den ursprünglichen Dateinamen und die Seitenzahl, aus verschiedenen unterstützten Vektorspeichern zu erfassen.
Tabelle 1. Felder des Vektorspeicherschemas Neuer Vektorindexfeldname Feld aus angeschlossenem Vektorspeicher Vektorielle Abfrage Nur für Elasticsearch-Indizes erforderlich. Feld, in dem der Abfragetext angegeben wird, der für die Suche im Elasticsearch-Index verwendet wird, z. B. ml
odervector
.Dokumentname Feld, das die Quelldatei identifiziert. Sie können ein Feld wählen, das den Dateinamen erfasst, z. B. metadata.source
, oder den Dokumententitel, z. B.metadata.title
.Text Feld, das den größten Teil des Seiteninhalts enthält, wie body
odertext
.Seitennummer Feld, das die Seitenzahl angibt, z. B. metadata.page_number
.Dokument-URL Feld, das die URL für das Dokument enthält, z. B. metadata.document_url
.Klicken Sie auf Erstellen.
Der Text in der Datei wird vektorisiert und die Vektoren werden indiziert und in einem neuen Vektorindex-Asset gespeichert.
Wenn Sie einem angeschlossenen Drittanbieter-Datenspeicher neue Inhalte hinzufügen, geschieht Folgendes:
- Es wird ein Notebook-Asset erstellt, das in einem Job läuft, um die Dokumente zu vektorisieren und den Index oder die Sammlung im Datenspeicher des Drittanbieters aufzubauen.
- In watsonx.ai wird ein Vektorindex-Asset erstellt, das übermittelte Abfragen an den Index oder die Sammlung im Datenspeicher des Drittanbieters weiterleiten und Suchergebnisse abrufen kann.
Nachdem das Vektorindex-Asset erstellt wurde, testen Sie, wie gut die vektorisierten Dokumente Fragen beantworten können, und nehmen Sie gegebenenfalls Anpassungen vor. Siehe Verwaltung eines Vektorindex.
Einbettungsmodell und Vektorisierungseinstellungen
Die folgenden Einstellungen steuern, wie Dokumente in kleinere Segmente oder Chunks unterteilt werden, bevor sie an das Einbettungsmodell gesendet werden:
Textstückgröße: Anzahl der Zeichen, die pro Dokumentsegment enthalten sein sollen.
Definieren Sie eine Segmentgröße, die kleiner ist als die maximale Anzahl der vom Modell zugelassenen Eingabe-Token. Wenn Sie das Dokument in größere Segmente aufteilen, wird möglicherweise ein Teil des Dokumenttextes ausgelassen, da nach Erreichen der maximalen Tokengröße alle zusätzlichen Zeichen im Segment vom Einbettungsmodell ignoriert werden.
Die Größe des Chunks wird in Zeichen angegeben. Die Anzahl der Zeichen pro Token variiert je nach Einbettungsmodell, aber ein Token entspricht etwa 2-3 Zeichen.
Tabelle 2. Einbettungsmodell - Stückgrößen Einbettungsmodell Maximale Anzahl Eingabetoken Ungefähre Größe der Chunks all-MiniLM-L6-v2 256 700 ELSER 512 1400 slate-30m-english-rtrvr 512 1400 slate-125m-english-rtrvr 512 1400 Textstücküberlappung: Anzahl der Zeichen, die in jedem von zwei aufeinanderfolgenden Dokumentensegmenten wiederholt werden.
Durch die Textwiederholung wird ein Puffer zwischen den Dokumentsegmenten geschaffen, der hilft, vollständige Sätze zu erfassen und zu verhindern, dass Text gänzlich übersehen wird.
PDF-Seiten aufteilen: Wenn diese Option aktiviert ist, wird eine PDF-Datei in ein Segment pro Seite unterteilt und die Seitenzahl in der Antwort angegeben. Die angezeigten Seitenzahlen sind die Seitenzahlen des PDF-Viewers.
Hinweis: Diese Option ist nur verfügbar, wenn Sie eine PDF-Datei hinzufügen.
Verwenden Sie den Vektor-Index mit Ihrem foundation model prompt
Wenn der Vektorindex einsatzbereit ist, verknüpfen Sie dieses Vektorindex-Asset auf eine der folgenden Arten mit einer foundation model:
- Klicken Sie auf der Seite mit den Vektorindex-Assets auf das Informationen zum Vektorindex anzeigen-Symbol am Anfang der Seite, um das Über diesen Vermögenswert-Panel zu öffnen, und klicken Sie dann auf In Prompt Lab öffnen.
- Klicken Sie im Prompt-Labor im Chat-Modus auf das Symbol Erdung mit Dokumenten am Anfang der Seite und dann auf Vektorindex auswählen oder erstellen.
Verwenden Sie dieses Prompt-Muster in Ihrer Anwendung
Nachdem Sie mit RAG-Mustern (Retrieval-Augmented Generation) experimentiert haben, die Ihren Dokumentensatz verwenden, speichern Sie die Prompt-Logik in einem Notizbuch, damit Sie sie in Ihrer generativen KI-Anwendung verwenden können.
Wenn Sie die Eingabeaufforderung als Notizbuch speichern, wählen Sie die Option Deployable gen AI flow. Das erzeugte Notizbuch enthält Python-Code für die Eingabeaufforderungsvorlage und eine einsatzfähige Python-Funktion, die von REST-APIs verwendet werden kann.
Weitere Informationen finden Sie unter Speichern Ihrer Arbeit.
Weitere Informationen
- Einrichten eines Elasticsearch-Vektorspeichers
- Einrichten eines watsonx.data -Milvus-Vektorspeichers
- Prompt Lab
- Chatten mit Dokumenten und Bildern
- Retrieval-augmented generation (RAG)
- Vektorisierung von Text mit Hilfe der API
Übergeordnetes Thema: Hinzufügen von vektorisierten Dokumenten als Grundlage für die Eingabeaufforderungen foundation model