ガードレールを使用してタグ付きのユーザー入力を選択的に評価する - Amazon Bedrock

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ガードレールを使用してタグ付きのユーザー入力を選択的に評価する

入力タグを使用すると、Guardrails で処理する入力テキスト内の特定のコンテンツをマークできます。これは、入力の特定の部分にガードレールを適用し、他の部分を未処理のままにする場合に便利です。

例えば、RAG アプリケーションの入力プロンプトには、システムプロンプト、信頼できるドキュメントソースからの検索結果、およびユーザークエリが含まれる場合があります。システムプロンプトはデベロッパーから提供され、検索結果は信頼できるソースからのものであるため、ユーザークエリでのみ Guardrails の評価が必要になる場合があります。

別の例では、会話アプリケーションの入力プロンプトに、システムプロンプト、会話履歴、現在のユーザー入力が含まれている場合があります。システムプロンプトはデベロッパー固有の指示であり、会話履歴には、Guardrails によって既に評価されている可能性のあるユーザー入力とモデルの応答の履歴が含まれます。このようなシナリオでは、現在のユーザー入力のみを評価することをお勧めします。

入力タグを使用すると、入力プロンプトのどの部分を Guardrails で処理および評価するかをより適切に制御できるため、安全策がユースケースに合わせてカスタマイズされます。また、入力プロンプト全体ではなく、入力の比較的短く関連性の高いセクションを柔軟に評価できるため、パフォーマンスの向上とコストの削減にも役立ちます。

ガードレールのタグ付けコンテンツ

Guardrails が処理するコンテンツにタグを付けるには、予約済みプレフィックスとカスタム を組み合わせた XML タグを使用しますtagSuffix。例:

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

前の例では、コンテンツS3 バケットにはいくつのオブジェクトがありますか?」とS3 バケットからファイルをダウンロードする方法を教えてください。」 は、タグ を使用してガードレール処理用にタグ付けされます<amazon-bedrock-guardrails-guardContent_xyz>。プレフィックスamazon-bedrock-guardrails-guardContentは Guardrails によって予約されていることに注意してください。

タグサフィックス

タグサフィックス (xyz前の例の) は、入力タグ付けamazon-bedrock-guardrailConfigを使用するには の tagSuffix フィールドで指定する必要がある動的な値です。これにより、タグ構造を予測不能にすることで、潜在的なプロンプトインジェクション攻撃を軽減できます。静的タグを使用すると、悪意のあるユーザーが xml タグを閉じ、タグを閉じた後に悪意のあるコンテンツを追加し、インジェクション攻撃 が発生する可能性があります。1~20 文字の英数字に制限されています。サフィックス の例ではxyz、サフィックス とコンテンツ で xml タグを使用して、保護するすべての<amazon-bedrock-guardrails-guardContent_xyz>コンテンツを囲む必要があります</amazon-bedrock-guardrails-guardContent_xyz>。リクエストUUIDごとに動的 をタグサフィックスとして使用することをお勧めします。

複数のタグ

入力テキストで同じタグ構造を複数回使用して、コンテンツのさまざまな部分を Guardrails 処理用にマークできます。タグのネストは許可されていません。

タグなしコンテンツ

入力タグ以外のコンテンツは Guardrails によって処理されません。これにより、安全と見なされ、Guardrail で処理されたくない指示、会話例、ナレッジベース、またはその他のコンテンツを含めることができます。入力プロンプトにタグがない場合、完全なプロンプトは Guardrails によって処理されます。唯一の例外は、入力タグが存在する必要がある迅速な攻撃フィルターです。