翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ユーザー入力にタグを適用してコンテンツをフィルタリングする
入力タグを使用すると、ガードレールで処理する入力テキスト内の特定のコンテンツをマークできます。これは、入力の特定の部分にガードレールを適用し、他の部分を未処理のままにする場合に便利です。
例えば、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" } }
前の例では、コンテンツS3 バケットにはいくつのオブジェクトがありますか?」とS3 バケットからファイルをダウンロードする方法を教えてください。」 は、タグ を使用してガードレール処理用にタグ付けされます<amazon-bedrock-guardrails-guardContent_xyz>
。プレフィックスamazon-bedrock-guardrails-guardContent
はガードレールによって予約されていることに注意してください。
タグサフィックス
タグサフィックス (xyz
前の例の) は、入力タグ付けamazon-bedrock-guardrailConfig
を使用するには の tagSuffix
フィールドで指定する必要がある動的な値です。リクエストtagSuffix
ごとに、新しいランダムな文字列を として使用することをお勧めします。これにより、タグ構造を予測不能にすることで、潜在的なプロンプトインジェクション攻撃を軽減できます。静的タグを使用すると、悪意のあるユーザーがXMLタグを閉じ、タグを閉じた後に悪意のあるコンテンツを追加し、インジェクション攻撃 が発生する可能性があります。1~20 文字の長さの英数字に制限されています。サフィックス の例ではxyz
、サフィックス とコンテンツ のXMLタグを使用して、保護するすべての<amazon-bedrock-guardrails-guardContent_xyz>
コンテンツを囲む必要があります</amazon-bedrock-guardrails-guardContent_xyz>
。リクエストUUID
ごとに動的 をタグサフィックスとして使用することをお勧めします。
複数のタグ
入力テキストで同じタグ構造を複数回使用して、コンテンツのさまざまな部分をガードレール処理用にマークできます。タグのネストは許可されていません。
タグなしコンテンツ
入力タグ以外のコンテンツはガードレールによって処理されません。これにより、安全と見なされ、ガードレールで処理されたくない指示、会話例、ナレッジベース、またはその他のコンテンツを含めることができます。入力プロンプトにタグがない場合、完全なプロンプトはガードレールによって処理されます。唯一の例外は、入力タグが存在する必要がある迅速な攻撃フィルターです。
以下の手順に従って、ガードレールのテストペインで入力タグ付けを試すことができます。
-
ガードレールのテストペインに移動する (この方法はテキストまたはチャットのプレイグラウンドではサポートされず、ガードレールのテストペインのみ)。
-
デフォルトのプレイグラウンド入力タグサフィックス を使用します
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
ガードレールは、入力タグ間のコンテンツでのみ実行されます。