Appliquer des balises aux entrées utilisateur pour filtrer le contenu - Amazon Bedrock

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Appliquer des balises aux entrées utilisateur pour filtrer le contenu

Les balises de saisie vous permettent de marquer du contenu spécifique dans le texte saisi que vous souhaitez traiter par des glissières de sécurité. Cela est utile lorsque vous souhaitez appliquer des glissières de sécurité à certaines parties de l'entrée, tout en laissant d'autres parties non traitées.

Par exemple, l'invite de saisie dans RAG les applications peut contenir des instructions système, des résultats de recherche provenant de sources de documentation fiables et des requêtes d'utilisateurs. Comme les instructions système sont fournies par le développeur et que les résultats de recherche proviennent de sources fiables, il se peut que vous n'ayez besoin de l'évaluation des garde-fous que pour les requêtes des utilisateurs.

Dans un autre exemple, l'invite de saisie dans les applications conversationnelles peut contenir des instructions système, l'historique des conversations et les entrées actuelles de l'utilisateur. Les instructions du système sont des instructions spécifiques aux développeurs, et l'historique des conversations contient l'historique des entrées des utilisateurs et des modèles de réponses qui ont peut-être déjà été évalués par des garde-fous. Dans un tel scénario, vous souhaiterez peut-être uniquement évaluer les entrées actuelles de l'utilisateur.

En utilisant des balises de saisie, vous pouvez mieux contrôler les parties de l'invite de saisie qui doivent être traitées et évaluées par des garde-fous, en veillant à ce que vos mesures de protection soient adaptées à vos cas d'utilisation. Cela contribue également à améliorer les performances et à réduire les coûts, car vous avez la possibilité d'évaluer une section relativement courte et pertinente de l'entrée, plutôt que l'intégralité de l'invite de saisie.

Contenu du tag pour garde-corps

Pour baliser le contenu à traiter par les garde-corps, utilisez la XML balise qui est une combinaison d'un préfixe réservé et d'un préfixe personnalisé. tagSuffix Par exemple :

{ "text": """ 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" } }

Dans l'exemple précédent, le contenu « Combien d'objets ai-je dans mon compartiment S3 ? `et "« Comment télécharger des fichiers depuis mon compartiment S3 ? « est étiqueté pour le traitement des garde-corps à l'aide de l'étiquette. <amazon-bedrock-guardrails-guardContent_xyz> Notez que le préfixe amazon-bedrock-guardrails-guardContent est réservé par des glissières de sécurité.

Suffixe de balise

Le suffixe de balise (xyzdans l'exemple précédent) est une valeur dynamique que vous devez fournir dans le tagSuffix champ amazon-bedrock-guardrailConfig pour utiliser le balisage d'entrée. Il est recommandé d'utiliser une nouvelle chaîne aléatoire tagSuffix pour chaque demande. Cela permet d'atténuer les attaques par injection rapide potentielles en rendant la structure des balises imprévisible. Une balise statique peut entraîner la fermeture de la XML balise par un utilisateur malveillant et l'ajout de contenu malveillant après la fermeture de la balise, ce qui entraîne une attaque par injection. Vous êtes limité aux caractères alphanumériques d'une longueur comprise entre 1 et 20 caractères inclus. Avec le suffixe d'exemplexyz, vous devez inclure tout le contenu à protéger à l'aide des XML balises avec votre suffixe :<amazon-bedrock-guardrails-guardContent_xyz>. et votre contenu. </amazon-bedrock-guardrails-guardContent_xyz> Nous recommandons d'utiliser une dynamique UUID pour chaque requête en tant que suffixe de balise

Balises multiples

Vous pouvez utiliser la même structure de balises plusieurs fois dans le texte d'entrée pour marquer différentes parties du contenu en vue du traitement des garde-corps. L'imbrication de balises n'est pas autorisée.

Contenu non balisé

Tout contenu en dehors des balises de saisie ne sera pas traité par des barrières de sécurité. Cela vous permet d'inclure des instructions, des exemples de conversations, des bases de connaissances ou tout autre contenu que vous jugez sûr et que vous ne souhaitez pas traiter par des garde-fous. S'il n'y a aucune balise dans l'invite de saisie, l'invite complète sera traitée par des garde-fous. La seule exception concerne Attaques rapides les filtres qui nécessitent la présence de balises d'entrée.

Vous pouvez essayer le balisage des entrées dans le volet de test de votre garde-corps en procédant comme suit :

  1. Accédez au volet de test de votre rambarde (cette méthode n'est pas prise en charge pour les zones de texte ou de chat, uniquement pour le volet de test des rambardes).

  2. Utilisez le suffixe playground de balise d'entrée Playground par défaut.

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

Votre garde-corps ne sera exécuté que sur le contenu situé entre les balises d'entrée.