
Dify の「コンテンツモデレーション」を使うとチャット中の不適切な入出力をブロックできる.Dify をプロダクション環境で使う場合に重要な機能になる.Dify の画面だと右上にある「Features(機能)」から「コンテンツのモデレーション」で設定できる.詳しくはドキュメントに載っている📝
プロバイダは3種類
コンテンツモデレーションでは以下の3種類のプロバイダがサポートされている.今回は「キーワード」と「OpenAI モデレーション」を試す.
- OpenAI モデレーション
- キーワード
- API 拡張機能
キーワードを試す
まずキーワードを試す.Dify のドキュメントにサンプルとして kill という単語があるため,参考に 殺害 という単語にする.そしてブロックされたときのコメントを コンテンツは利用ポリシーに違反しています。 にしておく.今回は「入力コンテンツをモデレート」のみにする👌

チャットメッセージに 殺害 という単語と含めると期待通りにブロックされた.しかし 殺す という単語にすると完全一致で検出できず,抜け道になってしまう.特定の単語をブロックしたい場合は使えそう.

OpenAI モデレーションを試す
次に OpenAI モデレーションを試す.OpenAI モデレーションの場合は内部的に有害コンテンツの検出に特化した omni-moderation-latest モデルを使う.
プリセット返信 以外の設定はなくてシンプル😀

チャットメッセージに 殺害 という単語を含めても 殺す という単語を含めてもブロックできた.omni-moderation-latest モデルの精度に依存する形になってしまうけど表記揺れにも対応できて良さそう.

API 拡張機能
API 拡張機能ではセンシティブな単語を検出する仕組みを独自で実装して呼び出すことができる.社内専用にカスタマイズした仕組み化をする場合は第一候補になりそう.
Amazon Bedrock Guardrails と組み合わせた API 拡張機能も試してて,別の記事にまとめる予定📝