次の方法で共有


LLM 要求にコンテンツの安全性チェックを適用する

適用対象: Developer | Basic | Basic v2 | Standard | Standard v2 | Premium | Premium v2

llm-content-safety ポリシーでは、バックエンド LLM API に送信する前に Azure AI Content Safety サービスに送信することで、大規模言語モデル (LLM) 要求 (プロンプト) にコンテンツの安全性チェックを適用します。 ポリシーが有効になっていて、Azure AI Content Safety が悪意のあるコンテンツを検出すると、API Management によって要求がブロックされ、 403 エラー コードが返されます。

次のようなシナリオでポリシーを使用します。

  • 有害なコンテンツまたはヘイト スピーチの定義済みのカテゴリを含む要求をブロックする
  • 特定のコンテンツが送信されないようにカスタム ブロックリストを適用する
  • 攻撃パターンに一致するプロンプトからシールドする

ポリシーの要素と子要素を、ポリシー ステートメントで指定された順序で設定します。 API Management ポリシーを設定または編集する方法について説明します

[前提条件]

  • Azure AI Content Safety リソース。
  • コンテンツ セーフティ API 呼び出しをルーティングし、Azure AI Content Safety サービスに対して認証するように構成された API Management バックエンド ( https://<content-safety-service-name>.cognitiveservices.azure.com形式)。 認証には、Cognitive Services ユーザー ロールを持つマネージド ID をお勧めします。

ポリシー ステートメント

<llm-content-safety backend-id="name of backend entity" shield-prompt="true | false" >
    <categories output-type="FourSeverityLevels | EightSeverityLevels">
        <category name="Hate | SelfHarm | Sexual | Violence" threshold="integer" />
        <!-- If there are multiple categories, add more category elements -->
        [...]
    </categories>
    <blocklists>
        <id>blocklist-identifier</id>
        <!-- If there are multiple blocklists, add more id elements -->
        [...]
    </blocklists>
</llm-content-safety>

属性

特性 説明 必須 既定値
backend-id Content-safety API 呼び出しをルーティングする Azure AI Content Safety バックエンドの識別子 (名前)。 ポリシー式を使用できます。 イエス なし
shield-prompt trueに設定すると、ユーザー攻撃のコンテンツがチェックされます。 それ以外の場合は、このチェックをスキップします。 ポリシー式を使用できます。 いいえ false

元素

要素 説明 必須
カテゴリー カテゴリが検出されたときにブロック要求の設定を指定する category 要素の一覧。 いいえ
blocklists 検出によって要求がブロックされる Azure AI Content Safety インスタンスの ブロックリストid 要素の一覧。 ポリシー式を使用できます。 いいえ

categories 属性

特性 説明 必須 既定値
output-type Azure AI Content Safety によって重大度レベルがどのように返されるかを指定します。 属性には、次のいずれかの値が必要です。

- FourSeverityLevels: 4 つのレベルの出力重大度: 0,2,4,6。
- EightSeverityLevels: 8 レベルの出力重大度: 0,1,2,3,4,5,6,7。

ポリシー式を使用できます。
いいえ FourSeverityLevels

category 属性

特性 説明 必須 既定値
名前 このカテゴリの名前を指定します。 属性には、 HateSelfHarmSexualViolenceのいずれかの値が必要です。 ポリシー式を使用できます。 イエス なし
要求がブロックされるこのカテゴリのしきい値を指定します。 コンテンツの重大度がしきい値より小さい要求はブロックされません。 値は 0 から 7 の間である必要があります。 ポリシー式を使用できます。 イエス なし

使用方法

使用に関する注記

  • このポリシーは、完了要求またはチャット完了要求内のすべてのテキスト コンテンツを連結して実行されます。
  • 要求が Azure AI Content Safety の文字制限を超えた場合は、 403 エラーが返されます。
  • このポリシーは、ポリシー定義ごとに複数回使用できます。

次の例では、Azure AI Content Safety サービスを使用して LLM 要求にコンテンツの安全性チェックを適用します。 このポリシーは、重大度レベルが 4 以上の Hate または Violence カテゴリの音声を含む要求をブロックします。 shield-prompt属性は、敵対的攻撃をチェックするためにtrueに設定されます。

<policies>
    <inbound>
        <llm-content-safety backend-id="content-safety-backend" shield-prompt="true">
            <categories output-type="EightSeverityLevels">
                <category name="Hate" threshold="4" />
                <category name="Violence" threshold="4" />
            </categories>
        </llm-content-safety>
    </inbound>
</policies>

ポリシーに対する処理の詳細については、次のトピックを参照してください。