Nutzereingaben selektiv mit Tags auswerten - 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.

Nutzereingaben selektiv mit Tags auswerten

Mithilfe von Eingabe-Tags können Sie bestimmte Inhalte innerhalb des Eingabetextes markieren, die mithilfe von Leitplanken verarbeitet werden sollen. Dies ist nützlich, wenn Sie Leitplanken auf bestimmte Teile der Eingabe anwenden möchten, während andere Teile unbearbeitet bleiben möchten.

Beispielsweise kann die Eingabeaufforderung in RAG-Anwendungen Systemaufforderungen, Suchergebnisse aus vertrauenswürdigen Dokumentationsquellen und Benutzerabfragen enthalten. Da die Systemaufforderungen vom Entwickler bereitgestellt werden und die Suchergebnisse aus vertrauenswürdigen Quellen stammen, benötigen Sie die Guardrails-Auswertung möglicherweise nur für Benutzeranfragen.

In einem anderen Beispiel kann die Eingabeaufforderung in Konversationsanwendungen Systemaufforderungen, den Konversationsverlauf und die aktuelle Benutzereingabe enthalten. Bei Systemaufforderungen handelt es sich um entwicklerspezifische Anweisungen, und der Konversationsverlauf enthält historische Benutzereingaben und Modellantworten, die möglicherweise bereits anhand von Leitplanken ausgewertet wurden. In einem solchen Szenario möchten Sie möglicherweise nur die aktuellen Benutzereingaben auswerten.

Durch die Verwendung von Eingabe-Tags können Sie besser kontrollieren, welche Teile der Eingabeaufforderung mithilfe von Leitplanken verarbeitet und ausgewertet werden sollen. So können Sie sicherstellen, dass Ihre Sicherheitsvorkehrungen auf Ihre Anwendungsfälle zugeschnitten sind. Dies trägt auch dazu bei, die Leistung zu verbessern und die Kosten zu senken, da Sie die Flexibilität haben, anstelle der gesamten Eingabeaufforderung einen relativ kürzeren und relevanteren Abschnitt der Eingabe auszuwerten.

Tag-Inhalte für Guardrails

Verwenden Sie das XML-Tag, das eine Kombination aus einem reservierten Präfix und einem benutzerdefinierten Präfix ist, um Inhalte für Leitplanken zu kennzeichnen, die verarbeitet werden sollen. tagSuffix Beispielsweise:

{ "inputText": """ You are a helpful assistant. Here is some information about my account: - There are 10,543 objects in an S3 bucket. - There are no active EC2 instances. Based on the above, answer the following question: Question: <amazon-bedrock-guardrails-guardContent_xyz> How many objects do I have in my S3 bucket? </amazon-bedrock-guardrails-guardContent_xyz> ... Here are other user queries: <amazon-bedrock-guardrails-guardContent_xyz> How do I download files from my S3 bucket? </amazon-bedrock-guardrails-guardContent_xyz> """, "amazon-bedrock-guardrailConfig": { "tagSuffix": "xyz" } }

Im vorherigen Beispiel der Inhalt `Wie viele Objekte habe ich in meinem S3-Bucket? `und "„Wie lade ich Dateien aus meinem S3-Bucket herunter? “ ist mit dem Tag für die Verarbeitung von Leitplanken markiert. <amazon-bedrock-guardrails-guardContent_xyz> Beachten Sie, dass das Präfix für Leitplanken reserviert amazon-bedrock-guardrails-guardContent ist.

Tag-Suffix

Das Tag-Suffix (xyzim vorherigen Beispiel) ist ein dynamischer Wert, den Sie in das tagSuffix Feld eingeben müssen, um das Eingabe-Tagging verwenden amazon-bedrock-guardrailConfig zu können. Dadurch können potenzielle Prompt-Injection-Angriffe abgewehrt werden, da die Tag-Struktur unvorhersehbar wird. Ein statisches Tag kann dazu führen, dass ein böswilliger Benutzer das XML-Tag schließt und nach dem Schließen des Tags schädliche Inhalte anhängt, was zu einem Injektionsangriff führen kann. Sie sind auf alphanumerische Zeichen mit einer Länge zwischen 1 und 20 Zeichen (einschließlich) beschränkt. Beim Beispielsuffix xyz müssen Sie den gesamten zu schützenden Inhalt mithilfe der XML-Tags mit Ihrem Suffix:<amazon-bedrock-guardrails-guardContent_xyz>. und Ihrem Inhalt einschließen. </amazon-bedrock-guardrails-guardContent_xyz> Wir empfehlen, UUID für jede Anfrage ein dynamisches Zeichen als Tag-Suffix zu verwenden

Mehrere Tags

Sie können dieselbe Tag-Struktur mehrfach im Eingabetext verwenden, um verschiedene Teile des Inhalts für die Verarbeitung von Leitplanken zu markieren. Die Verschachtelung von Tags ist nicht zulässig.

Inhalt ohne Tags

Inhalte außerhalb der Eingabe-Tags werden nicht von Guardrails verarbeitet. Auf diese Weise können Sie Anweisungen, Beispielkonversationen, Wissensdatenbanken oder andere Inhalte hinzufügen, die Sie für sicher halten und die nicht von Guardrails verarbeitet werden sollen. Wenn die Eingabeaufforderung keine Tags enthält, wird die gesamte Eingabeaufforderung von Guardrails verarbeitet. Die einzige Ausnahme bilden Sofortige Angriffe Filter, für die Eingabe-Tags vorhanden sein müssen.

Sie können das Eingabe-Tagging im Testbereich für Ihre Leitplanke ausprobieren, indem Sie die folgenden Schritte ausführen:

  1. Navigieren Sie zum Testbereich für Ihre Leitplanke (diese Methode wird für die Text- oder Chat-Spielfelder nicht unterstützt, sondern nur für den Testbereich der Leitplanken).

  2. Verwenden Sie das Standard-Suffix für das Playground-Eingabe-Tag. playground

VIOLENT STATEMENT: I think I could fight a grizzly bear. <amazon-bedrock-guardrails-guardContent_playground BENIGN INPUT: How's the weather? </amazon-bedrock-guardrails-guardContent_playground

Ihre Leitplanke wird nur auf den Inhalt zwischen den Eingabe-Tags angewendet.