Dify で使う
Dify で作ったチャットボットやワークフローで、利用者の文章に含まれる個人情報を伏せてから LLM に渡し、回答を元の名前や番号に戻せます。
利用者の文章:山田太郎様の電話は090-1234-5678
↓ 黒塗りくん:伏せる
LLMに届く文章:[PERSON_1]様の電話は[PHONE_1]
↓ LLM
LLMの回答:[PERSON_1]様、折り返しお電話します
↓ 黒塗りくん:元に戻す
利用者への回答:山田太郎様、折り返しお電話します
プラグインで使う(おすすめ)
Dify 公式マーケットプレイスに「個人情報黒塗りくん」のプラグインがあります。コードのブロックを書かずに、ブロックをつなぐだけで使えます。
- トップページで、APIキー(
pmk_...)を無料で発行します。 - Dify の「マーケットプレイス」で「黒塗りくん」を検索してインストールします(プラグインのページ)。
- 「ツール」で「個人情報黒塗りくん」を開き、APIキーを入れて保存します。
- チャットフローで、次の順にブロックをつなぎます。
- 個人情報を伏せる:文章に
sys.query - LLM:プロンプトに「伏せる」の
masked_text(メモリはオフ) - 個人情報を元に戻す:文章に LLM の
text、mapping_token に「伏せる」のmapping_token - 回答:「元に戻す」の
restored_text
- 個人情報を伏せる:文章に
- 「プレビュー」で、名前や電話番号を含む文章を送って試します。LLM のブロックの入力が記号に置き換わっていれば成功です。
見本のチャットフローを使う(プラグインなし)
プラグインを入れられない環境では、HTTP リクエストのブロックで作った見本を読み込んで使えます。
- トップページで、APIキー(
pmk_...)を無料で発行します。 - 見本のファイルをダウンロードします:kuronurikun-chatflow.yml
- Dify の「スタジオ」で「DSLファイルをインポート」を選び、ダウンロードしたファイルを読み込みます。
- 右上の「環境変数」で
KURONURI_API_KEYにAPIキーを入れます(シークレットとして保存されます)。 - 「LLM」のブロックを開き、使うモデルを選びます。見本では、どの Dify でも読み込めるようにモデルを空にしています。選ばずに実行すると「LLM provider and model are required.」と表示されます。
- 「プレビュー」で、名前や電話番号を含む文章を送って試します。LLM のブロックの入力が記号に置き換わっていれば成功です。
使うときの注意
- 伏せるのは LLM の「前」に。エージェントにツールとして渡す使い方では、ツールを呼ぶ前に元の文章が LLM に届いてしまいます。見本のように、ワークフローの順番で必ず先に伏せてください。
- 会話の記憶(メモリ)は使わない。メモリをオンにすると、過去の会話の元の文章が LLM に渡ります。見本ではオフにしています。
- 同じAPIキーで伏せて、戻してください。元に戻すための情報(mapping_token)は、伏せたときのAPIキーでしか使えません。有効期限は24時間です。
- 見逃しがまったくないわけではありません。大切なデータでは、人の目での確認と組み合わせてお使いください。
カスタムツールとして登録する
ワークフローの「ツール」ブロックから使いたい場合は、Dify の「ツール → カスタム → カスタムツールを作成」で、次のURLからスキーマをインポートします。
https://kuronurikun.com/dify/openapi.json
認証は「APIキー」、ヘッダーは「カスタム」を選び、ヘッダー名に X-API-Key、値にAPIキーを入れます。mask_pii(伏せる)と unmask_pii(元に戻す)の2つのツールが使えるようになります。
料金
伏せた文字数で数えます(元に戻す処理は数えません)。Free は月10万文字まで無料、Lite は月980円で100万文字、Pro は月4,980円で1,000万文字です。詳しくは料金をご覧ください。