拒否トピックをブロックして有害コンテンツの除去に役立てる - Amazon Bedrock

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

拒否トピックをブロックして有害コンテンツの除去に役立てる

生成 AI アプリケーションのコンテキストでは望ましくない、拒否トピックセットをガードレールで指定できます。例えば、銀行は AI アシスタントに投資アドバイスや暗号通貨に関する会話を避けさせたいと考えるかもしれません。

自然言語のモデルプロンプトとレスポンス、および標準階層のコード関連のコンテンツは、ガードレールの各拒否トピックに対して評価されます。拒否トピックのいずれかが検出されると、ガードレールはブロックメッセージを返します。

次のパラメータを使用して拒否トピックを作成します。ガードレールはこれを使用して、プロンプトまたは応答がそのトピックに属しているかどうかを検出します。

  • 名前 – トピックの名前。名前は名詞またはフレーズで指定してください。名前でトピックについて説明しないでください。例えば、次のようになります。

    • Investment Advice

  • 定義 – 最大 200 文字でまとめたトピックの内容。トピックの内容とそのサブトピックについて説明してください。

    例えば、次のようなトピック定義を指定できます。

    Investment advice is inquiries, guidance, or recommendations about the management or allocation of funds or assets with the goal of generating returns or achieving specific financial objectives.

  • サンプルフレーズ (オプション) – トピックに言及したフレーズ例を最大 5 つまとめたリスト。各フレーズの最大長は 100 文字です。サンプルは、除外対象とするコンテンツの種類を示すプロンプトまたはその続きです。例えば、次のようになります。

    • Is investing in the stocks better than bonds?

    • Should I invest in gold?

拒否トピックを作成するためのベストプラクティス

  • トピックは簡潔かつ正確に定義します。明確で一義的にトピックを定義することで、トピックの検出精度が向上します。例えば、暗号通貨に関する質問や記述を検出するトピックは、Question or information associated with investing, selling, transacting, or procuring cryptocurrencies として定義できます。

  • トピックの定義には例や指示を含めないでください。例えば、Block all contents associated to cryptocurrency は指示内容であり、トピックの定義ではありません。このような指示は、トピック定義に含めないでください。

  • 否定的なトピックや例外を定義しないでください。例えば、All contents except medical information または Contents not containing medical information は、トピックを否定的に定義しています。こうした表現は使用しないでください。

  • 拒否トピックは、特定のエンティティや単語を検出する目的では使用しないでください。例えば、Statement or questions containing the name of a person "X"Statements with a competitor name Y です。トピック定義では、テーマや主題を表します。ガードレールは入力内容を文脈に応じて評価します。トピックのフィルタリングは、個々の単語やエンティティの種類を検出する目的では使いません。これらのユースケースの詳細については、「機密情報フィルターを使用して会話から PII を削除する」または「ワードフィルターを使用して特定の単語やフレーズを会話から削除する」を参照してください。

拒否トピックをガードレールに追加する

AWS マネジメントコンソールまたは Amazon Bedrock API を使用して、最大 30 個の拒否されたトピックをガードレールに追加できます。

Console
  1. Amazon Bedrock コンソールを使用するアクセス許可を持つ IAM ID AWS マネジメントコンソールを使用して にサインインします。Amazon Bedrock コンソール (https://console.aws.amazon.com/bedrock) を開きます。

  2. 左側のナビゲーションペインで [ガードレール] を選択し、次に [ガードレールを作成] を選択します。

  3. [ガードレールの詳細を提供] ページで、次の操作を行います。

    1. [ガードレールの詳細] セクションで、ガードレールの [名前] とオプションの [説明] に入力します。

    2. [ブロックされたプロンプトのメッセージ] に、ガードレールが適用されたときに表示されるメッセージを入力します。[応答に同じブロックメッセージを適用します] チェックボックスをオンにして、応答でガードレールが適用されたときに同じメッセージを使用します。

    3. (オプション) ガードレールのクロスリージョン推論を有効にするには、[クロスリージョン推論] を展開し、[ガードレールのクロスリージョン推論を有効にする] を選択します。ガードレール推論リクエストをルーティングできる送信先を定義するAWS リージョンガードレールプロファイルを選択します。

    4. (オプション) デフォルトでは、ガードレールは で暗号化されますAWS マネージドキー。独自のカスタマーマネージド KMS キーを使用するには、[KMS キーの選択] を展開して、[暗号化設定をカスタマイズ (詳細)] チェックボックスをオンにします。

      既存のAWS KMSキーを選択するか、キーの作成を選択して新しいAWS KMSキーを作成できます。

    5. (オプション) ガードレールにタグを追加するには、[タグ] を展開し、定義するタグごとに [新しいタグを追加] を選択します。

      詳細については、「Amazon Bedrock リソースにタグ付け」を参照してください。

    6. [Next] (次へ) を選択します。

  4. [拒否されたトピックを追加] ページに移動したら、[拒否トピックを追加] を選択し、次を行います。

    1. トピックの名前を入力します。

    2. [定義] で、トピックを定義します。拒否されたトピックを定義する方法のガイドラインについては、「拒否トピックをブロックして有害コンテンツの除去に役立てる」を参照してください。

    3. (オプション) [入力] で、モデルプロンプトに対してガードレール評価を有効にするかどうかを指定します。有効にした場合、ガードレールを必要とするアクションを選択します。[ブロック] はデフォルトで有効になっています。詳細については、「Amazon Bedrock ガードレールが検出した有害なコンテンツを処理するためのオプション」を参照してください。

    4. (オプション) [出力] で、モデルの応答に対してガードレール評価を有効にするかどうかを指定します。有効にした場合、応答でガードレールが実行するアクションを選択します。[ブロック] はデフォルトで有効になっています。詳細については、「Amazon Bedrock ガードレールが検出した有害なコンテンツを処理するためのオプション」を参照してください。

    5. (オプション) [サンプルフレーズを追加] を展開し、このトピックに関連するプロンプトまたは応答を表すフレーズを入力します。最大 5 つのフレーズを入力できます。含めるフレーズごとに、[フレーズを追加] を選択します。

    6. [拒否トピック階層] で、プロンプトと応答のトピックをブロックするためにガードレールで使用するセーフガード階層を選択します。詳細については、「ガードレールポリシーの保護層」を参照してください。

    7. 拒否されたトピックの設定が完了したら、[確認] を選択します。

    8. 追加のプロバイダーを作成するには、前のステップを繰り返します。

    9. 必要に応じて [次へ] を選択して他のポリシーを構成するか、[スキップして確認および作成] を選択してガードレールの作成を完了します。

  5. ガードレールの設定を確認します。

    1. 変更するセクションで [編集] を選択します。

    2. ポリシーの設定が完了したら、[作成] を選択してガードレールを作成します。

API

CreateGuardrail リクエストを送信して、拒否トピックをガードレールに追加します。リクエスト形式は次のようになります。

POST /guardrails HTTP/1.1 Content-type: application/json { "blockedInputMessaging": "string", "blockedOutputsMessaging": "string", "topicPolicyConfig": { "topicsConfig": [ { "definition": "string", "examples": [ "string" ], "inputAction": "BLOCK | NONE", "inputEnabled": true, "name": "string", "outputAction": "BLOCK | NONE", "outputEnabled": true, "type": "DENY" }, "tierConfig": { "tierName": "CLASSIC | STANDARD" }, ] }, "crossRegionConfig": { "guardrailProfileIdentifier": "string" }, "description": "string", "name": "string" }
  • blockedInputMessaging および blockedOutputsMessaging フィールドでプロンプトまたはモデルレスポンスをガードレールが正常にブロックしたときのメッセージを指定します。

  • topicPolicyConfig オブジェクトで拒否するガードレールのトピックを指定します。topicsConfig リスト内の各項目は 1 つのトピックに関連しています。

    • 拒否すべきトピックの definitionname を指定します。

    • type フィールドで DENY を指定します。

    • inputAction を使用してプロンプトでトピックが検出されたとき、または outputAction を使用して応答でトピックが検出されたときに実行するアクションを指定します。コンテンツをブロックしてブロックメッセージに置き換える場合は [BLOCK] を選択し、何もアクションを取らずに検出情報を返す場合は [NONE] を選択します。詳細については、「Amazon Bedrock ガードレールが検出した有害なコンテンツを処理するためのオプション」を参照してください。

    • inputEnabledoutputEnabled を設定して、モデルのプロンプトと応答に対してガードレール評価を有効にするかどうかを制御します。

    • (オプション) examples リストで、このトピックに関連するプロンプトまたは応答を表すサンプルフレーズを最大 5 つ指定します。

  • (オプション) tierConfig オブジェクトでガードレールのセーフガード階層を指定します。オプションには、STANDARD 階層と CLASSIC 階層が含まれます。

    詳細については、「ガードレールポリシーの保護層」を参照してください。

  • (オプション) クロスリージョン推論を有効にするには、crossRegionConfig オブジェクトでガードレールプロファイルを指定します。これは、STANDARD 階層を使用する場合に必要です。

  • ガードレールの namedescription を指定します。

応答の形式は次のようになります。

HTTP/1.1 202 Content-type: application/json { "createdAt": "string", "guardrailArn": "string", "guardrailId": "string", "version": "string" }