Abfragen und Antwortgenerierung 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 und Antwortgenerierung konfigurieren und anpassen

Sie können den Abruf und die Generierung von Antworten konfigurieren und anpassen und so die Relevanz der Antworten weiter verbessern. Sie können beispielsweise Filter auf Felder/Attribute von Dokumentmetadaten anwenden, um die zuletzt aktualisierten Dokumente oder Dokumente mit den letzten Änderungszeiten zu verwenden.

Anmerkung

Alle folgenden Konfigurationen, mit Ausnahme von Orchestrierung und Generierung, gelten nur für unstrukturierte Datenquellen.

Um mehr über diese Konfigurationen in der Konsole oder im zu erfahrenAPI, wählen Sie eines der folgenden Themen aus.

Themen

    Aus einem Amazon Kendra GenAI-Index abrufen

    Sie können eine Wissensdatenbank abfragen, die einen Amazon Kendra GenAI-Index verwendet, und nur relevanten Text aus Datenquellen zurückgeben. Senden Sie für diese Abfrage eine RetrieveAnfrage mit einem Runtime-Endpunkt von Agents for Amazon Bedrock, z. B. mit einer Standard-Wissensdatenbank.

    Die Struktur einer Antwort, die von einer Wissensdatenbank mit einem Amazon Kendra GenAI-Index zurückgegeben wird, entspricht der eines Standards. KnowledgeBaseRetrievalResult Die Antwort umfasst jedoch auch einige zusätzliche Felder von Amazon Kendra.

    In der folgenden Tabelle werden die Felder von Amazon Kendra beschrieben, die Sie möglicherweise in einer zurückgesendeten Antwort sehen. Amazon Bedrock bezieht diese Felder aus der Antwort von Amazon Kendra. Wenn diese Antwort diese Felder nicht enthält, enthält das zurückgegebene Abfrageergebnis von Amazon Bedrock diese Felder auch nicht.

    Feld Beschreibung

    x-amz-kendra-document-Titel

    Der Titel des zurückgegebenen Dokuments.

    x-amz-kendra-score-Selbstvertrauen

    Eine relative Rangfolge, die angibt, wie relevant die Antwort für die Anfrage ist. Mögliche Werte sind VERY _ HIGHHIGH,MEDIUM,LOW, und NOT _AVAILABLE.

    x-amz-kendra-passage-id

    Die ID der zurückgegebenen Passage.

    x-amz-kendra-document-id

    Die ID des zurückgegebenen Dokuments.

    DocumentAttributes

    Dokumentattribute oder Metadatenfelder von Amazon Kendra. Das zurückgegebene Abfrageergebnis aus der Wissensdatenbank speichert diese als Metadaten-Schlüssel-Wert-Paare. Sie können die Ergebnisse mit der Metadatenfilterung von Amazon Bedrock filtern. Weitere Informationen finden Sie unter DocumentAttribute.

    Der Suchtyp definiert, wie Datenquellen in der Wissensdatenbank abgefragt werden. Die folgenden Suchtypen sind möglich:

    • Standard — Amazon Bedrock entscheidet für Sie über die Suchstrategie.

    • Hybrid — Kombiniert die Suche nach Vektor-Einbettungen (semantische Suche) mit der Suche im Rohtext. Die Hybridsuche wird derzeit nur für Amazon OpenSearch Serverless Vector Stores unterstützt, die ein filterbares Textfeld enthalten. Wenn Sie einen anderen Vector Store verwenden oder Ihr Amazon OpenSearch Serverless Vector Store kein filterbares Textfeld enthält, verwendet die Abfrage eine semantische Suche.

    • Semantisch — Durchsucht nur Vektor-Einbettungen.

    Um zu erfahren, wie Sie den Suchtyp definieren, wählen Sie die Registerkarte für Ihre bevorzugte Methode und folgen Sie dann den Schritten:

    Console

    Folgen Sie den Schritten auf der Konsole unterTesten Sie Ihre Wissensdatenbank mit Fragen und Antworten. Wenn Sie den Bereich Konfigurationen öffnen, werden die folgenden Optionen für den Suchtyp angezeigt:

    • Standard — Amazon Bedrock entscheidet, welche Suchstrategie für Ihre Vector Store-Konfiguration am besten geeignet ist.

    • Hybrid — Amazon Bedrock fragt die Wissensdatenbank sowohl anhand der Vektoreinbettungen als auch anhand des Rohtextes ab. Diese Option ist nur verfügbar, wenn Sie einen Amazon OpenSearch Serverless Vector Store verwenden, der mit einem filterbaren Textfeld konfiguriert ist.

    • Semantisch — Amazon Bedrock fragt die Wissensdatenbank mithilfe seiner Vektoreinbettungen ab.

    API

    Wenn Sie eine machen Retrieve oder RetrieveAndGenerateAnfrage, füge ein retrievalConfiguration Feld hinzu, das einem KnowledgeBaseRetrievalConfigurationObjekt zugeordnet ist. Die Position dieses Felds finden Sie in Retrieve und RetrieveAndGenerateStellen in der API Referenz anfordern.

    Das folgende JSON Objekt zeigt die Mindestfelder, die im KnowledgeBaseRetrievalConfigurationObjekt erforderlich sind, um Suchtypkonfigurationen festzulegen:

    "retrievalConfiguration": { "vectorSearchConfiguration": { "overrideSearchType": "HYBRID | SEMANTIC" } }

    Geben Sie den Suchtyp in dem overrideSearchType Feld an. Ihnen stehen folgende Optionen zur Verfügung:

    • Wenn Sie keinen Wert angeben, entscheidet Amazon Bedrock, welche Suchstrategie für Ihre Vector Store-Konfiguration am besten geeignet ist.

    • HYBRID— Amazon Bedrock fragt die Wissensdatenbank sowohl anhand der Vektoreinbettungen als auch anhand des Rohtextes ab. Diese Option ist nur verfügbar, wenn Sie einen Amazon OpenSearch Serverless Vector Store verwenden, der mit einem filterbaren Textfeld konfiguriert ist.

    • SEMANTIC— Amazon Bedrock fragt die Wissensdatenbank mithilfe seiner Vektor-Einbettungen ab.

    Die Zerlegung von Abfragen ist eine Technik, mit der komplexe Abfragen in kleinere, besser verwaltbare Unterabfragen aufgeteilt werden. Dieser Ansatz kann dabei helfen, genauere und relevantere Informationen abzurufen, insbesondere wenn die ursprüngliche Abfrage vielschichtig oder zu umfangreich ist. Die Aktivierung dieser Option kann dazu führen, dass mehrere Abfragen in Ihrer Wissensdatenbank ausgeführt werden, was zu einer genaueren endgültigen Antwort beitragen kann.

    Zum Beispiel für eine Frage wie „Wer hat bei der FIFA Weltmeisterschaft 2022 besser abgeschnitten, Argentinien oder Frankreich?“ , Amazon Bedrock Knowledge Bases können zunächst die folgenden Unterabfragen generieren, bevor eine endgültige Antwort generiert wird:

    1. Wie viele Tore hat Argentinien im FIFA WM-Finale 2022 geschossen?

    2. Wie viele Tore hat Frankreich im FIFA WM-Finale 2022 geschossen?

    Console
    1. Erstellen und synchronisieren Sie eine Datenquelle oder verwenden Sie eine bestehende Wissensdatenbank.

    2. Gehen Sie zum Testfenster und öffnen Sie das Konfigurationsfenster.

    3. Aktivieren Sie die Neuformulierung von Abfragen.

    API
    POST /retrieveAndGenerate HTTP/1.1 Content-type: application/json { "input": { "text": "string" }, "retrieveAndGenerateConfiguration": { "knowledgeBaseConfiguration": { "orchestrationConfiguration": { // Query decomposition "queryTransformationConfiguration": { "type": "string" // enum of QUERY_DECOMPOSITION } }, ...} }

    Wenn Sie Antworten auf der Grundlage des Abrufs von Informationen generieren, können Sie Inferenzparameter verwenden, um mehr Kontrolle über das Verhalten des Modells während der Inferenz zu erlangen und die Ergebnisse des Modells zu beeinflussen.

    Um zu erfahren, wie Sie die Inferenzparameter ändern können, wählen Sie die Registerkarte für Ihre bevorzugte Methode und gehen Sie dann wie folgt vor:

    Console

    Um Inferenzparameter bei der Abfrage einer Wissensdatenbank zu ändern, folgen Sie den Schritten auf der Konsole unter. Testen Sie Ihre Wissensdatenbank mit Fragen und Antworten Wenn Sie den Bereich Konfigurationen öffnen, wird ein Abschnitt mit Inferenzparametern angezeigt. Ändern Sie die Parameter nach Bedarf.

    Um die Inferenzparameter beim Chatten mit Ihrem Dokument zu ändern, folgen Sie den Schritten unterChatten Sie mit Ihrem Dokument, ohne dass eine Wissensdatenbank konfiguriert ist. Erweitern Sie im Bereich Konfigurationen den Abschnitt Inferenzparameter und ändern Sie die Parameter nach Bedarf.

    API

    Sie geben die Modellparameter im Aufruf von RetrieveAndGenerateAPI. Sie können das Modell anpassen, indem Sie Inferenzparameter entweder im inferenceConfig Feld knowledgeBaseConfiguration (wenn Sie eine Wissensdatenbank abfragen) oder im Feld externalSourcesConfiguration (wenn Sie mit Ihrem Dokument chatten) angeben.

    Innerhalb des inferenceConfig Felds befindet sich ein textInferenceConfig Feld, das die folgenden Parameter enthält, die Sie verwenden können:

    • temperature

    • topP

    • maxTokenCount

    • stopSequences

    Sie können das Modell anpassen, indem Sie die folgenden Parameter im inferenceConfig Feld externalSourcesConfiguration sowohl als auch verwendenknowledgeBaseConfiguration:

    • temperature

    • topP

    • maxTokenCount

    • stopSequences

    Eine ausführliche Erläuterung der Funktion der einzelnen Parameter finden Sie unterBeeinflussen Sie die Antwortgenerierung mit Inferenzparametern.

    Darüber hinaus können Sie benutzerdefinierte Parameter angeben, die von textInferenceConfig via additionalModelRequestFields Map nicht unterstützt werden. Mit diesem Argument können Sie für bestimmte Modelle eindeutige Parameter angeben. Informationen zu den eindeutigen Parametern finden Sie unterInferenzanforderungsparameter und Antwortfelder für Foundation-Modelle.

    Wenn ein Parameter weggelassen wirdtextInferenceConfig, wird ein Standardwert verwendet. Alle Parameter, die in nicht erkannt textInferneceConfig werden, werden ignoriert, während alle Parameter, die in nicht erkannt AdditionalModelRequestFields werden, eine Ausnahme auslösen.

    Eine Validierungsausnahme wird ausgelöst, wenn sowohl als auch additionalModelRequestFields derselbe Parameter vorhanden istTextInferenceConfig.

    Verwenden von Modellparametern in RetrieveAndGenerate

    Im Folgenden finden Sie ein Beispiel für die Struktur für inferenceConfig und additionalModelRequestFields unter dem generationConfiguration im RetrieveAndGenerate Anforderungstext:

    "inferenceConfig": { "textInferenceConfig": { "temperature": 0.5, "topP": 0.5, "maxTokens": 2048, "stopSequences": ["\nObservation"] } }, "additionalModelRequestFields": { "top_k": 50 }

    Im folgenden Beispiel wird ein Wert temperature von 0,5, top_p von 0,5 maxTokens von 2048 festgelegt, die Generierung gestoppt, wenn sie in der generierten Antwort auf die Zeichenfolge nObservation „\“ stößt, und ein benutzerdefinierter top_k Wert von 50 übergeben.

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

    Um die maximale Anzahl der zurückzugebenden Ergebnisse zu ändern, wählen Sie die Registerkarte für Ihre bevorzugte Methode und gehen Sie dann wie folgt vor:

    Console

    Folgen Sie den Schritten auf der Konsole unterTesten Sie Ihre Wissensdatenbank mit Fragen und Antworten. Erweitern Sie im Bereich Konfigurationen die Option Maximale Anzahl abgerufener Ergebnisse.

    API

    Wenn Sie eine erstellen Retrieve oder RetrieveAndGenerateAnfrage, füge ein retrievalConfiguration Feld hinzu, das einem KnowledgeBaseRetrievalConfigurationObjekt zugeordnet ist. Die Position dieses Felds finden Sie in Retrieve und RetrieveAndGenerateStellen in der API Referenz anfordern.

    Das folgende JSON Objekt zeigt die minimalen Felder, die im KnowledgeBaseRetrievalConfigurationObjekt erforderlich sind, um die maximale Anzahl zurückzugebender Ergebnisse festzulegen:

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

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

    Sie können Filter auf das Dokument fields/attributes to help you further improve the relevancy of responses. Your data sources can include document metadata attributes/fields anwenden, nach dem gefiltert werden soll, und Sie können angeben, welche Felder in die Einbettungen aufgenommen werden sollen. Zum Beispiel das Dokument „epoch_modification_time“ oder die Anzahl der Sekunden, die seit dem 1. Januar 1970 vergangen sind, 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.

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

    • Bei der Konfiguration Ihres Datenquellen-Connectors crawlen die meisten Konnektoren die wichtigsten Metadatenfelder Ihrer Dokumente. Wenn Sie einen Amazon S3 S3-Bucket als Datenquelle verwenden, muss der Bucket mindestens einen fileName.extension.metadata.json für die Datei oder das Dokument enthalten, mit dem er verknüpft ist. Weitere Informationen Konfiguration der Verbindung zur Konfiguration der Metadatendatei finden Sie unter Metadatenfelder dokumentieren in.

    • 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 Schritte ausführen:

    • Wenn Sie Metadaten zu einem vorhandenen Vektorindex in einem Amazon Aurora Aurora-Datenbank-Cluster hinzufügen, müssen Sie der Tabelle für jedes Metadatenattribut in Ihren Metadatendateien eine Spalte hinzufügen, bevor Sie mit der Aufnahme beginnen. Die Werte der Metadatenattribute werden in diese Spalten geschrieben.

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

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

    Operatoren filtern
    Operator Konsole APIName des Filters Unterstützte Attributdatentypen Gefilterte Ergebnisse
    Gleichheitszeichen = equals Zeichenfolge, Zahl, boolescher Wert Das Attribut entspricht dem von Ihnen angegebenen Wert
    Entspricht nicht != notEquals Zeichenfolge, Zahl, boolescher Wert Das Attribut stimmt nicht mit dem von Ihnen angegebenen Wert überein
    größer als > greaterThan Zahl Das Attribut ist größer als der von Ihnen angegebene Wert
    Größer als oder gleich >= greaterThanOrIst gleich Zahl Das Attribut ist größer oder gleich dem von Ihnen angegebenen Wert
    kleiner als < lessThan Zahl Das Attribut ist kleiner als der von Ihnen angegebene Wert
    Weniger als oder gleich <= lessThanOrIst gleich Zahl Das Attribut ist kleiner oder gleich dem von Ihnen angegebenen Wert
    In : in Zeichenkettenliste Das Attribut befindet sich in der von Ihnen bereitgestellten Liste (wird derzeit am besten von Amazon OpenSearch Serverless Vector Stores unterstützt)
    Nicht in !: notIn String-Liste Das Attribut ist nicht in der von Ihnen bereitgestellten Liste enthalten (wird derzeit am besten von Amazon OpenSearch Serverless Vector Stores unterstützt)
    Beginnt mit ^ startsWith Zeichenfolge Das Attribut beginnt mit der von Ihnen angegebenen Zeichenfolge (wird derzeit am besten von Amazon OpenSearch Serverless Vector Stores unterstützt)

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

    Logische Operatoren
    Operator Konsole APIFeldname filtern Gefilterte Ergebnisse
    And and andAll Die Ergebnisse erfüllen alle Filterausdrücke in der Gruppe
    Oder or orAll Die Ergebnisse erfüllen mindestens einen der Filterausdrücke in der Gruppe

    Um zu erfahren, wie Sie Ergebnisse mithilfe von Metadaten filtern, wählen Sie die Registerkarte für Ihre bevorzugte Methode aus und folgen Sie dann den Schritten:

    Console

    Folgen Sie den Schritten auf der Konsole unterTesten Sie Ihre Wissensdatenbank mit Fragen und Antworten. Wenn Sie den Bereich Konfigurationen öffnen, wird der Abschnitt Filter 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 jeden Teil des Ausdrucks durch ein 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 sehen, wenn Sie nach dem Metadatenattribut ein Leerzeichen hinzufügen.

      Anmerkung

      Sie müssen Zeichenketten in Anführungszeichen setzen.

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

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

      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, wählen Sie das Dropdownmenü und zwischen zwei beliebigen Filtervorgängen und wählen Sie dann oder aus.

      Ändern Sie die logische Operation zwischen Filtern.
    • Um verschiedene logische Operatoren zu kombinieren, wählen Sie + Gruppe hinzufügen, 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 ANDDropdownmenü zwischen zwei beliebigen Filtergruppen und wählen Sie ODER.

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

      Bearbeiten Sie einen Filter.
    • Um eine Filtergruppe zu entfernen, wählen Sie das Papierkorbsymbol ( Trapezoid-shaped diagram showing data flow from source to destination through AWS Transfer Family. ) neben der Gruppe. Um einen Filter zu entfernen, wählen Sie das Löschsymbol ( Close or cancel icon represented by an "X" symbol. ) neben dem Filter aus.

      Löschen Sie einen Filter oder eine Filtergruppe.

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

    Beispiel für eine Filterkonfiguration.
    API

    Wenn Sie eine erstellen Retrieve oder RetrieveAndGenerateAnfrage, füge ein retrievalConfiguration Feld hinzu, das einem KnowledgeBaseRetrievalConfigurationObjekt zugeordnet ist. Die Position dieses Felds finden Sie in Retrieve und RetrieveAndGenerateStellen in der API Referenz anfordern.

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

    1. Verwenden Sie einen 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 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. Kombinieren Sie bis zu 5 Filtergruppen, indem Sie sie in einen anderen logischen Operator einbetten. Sie können eine Einbettungsebene 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 Filtertypen beschrieben, die Sie verwenden können:

    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 stimmt nicht mit dem von Ihnen angegebenen Wert überein
    greaterThan Zahl Das Attribut ist größer als der von Ihnen angegebene Wert
    greaterThanOrEquals Zahl Das Attribut ist größer oder gleich dem von Ihnen angegebenen Wert
    lessThan Zahl Das Attribut ist kleiner als der von Ihnen angegebene Wert
    lessThanOrEquals Zahl Das Attribut ist kleiner oder gleich dem von Ihnen angegebenen Wert
    in Liste von Zeichenketten Das Attribut befindet sich in der Liste, die Sie angeben
    notIn Liste von Zeichenketten Das Attribut ist nicht in der Liste, die Sie angeben
    startsWith Zeichenfolge Das Attribut beginnt mit der von Ihnen angegebenen Zeichenfolge (wird nur für Amazon OpenSearch Serverless Vector Stores unterstützt)

    Um Filtertypen zu kombinieren, können Sie einen der folgenden logischen Operatoren verwenden:

    Feld Ordnet 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 einschließen (Abrufen) und Eine Abfrage senden und Filter einschließen (RetrieveAndGenerate).

    Amazon Bedrock Knowledge Base generiert und wendet einen Abruffilter auf der Grundlage der Benutzerabfrage und eines Metadatenschemas an.

    Anmerkung

    Die Funktion funktioniert derzeit nur mit Anthropic Claude 3.5 Sonnet.

    Das implicitFilterConfiguration ist in der vectorSearchConfiguration von angegeben RetrieveHauptteil der Anfrage. Schließen Sie die folgenden Felder ein:

    • metadataAttributes— Geben Sie in diesem Array Schemas an, die Metadatenattribute beschreiben, für die das Modell einen Filter generiert.

    • modelArn— Das ARN Modell, das verwendet werden soll.

    Im Folgenden finden Sie ein Beispiel für Metadatenschemas, die Sie dem Array hinzufügen können. metadataAttributes

    [ { "key": "company", "type": "STRING", "description": "The full name of the company. E.g. `Amazon.com, Inc.`, `Alphabet Inc.`, etc" }, { "key": "ticker", "type": "STRING", "description": "The ticker name of a company in the stock market, e.g. AMZN, AAPL" }, { "key": "pe_ratio", "type": "NUMBER", "description": "The price to earning ratio of the company. This is a measure of valuation of a company. The lower the pe ratio, the company stock is considered chearper." }, { "key": "is_us_company", "type": "BOOLEAN", "description": "Indicates whether the company is a US company." }, { "key": "tags", "type": "STRING_LIST", "description": "Tags of the company, indicating its main business. E.g. `E-commerce`, `Search engine`, `Artificial intelligence`, `Cloud computing`, etc" } ]

    Wenn Sie eine Wissensdatenbank abfragen und die Generierung von Antworten anfordern, verwendet Amazon Bedrock eine Eingabeaufforderungsvorlage, die Anweisungen und Kontext mit der Benutzerabfrage kombiniert, um die Generierungsaufforderung zu erstellen, die zur Antwortgenerierung an das Modell gesendet wird. Sie können auch die Orchestrierungsaufforderung anpassen, wodurch die Benutzeraufforderung in eine Suchabfrage umgewandelt wird. Sie können die Vorlagen für die Eingabeaufforderung mit den folgenden Tools entwickeln:

    • Platzhalter für Eingabeaufforderungen — Vordefinierte Variablen in Amazon Bedrock Knowledge Bases, die während der Wissensdatenbank-Abfrage zur Laufzeit dynamisch ausgefüllt werden. In der Systemaufforderung werden Sie diese Platzhalter sehen, die von dem Symbol umgeben sind. $ In der folgenden Liste werden die Platzhalter beschrieben, die Sie verwenden können:

      Variable Vorlage für eine Eingabeaufforderung Ersetzt durch Modell Erforderlich?
      $query$ Orchestrierung, Generierung Die Benutzeranfrage, die an die Wissensdatenbank gesendet wurde. Anthropic Claude Instant, Anthropic Claude v2.x Ja
      Anthropic Claude 3 Sonnet Nein (automatisch in der Modelleingabe enthalten)
      $search_results$ Generation Die abgerufenen Ergebnisse für die Benutzerabfrage. Alle Ja
      $output_format_instructions$ Orchestrierung Zugrundeliegende Anweisungen für die Formatierung der Antwortgenerierung und der Zitate. Unterscheidet sich je nach Modell. Wenn Sie Ihre eigenen Formatierungsanweisungen definieren, empfehlen wir Ihnen, diesen Platzhalter zu entfernen. Ohne diesen Platzhalter enthält die Antwort keine Zitate. Alle Nein
      $current_time$ Orchestrierung, Generierung Die aktuelle Uhrzeit. Alle Nein
    • XMLSchlagworte — Anthropic Modelle unterstützen die Verwendung von XML Tags zur Strukturierung und Abgrenzung Ihrer Eingabeaufforderungen. Verwenden Sie aussagekräftige Tagnamen, um optimale Ergebnisse zu erzielen. In der Standard-Systemaufforderung sehen Sie beispielsweise das <database> Tag, das zur Abgrenzung einer Datenbank mit zuvor gestellten Fragen verwendet wird. Weitere Informationen finden Sie unter Verwenden von XML Tags in der Anthropic Benutzerleitfaden.

    Allgemeine Richtlinien für das Prompt Engineering finden Sie unter Schnelle technische Konzepte.

    Wählen Sie die Registerkarte für Ihre bevorzugte Methode und folgen Sie dann den Schritten:

    Console

    Folgen Sie den Schritten auf der Konsole unterTesten Sie Ihre Wissensdatenbank mit Fragen und Antworten. Aktivieren Sie im Testfenster die Option Antworten generieren. Erweitern Sie dann im Bereich Konfigurationen den Abschnitt Vorlage für die Knowledgebase-Aufforderung.

    1. Wählen Sie Edit (Bearbeiten) aus.

    2. Bearbeiten Sie die Systemaufforderung im Texteditor, einschließlich Platzhaltern und XML Tags für die Eingabeaufforderung, falls erforderlich. Um zur Standardvorlage für Eingabeaufforderungen zurückzukehren, wählen Sie Auf Standard zurücksetzen.

    3. Wenn Sie mit der Bearbeitung fertig sind, wählen Sie Save changes (Änderungen speichern). Um den Vorgang zu beenden, ohne die Systemaufforderung zu speichern, wählen Sie Änderungen verwerfen.

    API

    Wenn Sie eine erstellen RetrieveAndGenerateAnfrage, füge ein generationConfiguration Feld hinzu, das einem GenerationConfigurationObjekt zugeordnet ist. Die Position dieses Felds finden Sie in RetrieveAndGenerateHauptteil der Anfrage in der API Referenz.

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

    "generationConfiguration": { "promptTemplate": { "textPromptTemplate": "string" } }

    Geben Sie Ihre benutzerdefinierte Vorlage für Eingabeaufforderungen in das textPromptTemplate Feld ein, einschließlich Platzhaltern und XML Tags für Eingabeaufforderungen, falls erforderlich. Die maximale Anzahl von Zeichen, die in der Systemaufforderung zulässig sind, finden Sie im textPromptTemplate GenerationConfigurationFeld unter.

    Sie können Schutzmaßnahmen für Ihre Wissensdatenbank für Ihre Anwendungsfälle und verantwortungsvolle KI-Richtlinien implementieren. Sie können mehrere Leitplanken erstellen, die auf unterschiedliche Anwendungsfälle zugeschnitten sind, und sie auf mehrere Anfrage- und Antwortbedingungen anwenden, um eine konsistente Benutzererfahrung zu gewährleisten und die Sicherheitskontrollen in Ihrer gesamten Wissensdatenbank zu standardisieren. Sie können abgelehnte Themen so konfigurieren, dass unerwünschte Themen nicht zugelassen werden, und Inhaltsfilter, um schädliche Inhalte in Modelleingaben und -antworten zu blockieren. Weitere Informationen finden Sie unter Stoppen Sie schädliche Inhalte in Modellen mithilfe von Amazon Bedrock Guardrails.

    Anmerkung

    Die Verwendung von Leitplanken mit kontextueller Grundlage für Wissensdatenbanken wird derzeit in Claude 3 Sonnet und Haiku nicht unterstützt.

    Allgemeine Richtlinien für das Prompt-Engineering finden Sie unter. Schnelle technische Konzepte

    Wählen Sie die Registerkarte für Ihre bevorzugte Methode und folgen Sie dann den Schritten:

    Console

    Folgen Sie den Schritten auf der Konsole unterTesten Sie Ihre Wissensdatenbank mit Fragen und Antworten. Aktivieren Sie im Testfenster die Option Antworten generieren. Erweitern Sie dann im Bereich Konfigurationen den Abschnitt Guardrails.

    1. Wählen Sie im Abschnitt Leitplanken den Namen und die Version Ihrer Leitplanke aus. Wenn Sie die Details für die von Ihnen gewählte Leitplanke und Version sehen möchten, wählen Sie Ansicht.

      Alternativ können Sie eine neue erstellen, indem Sie auf den Link Guardrail klicken.

    2. Wenn Sie mit der Bearbeitung fertig sind, wählen Sie Save changes (Änderungen speichern). Um den Vorgang ohne Speichern zu beenden, wählen Sie Änderungen verwerfen.

    API

    Wenn Sie eine machen RetrieveAndGenerateBitte fügen Sie der Anfrage das guardrailConfiguration Feld generationConfiguration zur Verwendung Ihrer Leitplanke bei. Die Position dieses Feldes finden Sie in der RetrieveAndGenerateHauptteil der Anfrage in der API Referenz.

    Das folgende JSON Objekt zeigt die minimalen Felder, die GenerationConfigurationzum Einstellen von erforderlich sindguardrailConfiguration:

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

    Geben Sie das Ende guardrailId guardrailVersion der von Ihnen ausgewählten Leitplanken an.