ガードレールのテスト - Amazon Bedrock

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

ガードレールのテスト

ガードレールを作成すると、作業ドラフト (DRAFT) バージョンが使用可能になります。作業中のドラフトはガードレールのバージョンであり、ユースケースに適した設定になるまで継続的に編集して反復できます。作業中のドラフトやその他のバージョンのガードレールをテストして、設定がユースケースに適しているかどうかを確認できます。作業中のドラフトの設定を編集し、さまざまなプロンプトをテストして、ガードレールがプロンプトまたはレスポンスをどの程度評価およびインターセプトしているかを確認します。設定に満足したら、ガードレールのバージョンを作成できます。ガードレールは、バージョンの作成時に作業ドラフトの設定のスナップショットとして機能します。バージョンを使用すると、ガードレールを変更するたびに、本番アプリケーションへのガードレールのデプロイを効率化できます。作業中のドラフトまたは作成された新しいバージョンへの変更は、アプリケーションで新しいバージョンを具体的に使用するまで生成 AI アプリケーションに反映されません。

Console
ガードレールをテストするには
  1. Amazon Bedrock のアクセス許可を持つ IAM ロール AWS Management Console を使用して にサインインし、https://console.aws.amazon.com/bedrock/ で Amazon Bedrock コンソールを開きます。 Amazon Bedrock の開始方法

  2. 左側のナビゲーションペインからガードレールを選択します。次に、ガードレールセクションでガードレールを選択します。

  3. 右側にテストウィンドウが表示されます。テストウィンドウには次のオプションがあります。

    1. デフォルトでは、テストウィンドウでガードレールの作業ドラフトが使用されます。ガードレールの別のバージョンをテストするには、テストウィンドウの上部にあるドラフトの使用を選択し、バージョンを選択します。

    2. モデルを選択するには、モデルを選択 を選択します。選択したら、適用 を選択します。モデルを変更するには、変更 を選択します。

    3. プロンプトボックスにプロンプトを入力します。

    4. モデルレスポンスを引き出すには、実行 を選択します。

    5. モデルは、最終応答ボックス (ガードレールによって変更される可能性がある) に応答を返します。ガードレールがプロンプトまたはモデルのレスポンスをブロックまたはフィルタリングすると、ガードレールチェックの下に、ガードレールが検出した違反の数を通知するメッセージが表示されます。

    6. 認識され、フィルターを通過して許可またはブロックされたプロンプトまたはレスポンス内のトピックまたは有害なカテゴリを表示するには、トレースの表示 を選択します。

    7. プロンプトモデルのレスポンスタブを使用して、ガードレールによってフィルタリングまたはブロックされたトピックまたは有害なカテゴリを表示します。

テキストプレイグラウンド でガードレールをテストすることもできます。プロンプトをテストする前に、設定ペインでプレイグラウンドを選択し、ガードレールを選択します。

API

モデル呼び出しでガードレールを使用するには、 InvokeModelまたは InvokeModelWithResponseStreamリクエストを送信します。または、会話型アプリケーションを構築する場合は、Converse API を使用できます。

リクエスト形式

ストリーミングの有無にかかわらず、モデルを呼び出すためのリクエストエンドポイントは次のとおりです。modelId を、使用するモデルの ID に置き換えます。

  • InvokeModel – POST /model/modelId/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

さまざまなモデルのリクエストボディを確認するには、「」を参照してください基盤モデルの推論パラメータ

注記

Cohere Command モデルの場合、ガードレールを使用する場合、 num_generationsフィールドで指定できる世代は 1 つだけです。

ガードレールとそのトレースを有効にする場合、ストリーミングの有無にかかわらず、モデルを呼び出すためのレスポンスの一般的な形式は次のとおりです。各モデルの残りの の形式を確認するには、body「」を参照してください基盤モデルの推論パラメータ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", "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" } ] } } }, "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", "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" } ] } } }, "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「」フィールドを参照してください。