View a markdown version of this page

Abfragen für verwaltete Wissensdatenbanken konfigurieren und anpassen - 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.

Abfragen für verwaltete Wissensdatenbanken konfigurieren und anpassen

Sie können den Abruf konfigurieren und anpassen, um die Relevanz der Ergebnisse weiter zu verbessern. Sie können beispielsweise Filter auf Dokumentmetadaten anwenden, fields/attributes um die zuletzt aktualisierten Dokumente oder Dokumente mit den letzten Änderungszeiten zu verwenden.

Anmerkung

Alle folgenden Konfigurationen gelten nur für unstrukturierte Datenquellen.

Wählen Sie eines der folgenden Themen aus, um mehr über diese Konfigurationen in der Konsole oder API zu erfahren:

Wenn Sie eine Wissensdatenbank abfragen, gibt Amazon Bedrock standardmäßig bis zu fünf Ergebnisse in der Antwort zurück. Jedes Ergebnis entspricht einem Quellblock.

Anmerkung

Die tatsächliche Anzahl der Ergebnisse in der Antwort kann unter dem angegebenen numberOfResults-Wert liegen, da dieser Parameter die maximale Anzahl der zurückzugebenden Ergebnisse festlegt. Wenn Sie hierarchisches Chunking für Ihre Chunking-Strategie konfiguriert haben, entspricht der Parameter numberOfResults der Anzahl der untergeordneten Blöcke, die die Wissensdatenbank abrufen wird. Da untergeordnete Blöcke, die denselben übergeordneten Block teilen, in der endgültigen Antwort durch den übergeordneten Block ersetzt werden, kann die Anzahl der zurückgegebenen Ergebnisse geringer sein als die angeforderte Menge.

Wählen Sie die Registerkarte mit Ihrer bevorzugten Methode aus und gehen Sie dann wie folgt vor, um die maximale Anzahl zurückzugebender Ergebnisse zu modifizieren:

Console

Folgen Sie den Konsolenschritten unter Abrufen einer Wissensdatenbank und Datenabruf. Erweitern Sie im Bereich Konfigurationen den Abschnitt Quellblöcke und geben Sie die maximale Anzahl an Quellblöcken ein, die zurückgegeben werden sollen.

API

Wenn Sie eine Retrieve RetrieveAndGenerate Oder-Anfrage stellen, schließen Sie ein retrievalConfiguration Feld ein, das einem Objekt zugeordnet ist KnowledgeBaseRetrievalConfiguration. Um die Position dieses Feldes zu sehen, konsultieren Sie die Anfragekörper von Retrieve und RetrieveAndGenerate in der API-Referenz.

Das folgende JSON-Objekt zeigt die minimalen Felder, die im KnowledgeBaseRetrievalConfiguration Objekt erforderlich sind, um die maximale Anzahl der zurückzugebenden Ergebnisse festzulegen:

"retrievalConfiguration": { "vectorSearchConfiguration": { "numberOfResults": number } }

Geben Sie die maximale Anzahl der abgerufenen Ergebnisse an (den numberOfResults Bereich der akzeptierten Werte finden Sie im KnowledgeBaseRetrievalConfiguration Feld unter), die im numberOfResults Feld zurückgegeben werden sollen.

Sie können Filter auf Dokumente anwenden fields/attributes , um die Relevanz der Antworten weiter zu verbessern. Ihre Datenquellen können Dokumentmetadaten attributes/fields zum Filtern enthalten und angeben, welche Felder in die Einbettungen aufgenommen werden sollen.

Überlegungen zur verwalteten Wissensdatenbank

Wenn Sie die Metadatenfilterung mit einer verwalteten Wissensdatenbank verwenden:

  • Die Filter startsWith und die stringContains Metadatenfilter werden nicht unterstützt. Verwenden Sie equals stattdessen greaterThan die notIn Operatoren lessThanin,,, oder.

  • Die Bereichsoperatoren (greaterThan, greaterThanOrEqualslessThan, undlessThanOrEquals) akzeptieren entweder eine Zahl oder einen Datums-/Uhrzeitwert. Um nach einem Datum und einer Uhrzeit zu filtern, geben Sie den Wert als Zeichenfolge im Offset-Datums-/Uhrzeitformat an ISO-8601 . Verwenden Sie das vollständige Offset-Formular, z. B. 2026-03-02T19:02:18Z Bereichsoperatoren unterstützen Zeichenfolgenwerte für Datum und Uhrzeit nur für verwaltete Wissensdatenbanken.

  • Für benutzerdefinierte Wissensdatenbanken x-amz-bedrock sind Metadatenfelder mit dem Präfix vom Dienst reserviert. Bei vollständig verwalteten Wissensdatenbanken verwenden reservierte Metadatenfelder ein Unterstrich-Präfix (z. B._source_uri,_data_source_id). Sie können reservierte Metadatenfelder in beiden Wissensdatenbanktypen nicht überschreiben.

Beispielsweise steht „epoch_modification_time“ für die Zeit in Sekunden seit dem 1. Januar 1970 (UTC), als das Dokument zuletzt aktualisiert wurde. Sie können nach den neuesten Daten filtern, wobei „epoch_modification_time“ größer als eine bestimmte Zahl ist. Diese neuesten Dokumente können für die Abfrage verwendet werden.

Überprüfen Sie, ob Ihre Wissensdatenbank die folgenden Anforderungen erfüllt, um bei der Abfrage einer Wissensdatenbank Filter zu verwenden:

  • Bei der Konfiguration Ihres Datenquellen-Connectors crawlen die meisten Connectors durch die wichtigsten Metadatenfelder Ihrer Dokumente. Wenn Sie einen Amazon-S3-Bucket als Datenquelle verwenden, muss der Bucket mindestens einen fileName.extension.metadata.json enthalten, der der jeweiligen Datei oder dem Dokument zugeordnet ist. Weitere Informationen zur Konfiguration der Metadatendatei finden Sie in Konfiguration der Verbindung unter Dokumentmetadatenfelder.

  • Wenn sich der Vektorindex Ihrer Wissensdatenbank in einem Amazon OpenSearch Serverless Vector Store befindet, überprüfen Sie, ob der Vektorindex mit der faiss Engine konfiguriert ist. Wenn der Vektorindex mit der nmslib-Engine konfiguriert ist, müssen Sie einen der folgenden Prozesse ausführen:

  • Wenn Ihre Wissensdatenbank einen Vektorindex in einem S3-Vektor-Bucket verwendet, können Sie die Filter stringContains und startsWith nicht verwenden.

  • Wenn Sie Metadaten zu einem bestehenden Vektorindex in einem Datenbank-Cluster unter Amazon Aurora hinzufügen, empfehlen wir, den Feldnamen der benutzerdefinierten Metadatenspalte anzugeben, um alle Ihre Metadaten in einer einzigen Spalte zu speichern. Diese Spalte wird während der Datenerfassung mit allen in den Metadatendateien enthaltenen Informationen aus Ihren Datenquellen gefüllt. Wenn Sie entscheiden, dieses Feld anzugeben, müssen Sie einen Index für diese Spalte erstellen.

    • Wenn Sie in der Konsole eine neue Wissensdatenbank erstellen und Amazon Bedrock Ihre Amazon-Aurora-Datenbank konfigurieren lassen, wird automatisch eine einzelne Spalte erstellt und mit den Informationen aus Ihren Metadatendateien befüllt.

    • Wenn Sie entscheiden, einen weiteren Vektorindex im Vektorspeicher zu erstellen, müssen Sie den Namen des benutzerdefinierten Metadatenfeldes angeben, um Informationen aus Ihren Metadatendateien zu speichern. Wenn Sie diesen Feldnamen nicht angeben, müssen Sie für jedes Metadatenattribut in Ihren Dateien eine Spalte erstellen und den Datentyp (Text, Zahl oder boolescher Wert) angeben. Wenn das Attribut genre beispielsweise in Ihrer Datenquelle vorhanden ist, würden Sie eine Spalte mit dem Namen genre und der Angabe text als Datentyp hinzufügen. Während der Aufnahme werden diese separaten Spalten mit den entsprechenden Attributwerten gefüllt.

Wenn Sie PDF-Dokumente in Ihrer Datenquelle haben und Amazon OpenSearch Serverless oder Amazon Aurora für Ihren Vector Store verwenden: Amazon Bedrock-Wissensdatenbanken generieren Dokumentseitenzahlen und speichern sie in einer Metadaten namens x-amz-bedrock-kb-document-page-number. field/attribute Beachten Sie, dass Seitenzahlen, die in einem Metadatenfeld gespeichert sind, nicht unterstützt werden, wenn Sie für Ihre Dokumente kein Chunking auswählen.

Sie können die folgenden Filteroperatoren verwenden, um bei der Abfrage die Ergebnisse zu filtern:

Filtern von Operatoren
Operator Konsole API-Filtername Unterstützte Attributdatentypen Gefilterte Ergebnisse
Gleich = equals Zeichenfolge, Zahl, boolescher Wert Das Attribut entspricht dem von Ihnen angegebenen Wert
Ungleich != notEquals Zeichenfolge, Zahl, boolescher Wert Das Attribut entspricht nicht dem von Ihnen angegebenen Wert
Größer als > Größer als number Das Attribut ist größer als der von Ihnen angegebene Wert
Größer als oder gleich >= größer ThanOrEquals number Das Attribut ist größer als oder gleich dem von Ihnen angegebenen Wert
Kleiner als < Weniger als number Das Attribut ist kleiner als der von Ihnen angegebene Wert
Kleiner als oder gleich <= weniger ThanOrEquals number Das Attribut ist kleiner als der oder gleich dem von Ihnen angegebenen Wert
In : in Zeichenfolgenliste Das Attribut befindet sich in der von Ihnen bereitgestellten Liste (derzeit am besten unterstützt von den GraphRag-Vektorspeichern von Amazon OpenSearch Serverless und Neptune Analytics)
NOT IN !: Nicht in Zeichenfolgenliste Das Attribut ist nicht in der von Ihnen angegebenen Liste enthalten (wird derzeit am besten mit den GraphRag-Vektorspeichern von Amazon OpenSearch Serverless und Neptune Analytics unterstützt)
Zeichenfolge enthält Nicht verfügbar stringContains Zeichenfolge Das Attribut muss eine Zeichenfolge sein. Der Attributname entspricht dem Schlüssel und dessen Wert eine Zeichenfolge ist, die den Wert enthält, den Sie als Teilzeichenfolge angegeben haben, oder eine Liste mit einem Element, das den Wert enthält, den Sie als Teilzeichenfolge angegeben haben (derzeit am besten mit Amazon Serverless Vector Store unterstützt). OpenSearch Der GraphRag-Vektorspeicher von Neptune Analytics unterstützt die Zeichenkettenvariante, aber nicht die Listenvariante dieses Filters).
Liste enthält Nicht verfügbar listContains Zeichenfolge Das Attribut muss eine Zeichenfolgenliste sein. Der Attributname entspricht dem Schlüssel und dessen Wert ist eine Liste, die den Wert enthält, den Sie als eines ihrer Mitglieder angegeben haben (derzeit am besten unterstützt von Amazon OpenSearch Serverless Vector Stores).

Sie können die folgenden logischen Operatoren verwenden, um Filteroperatoren zu kombinieren:

Logische Operatoren
Operator Konsole API-Filterfeldname Gefilterte Ergebnisse
Bedingung 2 und andAll Die Ergebnisse erfüllen alle Filterausdrücke in der Gruppe
Oder oder orAll Die Ergebnisse erfüllen mindestens einen der Filterausdrücke in der Gruppe

Wählen Sie den Tab für Ihre bevorzugte Methode aus und führen Sie dann die Schritte aus, um zu erfahren, wie Sie Ergebnisse mithilfe von Metadaten filtern:

Console

Folgen Sie den Konsolenschritten unter Abrufen einer Wissensdatenbank und Datenabruf. Wenn Sie den Bereich Konfigurationen öffnen, wird ein Filterabschnitt angezeigt. Die folgenden Verfahren beschreiben verschiedene Anwendungsfälle:

  • Um einen Filter hinzuzufügen, erstellen Sie einen Filterausdruck, indem Sie ein Metadatenattribut, einen Filteroperator und einen Wert in das Feld eingeben. Trennen Sie die einzelnen Teile des Ausdrucks mit Leerzeichen. Drücken Sie die Eingabetaste, um den Filter hinzuzufügen.

    Eine Liste der akzeptierten Filteroperatoren finden Sie in der Tabelle mit den Filteroperatoren oben. Sie können auch eine Liste der Filteroperatoren anzeigen, indem Sie nach dem Metadatenattribut ein Leerzeichen hinzufügen.

    Anmerkung

    Sie müssen Zeichenfolgen in Anführungszeichen setzen.

    Sie können beispielsweise nach Ergebnissen aus Quelldokumenten filtern, die ein genre-Metadatenattribut enthalten, dessen Wert "entertainment" ist, indem Sie den folgenden Filter hinzufügen: genre = "entertainment".

    So fügen Sie einen einzelnen Filter hinzu.
  • Um einen weiteren Filter hinzuzufügen, geben Sie einen weiteren Filterausdruck in das Feld ein und drücken die Eingabetaste. Sie können bis zu 5 Filter zu der Gruppe hinzufügen.

    So fügen Sie einen weiteren Filter hinzu.
  • Standardmäßig gibt die Abfrage Ergebnisse zurück, die alle von Ihnen angegebenen Filterausdrücke erfüllen. Um Ergebnisse zurückzugeben, die mindestens einen der Filterausdrücke erfüllen, klicken Sie auf das Dropdownmenü AND zwischen zwei beliebigen Filtervorgängen und klicken Sie dann auf OR.

    So ändern Sie die logische Operation zwischen Filtern.
  • Um verschiedene logische Operatoren zu kombinieren, wählen Sie + Gruppe hinzufügen aus, um eine Filtergruppe hinzuzufügen. Geben Sie Filterausdrücke in die neue Gruppe ein. Sie können bis zu 5 Filtergruppen hinzufügen.

    Fügen Sie eine Filtergruppe hinzu, um verschiedene logische Operatoren zu kombinieren.
  • Um den logischen Operator zu ändern, der zwischen allen Filtergruppen verwendet wird, wählen Sie das AND-Dropdown-Menü zwischen zwei beliebigen Filtergruppen aus und wählen dann OR aus.

    So ändern Sie die logische Operation zwischen Filtergruppen.
  • Um einen Filter zu bearbeiten, wählen Sie ihn aus, modifizieren den Filtervorgang und klicken dann auf Anwenden.

    Bearbeiten Sie einen Filter.
  • Um eine Filtergruppe zu entfernen, klicken Sie auf das Papierkorbsymbol ( Trash can icon representing a delete action. ) neben der Gruppe. Um einen Filter zu entfernen, klicken Sie auf das Löschsymbol ( Close or cancel icon represented by an "X" symbol. ) neben dem Filter.

    So löschen Sie einen Filter oder eine Filtergruppe.

In der folgenden Abbildung sehen Sie ein Beispiel für eine Filterkonfiguration, mit der alle Dokumente zurückgegeben werden, die nach 2018 geschrieben wurden und deren Genre "entertainment" ist sowie Dokumente, deren Genre "cooking" oder "sports" ist und deren Autor mit"C" beginnt.

Beispiel für eine Filterkonfiguration.
API

Wenn Sie eine Retrieve RetrieveAndGenerate OR-Anfrage stellen, fügen Sie ein retrievalConfiguration Feld hinzu, das einem Objekt zugeordnet ist KnowledgeBaseRetrievalConfiguration. Um die Position dieses Feldes zu sehen, konsultieren Sie die Anfragekörper von Retrieve und RetrieveAndGenerate in der API-Referenz.

Die folgenden JSON-Objekte zeigen die Mindestfelder, die im KnowledgeBaseRetrievalConfiguration Objekt erforderlich sind, um Filter für verschiedene Anwendungsfälle festzulegen:

  1. So verwenden Sie einen einzelnen Filteroperator (siehe Tabelle mit Filteroperatoren oben).

    "retrievalConfiguration": { "vectorSearchConfiguration": { "filter": { "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] } } } }
  2. Verwenden Sie einen logischen Operator (siehe Tabelle mit logischen Operatoren oben), um bis zu 5 Operatoren zu kombinieren.

    "retrievalConfiguration": { "vectorSearchConfiguration": { "filter": { "andAll | orAll": [ "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, ... ] } } }
  3. Verwenden Sie einen logischen Operator, um bis zu 5 Filteroperatoren zu einer Filtergruppe zu kombinieren, und einen zweiten logischen Operator, um diese Filtergruppe mit einem anderen Filteroperator zu kombinieren.

    "retrievalConfiguration": { "vectorSearchConfiguration": { "filter": { "andAll | orAll": [ "andAll | orAll": [ "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, ... ], "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] } ] } } }
  4. So kombinieren Sie bis zu 5 Filtergruppen, indem Sie sie in einen anderen logischen Operator einbetten. Sie können eine Einbettungsstufe erstellen.

    "retrievalConfiguration": { "vectorSearchConfiguration": { "filter": { "andAll | orAll": [ "andAll | orAll": [ "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, ... ], "andAll | orAll": [ "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, "<filter-type>": { "key": "string", "value": "string" | number | boolean | ["string", "string", ...] }, ... ] ] } } }

In der folgenden Tabelle werden die möglichen Filtertypen beschrieben:

Feld Unterstützte Wertdatentypen Gefilterte Ergebnisse
equals Zeichenfolge, Zahl, boolescher Wert Das Attribut entspricht dem von Ihnen angegebenen Wert
notEquals Zeichenfolge, Zahl, boolescher Wert Das Attribut entspricht nicht dem von Ihnen angegebenen Wert
greaterThan number Das Attribut ist größer als der von Ihnen angegebene Wert
greaterThanOrEquals number Das Attribut ist größer als oder gleich dem von Ihnen angegebenen Wert
lessThan number Das Attribut ist kleiner als der von Ihnen angegebene Wert
lessThanOrEquals number Das Attribut ist kleiner als der oder gleich dem von Ihnen angegebenen Wert
in Liste von Zeichenfolgen Das Attribut ist in der von Ihnen bereitgestellten Liste
notIn Liste von Zeichenfolgen Das Attribut ist nicht in der von Ihnen bereitgestellten Liste
startsWith Zeichenfolge Das Attribut beginnt mit der von Ihnen angegebenen Zeichenfolge (wird nur für Amazon OpenSearch Serverless Vector Stores unterstützt)

Sie können die folgenden logischen Operatoren verwenden, um Filtertypen zu kombinieren:

Feld Zugeordnet zu Gefilterte Ergebnisse
andAll Liste mit bis zu 5 Filtertypen Die Ergebnisse erfüllen alle Filterausdrücke in der Gruppe
orAll Liste mit bis zu 5 Filtertypen Die Ergebnisse erfüllen mindestens einen der Filterausdrücke in der Gruppe

Beispiele finden Sie unter Eine Abfrage senden und Filter einbeziehen (Retrieve) und Eine Abfrage senden und Filter einbeziehen (RetrieveAndGenerate).

Sie können für Ihre Wissensdatenbank Schutzmaßnahmen für Ihre Anwendungsfälle und verantwortungsvolle KI-Richtlinien implementieren. Sie können mehrere Integritätsschutzmaßnahmen treffen, die auf verschiedene Anwendungsfälle zugeschnitten sind, und sie auf mehrere Anfrage- und Antwortbedingungen anwenden, um eine konsistente Benutzerumgebung zu gewährleisten und die Sicherheitskontrollen in Ihrer gesamten Wissensdatenbank zu standardisieren. Sie können abgelehnte Themen so konfigurieren, dass unerwünschte Themen und Inhaltsfilter schädliche Inhalte in Modelleingaben und -antworten blockieren. Weitere Informationen finden Sie unter So erkennen und filtern Sie schädliche Inhalte mithilfe vom Integritätsschutz für Amazon Bedrock.

Anmerkung

Die Verwendung eines Integritätsschutzes mit kontextueller Begründungsprüfung für Wissensdatenbanken wird aktuell in Claude 3 Sonnet und Haiku nicht unterstützt.

Allgemeine Leitfäden zum Prompt-Engineering finden Sie unter Prompt-Engineering-Konzepte.

Wählen Sie die Registerkarte für Ihre bevorzugte Methode aus und befolgen Sie dann die Schritte:

Console

Folgen Sie den Konsolenschritten unter Abrufen einer Wissensdatenbank und Datenabruf. Aktivieren Sie im Testfenster die Option Antworten generieren. Erweitern Sie dann im Bereich Konfigurationen den Abschnitt Integritätsschutz.

  1. Wählen Sie im Abschnitt Integritätsschutz den Namen und die Version Ihres Integritätsschutzes aus. Wenn Sie die Details für Ihren ausgewählten Integritätsschutz und die Version anzeigen möchten, klicken Sie auf Anzeigen.

    Alternativ können Sie eine neue Rolle erstellen, indem Sie den Link Integritätsschutz auswählen.

  2. Wenn Sie mit der Bearbeitung fertig sind, wählen Sie Save changes (Änderungen speichern). Wenn Sie den Bildschirm verlassen möchten, ohne Änderungen zu speichern, klicken Sie auf Änderungen verwerfen.

API

Wenn Sie eine RetrieveAndGenerate-Anfrage stellen, fügen Sie das Feld guardrailConfiguration innerhalb der generationConfiguration ein, um Ihren Integritätsschutz mit der Anfrage zu verwenden. Um die Position dieses Feldes zu sehen, konsultieren Sie die Anfragekörper RetrieveAndGenerate in der API-Referenz.

Das folgende JSON-Objekt zeigt die Mindestfelder, die GenerationConfiguration zum Festlegen von erforderlich sindguardrailConfiguration:

"generationConfiguration": { "guardrailConfiguration": { "guardrailId": "string", "guardrailVersion": "string" } }

Geben Sie die guardrailId und guardrailVersion Ihres ausgewählten Integritätsschutzes an.

Sie können ein Reranker-Modell verwenden, um Ergebnisse aus einer Wissensdatenbankabfrage neu einzustufen. Folgen Sie den Konsolenschritten unter Abrufen einer Wissensdatenbank und Datenabruf. Wenn Sie den Bereich Konfigurationen öffnen, erweitern Sie den Abschnitt Neueinstufung. Wählen Sie ein Reranker-Modell aus, aktualisieren Sie die Berechtigungen falls erforderlich und modifizieren Sie bei Bedarf weitere Optionen. Geben Sie einen Prompt ein und klicken Sie auf Ausführen, um die Ergebnisse nach der Neueinstufung zu testen.