翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ガードレールをテストする
ガードレールを作成すると、作業中のドラフト (DRAFT
) バージョンを利用できるようになります。作業中のドラフトとは、ガードレールの 1 つのバージョンであり、ユースケースに適した設定に仕上がるまで編集と反復作業を続けることができます。ガードレールの作業中のドラフトやその他のバージョンをテストして、その設定内容がユースケースに適しているかどうかを確認することができます。作業中のドラフトの設定を編集し、さまざまなプロンプトをテストして、ガードレールがプロンプトやレスポンスをどの程度適切に評価し、遮断しているかを確認します。
設定に満足したら、ガードレールのバージョンを作成できます。このバージョンは、作成時点における作業中のドラフトの設定のスナップショットとして機能します。バージョンを使用することで、ガードレールを変更するたびに、本番アプリケーションに効率的にデプロイできます。作業中のドラフトを変更した場合や新しいバージョンを作成した場合、その新しいバージョンをアプリケーションで明示的に使用しない限り、生成 AI アプリケーションには反映されません。
- Console
-
ガードレールが有害なコンテンツを遮断しているかどうかをテストするには
-
IAM Amazon Bedrock のアクセス許可を持つ ロール AWS Management Console を使用して にサインインし、 で Amazon Bedrock コンソールを開きますhttps://console.aws.amazon.com/bedrock/
。 -
左側のナビゲーションペインから [ガードレール] を選択します。次に、[ガードレール] セクションでガードレールを選択します。
-
右側にテストウィンドウが表示されます。テストウィンドウには、次のオプションがあります。
-
デフォルトでは、ガードレールの作業中のドラフトがテストウィンドウで使用されます。ガードレールの別のバージョンをテストするには、テストウィンドウの上部で [作業中のドラフト] を選択し、バージョンを選択します。
-
モデルを選択するには、[モデルを選択] を選択します。選択したら、[適用] を選択します。モデルを変更するには、[変更] を選択します。
-
[プロンプト] ボックスにプロンプトを入力します。
-
モデルレスポンスを引き出すには、[実行] を選択します。
-
モデルからレスポンスが返され、[最終応答] ボックスに表示されます (最終レスポンスには、ガードレールによる変更が適宜加えられます)。ガードレールがプロンプトまたはモデルレスポンスをブロックまたはフィルタリングした場合は、ガードレールで検出された違反の数を知らせるメッセージが [ガードレールチェック] の下に表示されます。
-
プロンプトまたはレスポンスの中で認識されたトピックや有害カテゴリのうち、どれがフィルターを通過 (合格) し、どれがブロックされたかを確認するには、[トレースを表示] を選択します。
-
[プロンプト] タブと [モデルレスポンス] タブを使用して、ガードレールでフィルタリングまたはブロックされたトピックや有害なカテゴリを表示します。
-
[テキストのプレイグラウンド] でガードレールをテストすることもできます。プレイグラウンドを選択し、プロンプトをテストする前に [設定] ペインで [ガードレール] を選択してください。
-
- API
-
モデル呼び出しでガードレールを使用するには、 InvokeModelまたは InvokeModelWithResponseStreamリクエストを送信します。または、会話型アプリケーションを構築する場合は、 Converse API.
リクエストの形式
モデルを呼び出すためのリクエストエンドポイント (ストリーミングありの場合となしの場合) は、次のとおりです。を、使用するモデルの ID
modelId
に置き換えます。-
InvokeModel
– POST /model/modelId
/invoke HTTP/1.1 -
InvokeModelWithResponseStream
– POST /model/modelId
invoke-with-response-stream HTTP/1.1
両方のAPIオペレーションの ヘッダーは、次の形式です。
Accept:
accept
Content-Type:contentType
X-Amzn-Bedrock-Trace:trace
X-Amzn-Bedrock-GuardrailIdentifier:guardrailIdentifier
X-Amzn-Bedrock-GuardrailVersion:guardrailVersion
パラメータについて、以下に説明します。
-
レスポンスの推論本文MIMEのタイプ
Accept
に設定します。デフォルト値はapplication/json
です。 -
リクエストの入力データのMIMEタイプ
Content-Type
に設定します。デフォルト値はapplication/json
です。 -
X-Amzn-Bedrock-Trace
をENABLED
に設定すると、トレースが有効になり、ガードレールによってブロックされたコンテンツとその理由などを確認できます。 -
X-Amzn-Bedrock-GuardrailIdentifier
には、リクエストとモデルレスポンスに適用するガードレールの識別子を指定します。 -
X-Amzn-Bedrock-GuardrailVersion
には、リクエストとモデルレスポンスに適用するガードレールのバージョンを指定します。
一般的なリクエスト本文の形式は、次の例のとおりです。
tagSuffix
プロパティは、入力のタグ付けにのみ使用されます。streamProcessingMode
を使用して、ガードレールでストリーミングを同期処理にするか非同期処理にするかを設定することもできます。これは、InvokeModelWithResponseStream
でのみ使用できます。{
<see model details>
, "amazon-bedrock-guardrailConfig": { "tagSuffix": "string
", "streamProcessingMode": "SYNCHRONOUS" | "ASYNCHRONOUS
" } }警告
次の状況下では、エラーが発生します。
-
ガードレールを有効にしたのに、リクエスト本文に
amazon-bedrock-guardrailConfig
フィールドがない。 -
ガードレールを無効にしたのに、リクエスト本文に
amazon-bedrock-guardrailConfig
フィールドを指定した。 -
ガードレールを有効にしたのに、
contentType
がapplication/json
ではない。
さまざまなモデルのリクエスト本文を確認するには、「Inference request parameters and response fields for foundation models」を参照してください。
注記
[ Cohere Command モデルでは、ガードレールを使用する場合、
num_generations
フィールドで指定できる世代は 1 つだけです。ガードレールとそのトレースを有効にする場合、モデル呼び出しの一般的なレスポンスの形式 (ストリーミングありの場合となしの場合) は、次のとおりです。各モデルの
body
の他の部分の形式を確認するには、「Inference request parameters and response fields for foundation models」を参照してください。は、リクエストで指定したものcontentType
と一致します。-
InvokeModel
HTTP/1.1 200 Content-Type: contentType { <see model details for model-specific fields>, "completion": "<model response>", "amazon-bedrock-guardrailAction": "INTERVENED | NONE", "amazon-bedrock-trace": { "guardrail": { "modelOutput": [ "<see model details for model-specific fields>" ], "input": { "
sample-guardrailId
": { "topicPolicy": { "topics": [ { "name": "string", "type": "string", "action": "string" } ] }, "contentPolicy": { "filters": [ { "type": "string", "confidence": "string", "filterStrength": "string", "action": "string" } ] }, "wordPolicy": { "customWords": [ { "match": "string", "action": "string" } ], "managedWordLists": [ { "match": "string", "type": "string", "action": "string" } ] }, "sensitiveInformationPolicy": { "piiEntities": [ { "type": "string", "match": "string", "action": "string" } ], "regexes": [ { "name": "string", "regex": "string", "match": "string", "action": "string" } ] }, "invocationMetrics": { "guardrailProcessingLatency": "integer", "usage": { "topicPolicyUnits": "integer", "contentPolicyUnits": "integer", "wordPolicyUnits": "integer", "sensitiveInformationPolicyUnits": "integer", "sensitiveInformationPolicyFreeUnits": "integer", "contextualGroundingPolicyUnits": "integer" }, "guardrailCoverage": { "textCharacters": { "guarded": "integer", "total": "integer" } } } } }, "outputs": ["same guardrail trace format as input
"] } } } -
InvokeModelWithResponseStream
– 各レスポンスは、bytes
フィールドにテキストを含むchunk
を返します。例外が発生した場合は、それらの例外も併せて返されます。ガードレールトレースは、最後のチャンクにのみ返されます。HTTP/1.1 200 X-Amzn-Bedrock-Content-Type:
contentType
Content-type: application/json { "chunk": { "bytes": "<blob>" }, "internalServerException": {}, "modelStreamErrorException": {}, "throttlingException": {}, "validationException": {}, "amazon-bedrock-guardrailAction": "INTERVENED | NONE", "amazon-bedrock-trace": { "guardrail": { "modelOutput": ["<see model details for model-specific fields>"], "input": { "sample-guardrailId
": { "topicPolicy": { "topics": [ { "name": "string", "type": "string", "action": "string" } ] }, "contentPolicy": { "filters": [ { "type": "string", "confidence": "string", "filterStrength": "string", "action": "string" } ] }, "wordPolicy": { "customWords": [ { "match": "string", "action": "string" } ], "managedWordLists": [ { "match": "string", "type": "string", "action": "string" } ] }, "sensitiveInformationPolicy": { "piiEntities": [ { "type": "string", "match": "string", "action": "string" } ], "regexes": [ { "name": "string", "regex": "string", "match": "string", "action": "string" } ] }, "invocationMetrics": { "guardrailProcessingLatency": "integer", "usage": { "topicPolicyUnits": "integer", "contentPolicyUnits": "integer", "wordPolicyUnits": "integer", "sensitiveInformationPolicyUnits": "integer", "sensitiveInformationPolicyFreeUnits": "integer", "contextualGroundingPolicyUnits": "integer" }, "guardrailCoverage": { "textCharacters": { "guarded": "integer", "total": "integer" } } } } }, "outputs": ["same guardrail trace format as input
"] } } }
ガードレールを有効にした場合、レスポンスで次のフィールドが返されます。
-
amazon-bedrock-guardrailAction
– ガードレールがINTERVENED
かそうでない (NONE
) かを指定します。 -
amazon-bedrock-trace
– トレースを有効にした場合にのみ表示されます。トレースのリストが含まれています。各トレースは、ガードレールがブロックしたコンテンツに関する情報を提供します。トレースには、次のフィールドが含まれています。-
modelOutput
– モデルからの出力のうち、ブロックされた出力を含むオブジェクト。 -
input
– ガードレールによるプロンプトの評価に関して、次の詳細が含まれています。-
topicPolicy
–topics
(違反となった各トピックポリシーの評価のリスト) が含まれています。各トピックには、次のフィールドが含まれています。-
name
– トピックポリシーの名前。 -
type
– トピックを拒否するかどうかを指定します。 -
action
– トピックがブロックされたことを指定します。
-
-
contentPolicy
–filters
(違反となった各コンテンツフィルターの評価のリスト) が含まれています。各フィルターには、次のフィールドが含まれています。-
type
– コンテンツフィルターのカテゴリ。 -
confidence
– 出力が有害カテゴリに分類される可能性を示す信頼度。 -
action
– コンテンツがブロックされたことを指定します。この結果は、ガードレールに設定されているフィルターの強度によって異なります。
-
-
wordPolicy
– フィルタリングされたカスタム単語とマネージド単語のコレクションと、それらの単語に対する評価が含まれています。各リストには、次のフィールドが含まれています。-
customWords
– フィルターに一致したカスタム単語のリスト。-
match
– フィルターに一致した単語またはフレーズ。 -
action
– 単語がブロックされたことを指定します。
-
-
managedWordLists
– フィルターに一致したマネージド単語のリスト。-
match
– フィルターに一致した単語またはフレーズ。 -
type
– フィルターに一致したマネージド単語のタイプを指定します。例えば、冒涜的な表現フィルターと一致した場合はPROFANITY
です。 -
action
– 単語がブロックされたことを指定します。
-
-
-
sensitiveInformationPolicy
– 以下のオブジェクトが含まれます。このオブジェクトには、違反した個人を特定できる情報 (PII) と正規表現フィルターの評価が含まれています。-
piiEntities
– 違反した各PIIフィルターの評価のリスト。各フィルターには、次のフィールドが含まれています。-
type
- 見つかったPIIタイプ。 -
match
– フィルターに一致した単語またはフレーズ。 -
action
– 単語がブロックされたか (BLOCKED
)、識別子で置き換えられたか (ANONYMIZED
) を指定します。
-
-
regexes
– 違反となった各正規表現フィルターの評価のリスト。各フィルターには、次のフィールドが含まれています。-
name
– 正規表現フィルターの名前。 -
regex
- 見つかったPIIタイプ。 -
match
– フィルターに一致した単語またはフレーズ。 -
action
– 単語がブロックされたか (BLOCKED
)、識別子で置き換えられたか (ANONYMIZED
) を指定します。
-
-
-
-
outputs
– ガードレールによるモデルレスポンスの評価に関する詳細のリスト。リスト内の各項目は、input
オブジェクトの形式に一致するオブジェクトです。詳細については、input
フィールドを参照してください。
-
-