Vektorindex-Einstellungen

Um einen Vektorindex zu erstellen, müssen Sie einen Vektordatenspeicher auswählen, der mit Ihren Basisdokumenten kompatibel ist, und Einstellungen festlegen, um zu steuern, wie Ihre Dokumente in kleinere Segmente unterteilt werden, bevor sie an das Einbettungsmodell gesendet werden.

Treffen Sie Entscheidungen zu den folgenden Optionen und Einstellungen, wenn Sie einen Vektorindex erstellen, um Einbettungen aus einem Vektordatenspeicher zu generieren und abzurufen:

Arten von Vektorspeichern

Sie können einen der folgenden Vektordatenspeicher zum Speichern Ihrer Begründungsdokumente verwenden:

  • In memory : Ein Chroma-Datenbank-Vektorindex, der mit Ihrem Projekt verknüpft ist und temporären Vektorspeicher bereitstellt. Ein Einbettungsmodell muss in Ihrem Cluster installiert sein, damit auf den In-Memory-Vektorspeicher zugegriffen werden kann.

    Hinweis: Das In-Memory-Vektorindex-Asset wird automatisch für Sie erstellt; Sie müssen den Vektorspeicher nicht einrichten.
  • Elasticsearch Ein externer Vektorindex eines Drittanbieters, den Sie einrichten und mit Ihrem Projekt verbinden.

  • Milvus Ein Vektorindex eines Drittanbieters, den Sie einrichten und mit Ihrem Projekt verbinden können.

Um einen externen Vektorspeicher zu verwenden, müssen Sie eine Verbindung zum Datenspeicher einrichten, bevor Sie den Vektorindex erstellen. Weitere Informationen finden Sie unter Einrichten eines Vektorspeichers „ Elasticsearch “ und Einrichten eines Vektorspeichers „ watsonx.data “ „ Milvus “.

Auswahl eines Vektorspeichers

Um den für Ihren Anwendungsfall geeigneten Vektorspeicher zu ermitteln, sollten Sie die folgenden Faktoren berücksichtigen:

  • Die Dateitypen Ihrer Grundlagendokumente. Die unterstützten Dateitypen unterscheiden sich je nach Vektorspeicher.

  • Die Einbettungsmodelle, mit denen Sie Dokumente, die Sie zum Index hinzufügen, vektorisieren können. Die unterstützten Modelle unterscheiden sich je nach Vektorspeicher.

  • Die Anzahl der Gründungsdokumente, die Sie aus Ihrem Foundation-Modell heraus suchen möchten.

    Wenn Sie eine Verbindung zu einem Vektorspeicher eines Drittanbieters herstellen, können Sie eine der folgenden Aufgaben ausführen:

    • Fügen Sie Dateien hinzu, die vektorisiert und in einem neuen Vektorindex oder einer neuen Sammlung im Vektorspeicher gespeichert werden sollen.
    • Verwenden Sie vektorisierte Daten aus einem vorhandenen Index oder einer Sammlung im Vektorspeicher.

    Die Anzahl der Dateien, die Sie zum Zeitpunkt der Erstellung des Vektorindexes zum Vektorspeicher hinzufügen können, ist begrenzt. Sie können bis zu 10 Dokumente gleichzeitig aus einem In-Memory-Vektorspeicher hochladen.

    Wenn Sie weitere Dokumente vektorisieren möchten, beispielsweise eine Reihe von PDF-Dateien, die größer als 50 MB sind, verwenden Sie einen Vektorspeicher eines Drittanbieters. Mit einem Vektorspeicher eines Drittanbieters können Sie zunächst direkt aus dem Datenspeicher eine Sammlung oder einen Index mit mehr Dokumenten erstellen. Anschließend können Sie eine Verbindung zur vorhandenen Sammlung oder zum vorhandenen Index herstellen, wenn Sie ein Vektorindex-Asset erstellen, das Sie mit Ihrer Eingabeaufforderung verknüpfen möchten.

    Vorsicht:Fügen Sie nicht mehr als 10 Dateien in einem einzigen Upload hinzu, wenn Sie einen Vektorindex in Prompt Lab erstellen.

Zuordnung externer Vektorspeicherschemafelder zu einem Vektorindex-Asset

Bei verbundenen Vektorspeichern können Sie Felder aus dem vorhandenen Index oder der vorhandenen Sammlung im externen Vektorspeicher neuen Feldern zuordnen, die im Vektorindex-Asset in „ watsonx.ai “ definiert sind, um eine konsistente Methode zum Extrahieren von Daten und Erfassen von Details zum Dokument, wie z. B. den ursprünglichen Dateinamen und die Seitenzahl, aus verschiedenen Arten von Vektorspeichern bereitzustellen.

Tabelle 1. Felder des Vektorspeicherschemas
Neuer Vektorindex-Feldname Feld aus verbundenem Vektorspeicher
Vektorabfrage Nur für Indizes vom Typ „ Elasticsearch “ erforderlich. Feld, in dem der Abfragetext angegeben wird, der zum Durchsuchen des Index „ Elasticsearch “ verwendet wird, z. B. ml oder vector.
Dokumentname Feld, das die Quelldatei identifiziert. Sie können ein Feld auswählen, das den Dateinamen erfasst, z. B. metadata.source, oder den Dokumenttitel, z. B. metadata.title.
Text Feld, das den Großteil des Seiteninhalts enthält, wie z. B. body oder text.
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.
Achtung:

Um ein verbundenes Ordner-Asset zu verwenden, das eine COS-Verbindung ( Cloud Object Storage ) nutzt, müssen Sie die folgenden Anforderungen erfüllen:

  • Für die COS-Verbindung muss ein Bucket angegeben werden.
  • Die COS-Verbindung muss HMAC-Anmeldedaten (Ressourceninstanz-ID, API-Schlüssel, Zugriffsschlüssel, geheimer Schlüssel) zur Authentifizierung verwenden.

Grundlegende Dokumentdateitypen

Wenn Sie einem Vektorindex Begleitdokumente hinzufügen, können Sie Dateien hochladen oder eine Verbindung zu einem Datenbestand herstellen, der Dateien enthält.

Die folgende Tabelle listet die unterstützten Dateitypen und maximalen Dateigrößen auf, die Sie beim Erstellen eines neuen Vektorindex hinzufügen können. Die unterstützten Dateitypen unterscheiden sich je nach Vektorspeicher.

Die Dateitypen sind in der ersten Spalte aufgeführt. Die maximal zulässige Gesamtdateigröße für jeden Dateityp ist in den übrigen Spalten aufgeführt.

Hinweis: Die maximal zulässige Größe für jeden Dateityp gilt unabhängig voneinander. Beispielsweise können Sie gleichzeitig mehrere reine Textdateien mit einer Gesamtgröße von maximal 5 MB und mehrere PDF-Dateien mit einer Gesamtgröße von maximal 50 MB hochladen.
Tabelle 2. Unterstützte Dateitypen für Grundlagendokumente in verschiedenen Vektorspeichern
Dateityp Maximale Gesamtdateigröße im Speicher Elasticsearch maximale Gesamtdateigröße Milvus maximale Gesamtdateigröße
CSV Nicht unterstützt 50 MB 50 MB
DOCX 50 MB 500 MB 500 MB
HTML Nicht unterstützt 50 MB 50 MB
JSON Nicht unterstützt 50 MB 50 MB
PDF-Datei 50 MB 500 MB 500 MB
PPTX 300 MB 300 MB 300 MB
TXT 5 MB 50 MB 50 MB
XLSX Nicht unterstützt 50 MB 50 MB
XML Nicht unterstützt 50 MB 50 MB
YAML Nicht unterstützt 50 MB 50 MB

Vektorisierungseinstellungen

Wenn Sie Begründungsdokumente hochladen, werden mithilfe eines Einbettungsmodells Vektoren berechnet, die den Dokumenttext numerisch darstellen.

Sie können die folgenden Einstellungen konfigurieren, um zu steuern, wie Dokumente in kleinere Segmente oder Blöcke unterteilt werden, bevor sie an das Einbettungsmodell Ihrer Wahl gesendet werden:

Unterstützte Einbettungsmodelle

Sie können die in „ watsonx.ai “ bereitgestellten Einbettungsmodelle mit In-Memory- und In- Milvus -Vektordatenspeichern verwenden. Weitere Informationen finden Sie unter Details zum Einbettungsmodell.

Sie können ELSER-Einbettungsmodelle (Elastic Learned Sparse EncodeR ) mit dem Vektordatenspeicher „ Elasticsearch “ verwenden. Weitere Informationen finden Sie unter ELSER – Elastic Learned Sparse EncodeR.

Ihr Administrator muss die gewünschten Einbettungsmodelle mit Ihrem Vektorindex-Asset installieren.

Textblockgröße

Legen Sie den Parameter für die Chunk-Größe fest, um die Anzahl der Zeichen pro Dokumentsegment zu konfigurieren.

Definieren Sie eine Segmentgröße, die kleiner ist als die maximale Anzahl von Eingabetoken, die vom Modell zugelassen wird. Wenn Sie das Dokument in größere Segmente aufteilen, kann es vorkommen, dass Teile des Dokumenttextes ausgelassen werden, da nach Erreichen der maximalen Tokengröße alle zusätzlichen Zeichen im Segment vom Einbettungsmodell ignoriert werden.

Die Chunk-Größe wird in Zeichen angegeben. Die Anzahl der Zeichen pro Token variiert je nach Einbettungsmodell, aber ein Token entspricht etwa 2-3 Zeichen.

Tabelle 2. Einbettung von Modell-Chunk-Größen
Einbettungsmodell Maximale Anzahl von Eingabetoken Ungefähre Chunk-Größe
all-MiniLM-L6-v2 256 700
all-MiniLM-l12-v2 256 700
ELSER 512 1400
granite-embedding-107m-multilingual 512 1400
granite-embedding-278m-multilingual 512 1400
multilingual-e5-large 512 1400
slate-30m-english-rtrvr 512 1400
slate-125m-english-rtrvr 512 1400

 

Textblocküberlappung

Legen Sie den Parameter für die Überlappung von Blöcken fest, um die Anzahl der Zeichen zu konfigurieren, die in jedem der beiden aufeinanderfolgenden Dokumentsegmente wiederholt werden sollen.

Wiederholter Text schafft einen Puffer zwischen Dokumentabschnitten, der dabei hilft, vollständige Sätze zu erfassen und verhindert, dass Textstellen komplett übersehen werden.

PDF-Seiten teilen

Wenn der Parameter „PDF teilen“ aktiviert ist, wird eine PDF-Datei in einzelne Segmente pro Seite unterteilt und die Seitenzahlquelle in die Antwort aufgenommen. Die angezeigten Seitenzahlen sind die Seitenzahlen des PDF-Viewers.

Hinweis: Diese Option ist nur verfügbar, wenn Sie eine PDF-Datei hinzufügen.

Sucheinstellungen

Sie können die Abfrageeinstellungen anpassen, um die Ergebnisse einer Suche nach Inhalten im Vektorindex-Asset zu verbessern.

Einschränkung: Sie können die Suchergebnisse und Einstellungen für die Neuanordnung der Ergebnisse für ein mit der API erstelltes Vektorindex-Asset nicht anpassen.

Mit den folgenden Einstellungen können Sie die Anzahl und Art der vom Vektorindex zurückgegebenen Suchergebnisse steuern:

Top K

Setzen Sie den Parameter „Top K“, um die Anzahl der Ergebnisse zu konfigurieren, die aus einer Vektorindexsuche entnommen werden sollen. Die Stichprobenergebnisse werden als kontextbezogene Eingabe für das Foundation-Modell verwendet.

Ein niedrigerer oberer K-Wert erhöht die Ähnlichkeit zwischen einer Frage und einer Antwort. Ein höherer Top-K-Wert liefert einem Foundation-Modell mehr Informationen, die es zur Generierung einer Antwort verwenden kann. Allerdings erhöht sich auch die Tokenanzahl in der Modelleingabe.

Standardmäßig werden die ersten drei Suchergebnisse angezeigt.

Unterstützte Reranker-Modelle

Wählen Sie ein Reranker-Modell aus, um Suchergebnisse zu priorisieren, die die Frage mit größerer Wahrscheinlichkeit beantworten. Weitere Informationen zu den in „ watsonx.ai “ bereitgestellten Reranker-Modellen finden Sie unter „Reranker-Modelldetails “.

Ihr Administrator muss die gewünschten Reranker-Modelle mit Ihrem Vektorindex-Asset installieren.

Oberste N

Setzen Sie den Parameter „Top N“, um die Anzahl der Ergebnisse aus den Top-K-Vektorindex-Suchergebnissen zu konfigurieren, die das Reranker-Modell neu ordnen soll.

Weitere Informationen