Évaluez de manière sélective les entrées des utilisateurs à l'aide de balises à l'aide de Guardrails - 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.

Évaluez de manière sélective les entrées des utilisateurs à l'aide de balises à l'aide de Guardrails

Les balises de saisie vous permettent de marquer un contenu spécifique dans le texte saisi que vous souhaitez traiter par Guardrails. Cela est utile lorsque vous souhaitez appliquer des garde-corps à certaines parties de l'entrée, tout en laissant d'autres parties non traitées.

Par exemple, l'invite de saisie dans les applications RAG 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 de Guardrails 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 utilisateur et des réponses modèles qui ont peut-être déjà été évaluées par Guardrails. 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 Guardrails, 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 Guardrails

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

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

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 marqué pour le traitement des garde-corps à l'aide du tag. <amazon-bedrock-guardrails-guardContent_xyz> Notez que le préfixe amazon-bedrock-guardrails-guardContent est réservé par Guardrails.

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. Cela permet d'atténuer les attaques par injection rapide potentielles en rendant la structure des balises imprévisible. Une balise statique peut amener un utilisateur malveillant à fermer la balise XML et à y ajouter du 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 balises XML 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 pour le traitement de Guardrails. L'imbrication de balises n'est pas autorisée.

Contenu non balisé

Tout contenu en dehors des balises d'entrée ne sera pas traité par Guardrails. 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 voir traité par Guardrails. S'il n'y a aucune balise dans l'invite de saisie, l'invite complète sera traitée par Guardrails. La seule exception concerne Attaques rapides les filtres qui nécessitent la présence de balises d'entrée.