本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
用标签标记用户输入以筛选内容
输入标签让您能够在输入文本中标记出需要由防护机制处理的特定内容。当您想对输入的某些部分应用防护机制而不处理其他部分时,输入标签非常有用。
例如,RAG应用程序中的输入提示可能包含系统提示、来自可信文档来源的搜索结果以及用户查询。由于系统提示由开发人员提供,并且搜索结果来自可信来源,因此您可能只需要对用户查询进行防护机制评估。
再比如,对话应用程序中的输入提示可能包含系统提示、对话历史记录和当前用户输入。系统提示是开发人员设定的指令,对话历史记录包含历史用户输入和模型响应,这些内容可能已经过防护机制评估。在这种情况下,您可能只需要评估当前用户输入。
通过使用输入标签,您可以更好地控制输入提示的哪些部分应由防护机制处理和评估,从而确保根据您的应用场景定制保护措施。这还有助于提高性能和降低成本,因为您可以灵活地评估输入中相对较短且相关的部分,而不是整个输入提示。
标记内容以供防护机制处理
要标记内容以供护栏处理,请使用由保留前缀和自定义前缀组合而成的XML标签。tagSuffix
例如:
{ "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" } }
在前面的示例中,内容 `How many objects do I have in my S3 bucket?` 和 "How do I download files from my S3 bucket?" 经过标记(使用标签 <amazon-bedrock-guardrails-guardContent_xyz>
),以供防护机制处理。请注意,前缀 amazon-bedrock-guardrails-guardContent
是防护机制预留的。
标签后缀
标签后缀(前面的示例中的 xyz
)是一个动态值,您必须在 amazon-bedrock-guardrailConfig
的 tagSuffix
字段中提供该值才能使用输入标签。建议每次请求使用新的随机字符串作为 tagSuffix
。通过使标签结构不可预测,这有助于缓解潜在的提示注入攻击。静态标签可能导致恶意用户在XML标签关闭后关闭标签并附加恶意内容,从而导致注入攻击。您只能使用字母数字字符,长度为 1 到 20 个字符(含)。使用示例后缀xyz
,您必须使用带有后缀:<amazon-bedrock-guardrails-guardContent_xyz>
. 的XML标签以及您的内容来封装所有需要保护的内容。</amazon-bedrock-guardrails-guardContent_xyz>
建议您为每个请求使用动态 UUID
作为标签后缀。
多个标签
您可以在输入文本中多次使用相同的标签结构来标记内容的不同部分,以供防护机制处理。标签不能相互嵌套。
未被标记的内容
输入标签之外的任何内容都不会被防护机制处理。这让您能够添加指令、示例对话、知识库或您认为安全且不想被防护机制处理的其他内容。如果输入提示中没有标签,防护机制会处理整个提示。唯一的例外是 提示攻击 筛选条件,它要求输入中必须包含标签。
您可以按照以下步骤,在防护机制的测试窗格中尝试输入标签:
-
导航到护栏的测试窗格(Amazon Bedrock 文字或聊天游乐场不支持此方法,只有护栏测试窗格不支持此方法)。
-
使用默认的测试环境输入标签后缀
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>
您的防护机制只会对位于输入标签之间的内容进行处理。