View a markdown version of this page

So fügen Sie Metadaten in eine Datenquelle ein, um die Wissensdatenbankabfrage zu verbessern - Amazon Bedrock

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

So fügen Sie Metadaten in eine Datenquelle ein, um die Wissensdatenbankabfrage zu verbessern

Wenn Sie CSV-Dateien (durch Kommas getrennte Werte) aufnehmen, können Sie festlegen, dass die Wissensdatenbank bestimmte Spalten als Inhaltsfelder und nicht als Metadatenfelder behandelt. Anstatt potenziell Hunderte oder Tausende von content/metadata Dateipaaren zu haben, können Sie jetzt eine einzelne CSV-Datei und eine entsprechende metadata.json-Datei haben, was der Wissensdatenbank Hinweise gibt, wie jede Spalte in Ihrer CSV zu behandeln ist.

Es gibt Grenzwerte für Dokumentmetadaten fields/attributes pro Block. Weitere Informationen finden Sie unter Kontingente für Wissensdatenbanken.

Bevor Sie eine CSV-Datei aufnehmen, stellen Sie Folgendes sicher:

  • Ihre CSV-Datei hat das RFC4180-Format und ist codiert. UTF-8

  • Die erste Zeile Ihrer CSV-Datei enthält Header-Informationen.

  • Die in Ihrer Datei metadata.json bereitgestellten Metadatenfelder sind in Ihrer CSV-Datei als Spalten vorhanden.

  • Sie stellen eine Name.csv.metadata.json Dateidatei mit dem folgenden Format bereit:

    { "metadataAttributes": { "${attribute1}": "${value1}", "${attribute2}": "${value2}", ... }, "documentStructureConfiguration": { "type": "RECORD_BASED_STRUCTURE_METADATA", "recordBasedStructureMetadata": { "contentFields": [ { "fieldName": "string" } ], "metadataFieldsSpecification": { "fieldsToInclude": [ { "fieldName": "string" } ], "fieldsToExclude": [ { "fieldName": "string" } ] } } } }

Die CSV-Datei wird zeilenweise analysiert, und die Chunking-Strategie und die Vektoreinbettung werden auf das Inhaltsfeld angewendet. Die Wissensdatenbanken in Amazon Bedrock unterstützen aktuell ein Inhaltsfeld. Das Inhaltsfeld ist in Abschnitte aufgeteilt, und die Metadatenfelder (Spalten), die jedem Abschnitt zugeordnet sind, werden als Zeichenfolgenwerte behandelt.

Nehmen wir zum Beispiel an, es gibt eine CSV-Datei mit einer Spalte „Beschreibung“ und einer Spalte „Creation_Date“. Das Beschreibungsfeld ist das Inhaltsfeld und das Erstellungsdatum ist ein zugeordnetes Metadatenfeld. Der Beschreibungstext wird in Abschnitte aufgeteilt und für jede Zeile in der CSV-Datei in Vektoreinbettungen umgewandelt. Der Wert für das Erstellungsdatum wird als Zeichenfolgendarstellung des Datums behandelt und den einzelnen Abschnitten für die Beschreibung zugeordnet.

Wenn keine inclusion/exclusion Felder angegeben werden, werden alle Spalten mit Ausnahme der Inhaltsspalte als Metadatenspalten behandelt. Wenn nur Einschlussfelder angegeben werden, werden nur die angegebenen Spalten als Metadaten behandelt. Wenn nur Ausschlussfelder angegeben werden, werden alle Spalten mit Ausnahme der Ausschlussspalten als Metadaten behandelt. Wenn Sie denselben fieldName in fieldsToInclude und fieldsToExclude angeben, löst Amazon Bedrock eine Validierungsausnahme aus. Wenn es einen Konflikt zwischen Einschluss und Ausschluss gibt, schlägt der Prozess fehl.

Leere Zeilen in einer CSV-Datei werden ignoriert oder übersprungen.

Beispiel: Multi-row CSV mit Metadaten

Das folgende Beispiel zeigt eine vollständige CSV-Datei und die entsprechende JSON-Metadaten-Datei.

Beispiel für eine CSV-Datei (properties.csv)

description,city,price,bedrooms "Spacious 3-bedroom home with updated kitchen and large backyard.",Seattle,450000,3 "Modern downtown condo with floor-to-ceiling windows and city views.",Portland,325000,2 "Charming craftsman bungalow with original hardwood floors.",Austin,275000,2

Entsprechende Metadatendatei (properties.csv.metadata.json)

{ "metadataAttributes": { "source": "property_listings_2024" }, "documentStructureConfiguration": { "type": "RECORD_BASED_STRUCTURE_METADATA", "recordBasedStructureMetadata": { "contentFields": [ { "fieldName": "description" } ], "metadataFieldsSpecification": { "fieldsToInclude": [ { "fieldName": "city" }, { "fieldName": "price" } ] } } } }

In diesem Beispiel:

  • contentFields— Gibt eine Spalte (description) als Inhalt an, der aufgeteilt und eingebettet werden soll. Es wird nur ein Inhaltsfeld unterstützt.

  • fieldsToInclude— Gibt an, welche Spalten (cityundprice) als filterbare Metadaten behandelt werden sollen. Die bedrooms Spalte ist ausgeschlossen, da sie nicht aufgeführt ist.

  • metadataAttributes— Gibt Metadaten auf Dokumentebene an, die auf jeden Abschnitt dieser CSV-Datei angewendet werden. In diesem Beispiel source wird ein statisches Attribut auf alle Zeilen angewendet.

Jede Zeile erzeugt einen Block. Für die erste Zeile ist der Chunk-Text die Beschreibung und die Metadaten sindcity: "Seattle",price: "450000", und. source: "property_listings_2024" Alle Metadatenwerte aus CSV-Spalten werden als Zeichenfolgen gespeichert.

Unterstützte Metadaten-Datentypen

Die folgenden Datentypen werden für Metadatenattribute unterstützt:

  • STRING— Ein Textwert.

  • NUMBER— Ein numerischer Wert. Bei Verwendung der auf dieser Seite beschriebenen CSV-based Metadatenkonfiguration werden Zahlenwerte als Zeichenketten gespeichert.

  • BOOLEAN— Ein wahrer oder falscher Wert.

  • STRING_LIST— Eine Liste von Zeichenkettenwerten.

Das vollständige Metadaten-Attributschema, das beim Filtern von Abfragen verwendet wird, finden Sie MetadataAttributeSchemain der API-Referenz.

Zusätzlich zu der auf dieser Seite beschriebenen CSV-based Metadatenkonfiguration können Sie Metadaten auch mithilfe einer .metadata.json Sidecar-Datei für jeden Dokumenttyp in einer Amazon S3 S3-Datenquelle konfigurieren. Diese Methode unterstützt den gesamten Satz von Datentypen und die includeForEmbedding Option. Weitere Informationen finden Sie unter Dokument-Metadatenfelder.

Informationen zum Filtern von Abfrageergebnissen mithilfe von Metadaten finden Sie im Abschnitt Vorlagen für Eingabeaufforderungen in der Wissensdatenbank unterSo konfigurieren Sie Abfragen und die Antwortgenerierung und passen diese an.