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.
Verwenden Sie die kontextuelle Erdungsprüfung, um Halluzinationen in Antworten zu filtern
Amazon Bedrock Guardrails unterstützt die kontextuelle Erdungsprüfung, um Halluzinationen in Modellantworten zu erkennen und zu filtern, wenn eine Referenzquelle und eine Benutzerabfrage bereitgestellt werden. Die unterstützten Anwendungsfälle umfassen Agenten mit erweiterter Generierung (RAG), Zusammenfassung, Paraphrasierung oder Konversation, die sich auf eine Referenzquelle wie abgerufene Passins oder den Konversationsverlauf stützen, damit die Agenten die Konversationen untermauern können. RAG
Bei der kontextuellen Grundprüfung wird für jeden verarbeiteten Abschnitt die Relevanz überprüft. Wenn ein Teil als relevant erachtet wird, gilt die gesamte Antwort als relevant, da sie die Antwort auf die Anfrage des Benutzers enthält. Beim Streaming kann dies zu einem Szenario führenAPI, in dem dem Benutzer eine irrelevante Antwort zurückgegeben wird, die erst als irrelevant markiert wird, nachdem die gesamte Antwort gestreamt wurde.
Bei der Prüfung der kontextuellen Erdung werden Halluzinationen anhand von zwei Paradigmen untersucht:
-
Erdung — Dabei wird geprüft, ob die Modellantwort auf der Grundlage der Quelle sachlich korrekt ist und auf der Quelle basiert. Alle neuen Informationen, die in der Antwort enthalten sind, werden als unbegründet betrachtet.
-
Relevanz — Dadurch wird geprüft, ob die Modellantwort für die Benutzeranfrage relevant ist.
Stellen Sie sich ein Beispiel vor, in dem die Referenzquelle „London ist die Hauptstadt des Vereinigten Königreichs“ enthält. Tokio ist die Hauptstadt Japans“ und die Benutzerabfrage lautet „Was ist die Hauptstadt von Japan?“. Eine Antwort wie „Die Hauptstadt Japan ist London“ wird als unbegründet und sachlich falsch angesehen, wohingegen eine Antwort wie „Die Hauptstadt des Vereinigten Königreichs ist London“ als irrelevant angesehen wird, auch wenn sie korrekt und in der Quelle begründet ist.
Anmerkung
Wenn eine Anfrage mehrere grounding_source
Tags enthält, kombiniert und bewertet die Leitplanke alle bereitgestellten grounding_source
Werte zusammen, anstatt sie einzeln zu betrachten. grounding_source
Dieses Verhalten ist für das Tag identisch. query
Anmerkung
Die Richtlinie zur kontextuellen Erdung unterstützt derzeit maximal 100.000 Zeichen für die Erdungsquelle, 1.000 Zeichen für die Abfrage und 5.000 Zeichen für die Antwort.
Konfidenzwerte und Schwellenwerte
Bei der kontextuellen Grundprüfung werden für jede Modellantwort, die auf der Grundlage der angegebenen Quelle und Benutzerabfrage verarbeitet wird, Konfidenzwerte generiert, die der Grundlage und der Relevanz entsprechen. Sie können Schwellenwerte konfigurieren, um Modellantworten auf der Grundlage der generierten Werte zu filtern. Der Filterschwellenwert bestimmt den minimal zulässigen Konfidenzwert, damit die Modellantwort in Ihrer generativen KI-Anwendung als fundiert und relevant angesehen werden kann. Wenn Ihr Grundschwellenwert und Ihr Relevanzschwellenwert beispielsweise jeweils auf 0,7 festgelegt sind, werden alle Modellantworten mit einem Grounding- oder Relevanzwert von weniger als 0,7 als Halluzinationen erkannt und in Ihrer Anwendung blockiert. Wenn der Filterschwellenwert erhöht wird, steigt die Wahrscheinlichkeit, dass unbegründete und irrelevante Inhalte blockiert werden, und die Wahrscheinlichkeit, dass halluzinierte Inhalte in Ihrer Anwendung angezeigt werden, sinkt. Sie können Schwellenwerte für Erdung und Relevanz zwischen 0 und 0,99 konfigurieren. Ein Schwellenwert von 1 ist ungültig, da dadurch der gesamte Inhalt blockiert wird.
Für die Prüfung der kontextuellen Erdung sind drei Komponenten erforderlich: die Erdungsquelle, die Abfrage und der zu schützende Inhalt (oder die Modellantwort). Diese sind unterschiedlich konfiguriert, je nachdem, ob Sie Invoke verwenden, APIs Converse APIs, oder ApplyGuardrail direkt.
-
Grundlegende Quelle — Kontextinformationen, die zur Beantwortung von Benutzeranfragen benötigt werden. Zum Beispiel: „London ist die Hauptstadt des Vereinigten Königreichs. Tokio ist die Hauptstadt Japan.“
-
Anfrage — eine Frage, die ein Benutzer stellen kann. Zum Beispiel „Was ist die Hauptstadt von Japan?“.
-
Zu schützender Inhalt — der Text, der im Verhältnis zur Ausgangsquelle und -abfrage geschützt werden sollte. Für Invoke und Converse APIs, das ist die Modellantwort. Dies kann beispielsweise „Die Hauptstadt Japan ist Tokio“ sein.
Unfundiertes Beispiel
-
Quelle: „London ist die Hauptstadt des Vereinigten Königreichs. Tokio ist die Hauptstadt Japan.“
-
Anfrage - „Was ist die Hauptstadt von Japan?“
-
Zufrieden mit Bewachung - „Die Hauptstadt Japan ist London.“
In diesem Beispiel ist der Inhalt, der geschützt werden soll, für die Abfrage relevant, hat aber keinen Bezug, da er die Erdungsquelle nicht korrekt verwendet. Dies hätte einen niedrigen Grounding Score zur Folge.
Irrelevantes Beispiel
-
Grundlegende Quelle: „London ist die Hauptstadt des Vereinigten Königreichs. Tokio ist die Hauptstadt Japan.“
-
Anfrage - „Was ist die Hauptstadt von Japan?“
-
Inhalt, den man bewachen sollte - „Die Hauptstadt von Großbritannien ist London.“
In diesem Beispiel ist der zu schützende Inhalt unbegründet, aber nicht relevant. Es verwendet Informationen aus der Erdungsquelle, beantwortet die Anfrage jedoch nicht. Dies hätte einen niedrigen Relevanzwert.
Unbegründetes und irrelevantes Beispiel
-
Grundlegende Quelle: „London ist die Hauptstadt des Vereinigten Königreichs. Tokio ist die Hauptstadt Japan.“
-
Anfrage - „Was ist die Hauptstadt von Japan?“
-
Zufrieden mit Bewachung - „Draußen regnet es.“
In diesem Beispiel ist der Inhalt, der geschützt werden soll, nicht begründet und nicht relevant. Es verwendet weder Informationen aus der Erdungsquelle noch beantwortet es die Anfrage. Dies hätte einen niedrigen Grundwert und einen niedrigen Relevanzwert.
Weitere Beispiele
Stellen Sie sich eine Bankanwendung vor, die darauf ausgelegt ist, Fragen im Zusammenhang mit Gebühren und Entgelten zu beantworten.
Quelle:
-
Für die Eröffnung eines Girokontos fallen keine Gebühren an.
-
Die monatliche Gebühr für die Führung eines Girokontos beträgt 10 USD.
-
Für internationale Überweisungen wird eine Transaktionsgebühr von 1% erhoben.
-
Für Inlandsüberweisungen fallen keine Gebühren an.
-
Die Gebühren im Zusammenhang mit verspäteten Zahlungen von Kreditkartenrechnungen betragen 23,99%.
Basierend auf der obigen Quelle kann es je nach Anfrage des Benutzers vier Szenarien geben.
Fundiert und relevant
-
F: Welche Gebühren sind mit einem Girokonto verbunden?
-
A: Die monatliche Gebühr für die Führung eines Girokontos beträgt 10 USD. Für Inlandsüberweisungen fallen keine Gebühren an. Für internationale Überweisungen wird jedoch eine Transaktionsgebühr von 1% erhoben. Für die Eröffnung eines Girokontos fallen keine Gebühren an.
Unbegründet, aber relevant
-
F: Wie hoch ist die mit Kreditkarte verbundene Transaktionsgebühr?
-
A: Die mit der Kreditkarte verbundenen Transaktionsgebühren betragen 23,99%.
Begründet, aber irrelevant
-
F: Wie hoch sind die Gebühren für die Nutzung eines Girokontos?
-
A: Den bereitgestellten Informationen zufolge beträgt die Gebühr für verspätete Zahlungen bei einer Kreditkarte 23,99%.
Unbegründet und irrelevant
-
F: Wie hoch sind die Gebühren für die Nutzung eines Girokontos?
-
A: Die Gebühren für das Maklerkonto betragen 0,5 USD pro Handelstransaktion.
Themen
Contextual Grounding Check mit Invoke aufrufen APIs
Um die Erdungsquelle und die Abfrage innerhalb der Eingabe zu markieren, stellen wir zwei Tags zur Verfügung, die genauso funktionieren wie Eingabe-Tags. Diese Tags sind amazon-bedrock-guardrails-groundingSource_xyz
und amazon-bedrock-guardrails-query_xyz
vorausgesetzt, das Tag-Suffix ist xyz. Beispielsweise:
{ "text": """ <amazon-bedrock-guardrails-groundingSource_xyz>London is the capital of UK. Tokyo is the capital of Japan. </amazon-bedrock-guardrails-groundingSource_xyz> <amazon-bedrock-guardrails-query_xyz>What is the capital of Japan?</amazon-bedrock-guardrails-query_xyz> """, "amazon-bedrock-guardrailConfig": { "tagSuffix": "xyz", }, }
Beachten Sie, dass die Modellantwort für die kontextuelle Erdungsprüfung erforderlich ist. Daher wird die Prüfung nur bei der Ausgabe und nicht bei der Aufforderung durchgeführt.
Diese Tags können zusammen mit den Tags verwendet werden. guardContent Wenn keine guardContent Tags verwendet werden, wendet die Leitplanke standardmäßig alle konfigurierten Richtlinien auf die gesamte Eingabe an, einschließlich der Grundquelle und der Abfrage. Wenn die guardContent Tags verwendet werden, untersucht die Richtlinie zur Überprüfung der kontextuellen Erdung nur die Quelle, die Abfrage und die Antwort, während die übrigen Richtlinien den Inhalt der Tags untersuchen. guardContent
Kontextuelle Erdungsprüfung aufrufen mit Converse APIs
Um die Erdungsquelle zu markieren und abzufragen Converse APIs, verwenden Sie das Qualifier-Feld in jedem Guard-Inhaltsblock. Beispielsweise:
[ { "role": "user", "content": [ { "guardContent": { "text": { "text": "London is the capital of UK. Tokyo is the capital of Japan", "qualifiers": ["grounding_source"], } } }, { "guardContent": { "text": { "text": "What is the capital of Japan?", "qualifiers": ["query"], } } }, ], } ]
Beachten Sie, dass die Modellantwort für die Prüfung der kontextuellen Erdung erforderlich ist. Daher wird die Prüfung nur bei der Ausgabe und nicht bei der Aufforderung durchgeführt.
Wenn keiner der Inhaltsblöcke mit dem Qualifier guard_content gekennzeichnet ist, untersucht die Richtlinie für die kontextuelle Erdungsprüfung nur die Erdungsquelle, die Abfrage und die Antwort. Die übrigen Richtlinien folgen dem Standardverhalten bei der Untersuchung: Die Systemaufforderung wird standardmäßig nicht untersucht und Nachrichten werden standardmäßig untersucht. Wenn ein Inhaltsblock jedoch mit dem Qualifier guard_content gekennzeichnet ist, untersucht die Richtlinie für die kontextuelle Erdungsüberprüfung nur die Quelle, Anfrage und Antwort, während die übrigen Richtlinien den mit den Tags markierten Inhalt untersuchen. guardContent
Kontextuelle Erdungsprüfung aufrufen mit ApplyGuardrail API
Die Verwendung von Contextual Grounding Check mit ähnelt der Verwendung mit ApplyGuardrail Converse APIs. Verwenden Sie das Qualifier-Feld in jedem Inhaltsblock ApplyGuardrail, um die Grundquelle zu markieren und abzufragen. Da ein Modell jedoch nicht mit aufgerufen wird ApplyGuardrail, müssen Sie auch einen zusätzlichen Inhaltsblock mit dem Inhalt angeben, der geschützt werden soll. Dieser Inhaltsblock kann optional mit guard_content qualifiziert werden und entspricht der Modellantwort in Invoke* oder Converse*. APIs Beispielsweise:
[ { "text": { "text": "London is the capital of UK. Tokyo is the capital of Japan", "qualifiers": [ "grounding_source" ] } }, { "text": { "text": "What is the capital of Japan?", "qualifiers": [ "query" ] } }, { "text": { "text": "The capital of Japan is Tokyo." } } ]
Beachten Sie, dass die Modellantwort erforderlich ist, um die kontextuelle Erdungsprüfung durchzuführen. Daher wird die Prüfung nur bei der Ausgabe und nicht bei der Aufforderung durchgeführt.
Wenn keiner der Inhaltsblöcke mit dem Qualifier guard_content gekennzeichnet ist, untersucht die Richtlinie für die kontextuelle Erdungsprüfung nur die Erdungsquelle, die Abfrage und die Antwort. Die übrigen Richtlinien folgen dem Standardverhalten bei der Untersuchung: Die Systemaufforderung wird standardmäßig nicht untersucht und Nachrichten werden standardmäßig untersucht. Wenn ein Inhaltsblock jedoch mit dem Qualifier guard_content gekennzeichnet ist, untersucht die Richtlinie für die kontextuelle Erdungsüberprüfung nur die Quelle, Anfrage und Antwort, während die übrigen Richtlinien den mit den Tags markierten Inhalt untersuchen. guardContent
Weitere Informationen zur kontextuellen Erdungsprüfung finden Sie unter Verwenden der kontextuellen Erdungsprüfung.