Dify はオープンソースのLLMアプリ開発プラットフォームで、オンプレミス版とLangGeniusが提供しているクラウド版の2種類が存在しています。
これらを使うことでGUIベースのローコードな生成AIアプリを開発できます。
Amazon Bedrockを用いたChatボットの作り方は以下に纏めていますので参考にしてください。
https://zenn.dev/kameoncloud/articles/f7b89792c95c36
今日はこのChatに対するコンテンツモデレーションをテストしていきます。
コンテンツモデレーションとは
一般的には、投稿・入力・生成されるコンテンツを自動または手動でチェックして、不適切な内容を検出・制限するプロセスのことです。
例えば個人情報の調査であったり、爆弾の作り方、事件を起こす可能性のある質問、などがそれにあたります。OpenAIそのものにももちろんコンテンツモデレーション機能は標準で機能しています。

例えば"亀田治伸の住所を調べて"とプロンプトに入力すると以下の通りOpenAIは調査を拒否します。

例えば企業内部用ChatアプリをDifyで開発した場合、このような質問はLLMに聞く前にDifyのアプリケーションでブロックさせた方がトークンが消費されずコストが節約できます。また、企業内部の機密情報、例えば開発中のサービスのコードネーム等はLLM側では機密情報と認識できませんので、あらかじめLLMへ質問前に禁則文字処理を行ってブロックさせる必要も出てきます。
キーワードマッチによるコンテンツのモデレーション機能を試す
ではさっそく試していきます。
画面右下の管理をクリックします。

コンテンツのモデレーション のトグルを有効します。

3つのモデレーション手法が用意されています。

今日はキーワードを試していきます。以下の様に入力して保存します。

質問を行うと以下の様にLLM問い合わせ前にエラーが戻ってきます。

先ほど登録したトンコツは社内の極秘プロジェクト名と仮定します。同様にエラーが戻ります。
同様にLLMからの戻りもモデレーションすることが可能です。



ただしこれはLLMへの問い合わせを行った後の制御になりますので、トークンは消費されていますので注意してください。