適用対象: 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 サービスの 損害カテゴリ と 害カテゴリ と同義です。 詳細については、 Azure AI コンテンツの安全性に関するページの「損害」カテゴリ を参照してください。
次のようなシナリオでポリシーを使用します。
- 有害なコンテンツまたはヘイト スピーチの定義済みのカテゴリを含む要求をブロックする
- 特定のコンテンツが送信されないようにカスタム ブロックリストを適用する
- 攻撃パターンに一致するプロンプトからシールドする
注
ポリシーの要素と子要素を、ポリシー ステートメントで指定された順序で設定します。 API Management ポリシーを設定または編集する方法について説明します。
[前提条件]
- Azure AI Content Safety リソース。
- コンテンツ セーフティ API 呼び出しをルーティングし、Azure AI Content Safety サービスに対して認証するように構成された API Management バックエンド :
- API Management のマネージド ID は、Cognitive Services ユーザー ロールを使用して Azure AI Content Safety サービスで構成する必要があります。
-
backend-idポリシーのllm-content-safetyによって参照される Azure AI Content Safety バックエンド URL は、https://<content-safety-service-name>.cognitiveservices.azure.com形式である必要があります。 - Azure AI Content Safety バックエンドの承認資格情報は、
https://cognitiveservices.azure.comの正確なリソース ID で有効になっているマネージド ID に設定する必要があります。
ポリシー ステートメント
<llm-content-safety backend-id="name of backend entity" shield-prompt="true | false" enforce-on-completions="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 |
| enforce-on-completions |
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 属性
| 特性 | 説明 | 必須 | 既定値 |
|---|---|---|---|
| 名前 | このカテゴリの名前を指定します。 属性には、 Hate、 SelfHarm、 Sexual、 Violenceのいずれかの値が必要です。 ポリシー式を使用できます。 |
イエス | なし |
| しきい値 | 要求がブロックされるこのカテゴリのしきい値を指定します。 コンテンツの重大度がしきい値より小さい要求はブロックされません。 値は、0 (最も制限が厳しい) から 7 (最も制限が厳しい) の間である必要があります。 ポリシー式を使用できます。 | イエス | なし |
使用方法
- ポリシー セクション: inbound
- ポリシー スコープ: グローバル、ワークスペース、製品、API
- ゲートウェイ: クラシック、v2、従量課金、セルフホステッド、ワークスペース
使用に関する注記
- このポリシーは、完了要求またはチャット完了要求内のすべてのテキスト コンテンツを連結して実行されます。
- 要求が Azure AI Content Safety の文字制限を超えた場合は、
403エラーが返されます。 - このポリシーは、ポリシー定義ごとに複数回使用できます。
例
次の例では、Azure AI Content Safety サービスを使用して LLM 要求にコンテンツの安全性チェックを適用します。 このポリシーは、重大度レベルが 4 以上の Hate または Violence カテゴリの音声を含む要求をブロックします。 つまり、フィルターではレベル 0 から 3 を続行できるのに対し、レベル 4 から 7 はブロックされます。 カテゴリのしきい値を上げると、許容度が上がり、ブロックされた要求の数が減少する可能性があります。 しきい値を下げると許容度が下がり、ブロックされた要求の数が増える可能性があります。
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>
関連ポリシー
- コンテンツの検証
- llm-token-limit ポリシー
- llm-emit-token-metric ポリシー
関連コンテンツ
ポリシーに対する処理の詳細については、次のトピックを参照してください。
- チュートリアル:API を変換および保護する
- ポリシー ステートメントとその設定の完全な一覧については、ポリシー参照をご覧ください。
- ポリシー表現
- ポリシーを設定または編集する
- ポリシー構成を再利用する
- ポリシー スニペット リポジトリ
- ポリシープレイグラウンドリポジトリ
- Azure API Management ポリシー ツールキット
- ポリシーの作成、説明、トラブルシューティングを行う Copilot のサポートを受ける