Difyアプリ作成メモ②: コンプライアンスチェッカー

構想のメモです
金融業界での利用を想定
インプット:投資系記事のドラフト、顧客との通話やミーティングの文字起こし
アウトプット:金商法やガイドラインに抵触しそうな箇所のリストアップ
例:「ご安心しておあずけください」は断定的判断に該当する恐れがあります

使用環境
ツール:DifyのSaaS版、Professionalプラン
端末:Surface Pro
OS:Win10 home
GPU:なし

これ、ChatGPTに聞くだけである程度できてしまう......!

GPT 4oさんの言う通りにまずシンプルに入力→LLM→回答で作成しました
何かが変

LLMノードのプロンプトをいじったら、いい感じのアウトプットになりました

「もうこれで完成でいいんじゃないか?」という考えが頭をよぎるが、ちゃんと公的な法律ソースから知識を取得して回答できるようにしたい!
というわけで、ChatGPTに聞きます

ちゃんと改善手順を示してくれている

知識取得ノードの設定に移ります

ナレッジ作成画面に移行しました
ウェブクローラーは有料の匂いがする......!ので、ファイル読み込みでナレッジを作成しようと思います
無料でうまくできる方法は別途調べたい

金商法をe-GOVからpdfでダウンロード
※2025-03-09時点の現行法令

チャンク設定がよくわからないが、ほぼデフォルトで!
(インデックスだけ、経済的に変えました)

景品表示法も同じようにしてナレッジ作成し、搭載
※2025-03-09時点の現行法令

Rerankモデルの作成が必要らしい

Rerankモデルとしてcohere?をセットアップしました
Googleアカウントで登録できて、設定もかんたん

「知識習得」ノード上でrerankモデルを設定しました

完成形はこちら
普通のチャットボットに知識習得ノードを追加しただけのような......

LLMノードの設定はこんな感じ

「損失が出た場合、私のほうでカバーいたします」と入力した場合の出力結果
とても詳しく出る。もう少し文章を簡潔にしてもらうようプロンプトを変更しても良いかもしれない
あと、改善案が文章の改善案ではなくハイレベルな改善案になってしまっている
金融商品取引法および景品表示法に基づくレビュー
- 違反が疑われる箇所: 損失が出た場合、私のほうでカバーいたします
- 根拠となる法令:
- 金融商品取引法第39条(特別の利益の提供の禁止)
- 景品表示法第4条(不当な表示の禁止)
- 理由:
- 金融商品取引法: 金融商品取引法第39条は、顧客に対し、損失補填を示唆する行為を禁じています。これは、投資判断を歪め、不公正な取引を誘発する可能性があるためです。提示された文言は、顧客に対し損失を補填することを約束していると解釈され、同法に抵触する可能性があります。
- 景品表示法: 景品表示法は、実際よりも著しく有利であると誤認させる表示を禁じています。損失補填を約束することは、実際には実現不可能であったり、条件が厳しかったりする可能性があり、顧客に有利誤認を与える可能性があります。
- 改善案:
- 損失補填の文言の完全削除: 「損失が出た場合、私のほうでカバーいたします」という文言は、顧客に誤解を与え、法令違反となる可能性が非常に高いため、完全に削除する必要があります。
- リスクの説明の徹底: 金融商品のリスクについて、顧客に十分な説明を行うことが重要です。リスクを理解した上で投資判断を行えるようにサポートすることで、顧客との信頼関係を構築し、法令遵守にも繋がります。
- 免責条項の明記: 契約書や説明書に、損失補填は行わない旨を明記することで、誤解を防止できます。
- コンプライアンス体制の強化: 社内研修などを通じて、金融商品取引法や景品表示法に関する知識を従業員に周知徹底し、コンプライアンス意識を高めることが重要です。
修正例:
「当社の金融商品は、市場の変動等により損失が生じる可能性があります。投資判断は、お客様ご自身の責任において行っていただきますようお願いいたします。当社は、損失補填は一切行いません。」

LLM(Gemini)の出力ログを見たら料金に関するログが......! ※今回の出力は無料でした

<今後やりたいこと>
- ファイルアップロードやwebページのスクレイピングによる入力対応
- 関係法令の追加(保険業法、犯罪収益移転防止法、など)
- 別角度からのチェックの追加(個人情報が入ってないかとか、倫理とか)
- 記事のドラフト生成アプリとの組み合わせ(投資系の記事をLLMでドラフトし、ドラフトに対して今回作成したコンプライアンスチェックをかけ記事の文章をブラッシュアップする)