0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Dify】PC環境やネットワークの問い合わせを自動化!よくある筆問に答えてくれるRAGアプリを作ってみた

0
Posted at

「これって社内ネット繋いでいいんだっけ?」「このソフト、会社支給のPCにインストールして大丈夫?」といった、押し寄せる「IT周りの質問攻め」を自動化したいと思いました。

具体的には、以下のような「よくある課題」を解決するために開発しました。

「どこにあるか分からない」問題: パソコンの利用規約、ネットワークの接続マニュアル、利用許可ソフトの一覧など、必要な情報が社内ポータルやPDFに散らばっていて、探すだけで一苦労。

情シス・管理部門のパンク: 「マニュアルの〇ページに書いてあるのに…」という質問が毎日何件も届き、本来の業務が止まってしまう。

ルール違反のリスク: 探すのが面倒で、社員が自己判断で未許可のネットワークやソフトを使ってしまう(セキュリティリスク)。

今回使用したツール

Dify: 今回の主役。プログラミングなしで、賢いAIアシスタントがあっという間に作れるプラットフォーム。
LLM: 回答を考えてくれるAIの脳みそ。
ドキュメント: AIに読み込ませるルールブック(詳細は次の章で)

ナリッジデータベースとしてAIに読み込ませたファイル

AIにシステム関連のルールを正しく理解してもらうため、改行でQ&Aを区切ったドキュメント(テキストファイル)を準備しました。

Difyにルールを記憶させてみる(Difyでのナリッジデータベース作成)

Difyのナリッジからナリッジデータベースの作成を開始します。
Difyでのナリッジデータベース作成開始.png

データソースを「テキストファイルからインポート」に設定して、準備したテキストファイルをアップロードします。
textファイル読み込み.png

次に、読み込ませたテキストのQ&Aを区切っている識別子(チャンク識別子)を設定しました。
ナリッジデータベース設定1_追記.png

さらに、インデックス方法を「高品質」に設定し、埋め込みモデルを「gemini-embedding-001」に設定しました。
ナリッジデータベース設定2_追記.png

最後に検索設定を「ハイブリット検索」に設定し、ナリッジデータベースを作成しました。
ナリッジデータベース設定3_追記.png

AIアシスタントの作成(Difyでのアプリ作成)

ナリッジを活用するAIアプリ(チャットボット)を作っていきます。

質問に返答してくれるアプリを開発するため、アプリタイプはチャットフローとしました。

プロジェクト作成画面_追記.png

知識検索機能の設定

新規作成したアプリに知識検索のノードを追加します。
クエリテキストに{x}sys.queryを設定します。
クエリテキストはナリッジデータベースを検索するための検索ワードです。
設定したsys.queryはユーザがチャットに入力した「生の質問文」が入っている変数です。
ナリッジデータベースには先ほど作ったものを設定しました。
知識検索追加1_追記.png

アプリの「脳」となるLLM(大規模言語モデル)の選定

ナリッジデータベースから読み込んだ回答を返答してくれる脳(LLM)の設定をします。

知能検索の次の処理にLLMのノードを追加します。
LLMを以下のように設定します。
AIモデル:Gemini 2.5 Flash
コンテキスト:{x}result Array[Object]
SYSTEM:以下のテキストを入力

## 役割
- あなたはパソコンや社内システムの案内スタッフです。
- ユーザーからの質問に対して、システム利用に関する質問に返答してください。
- コンテキストに基づいて回答してください。

{{#context#}}

## 制約事項
- ユーザーが不快に思う返信は禁止です。
- ナレッジに記載がない内容は、推測で断定せず「登録されている情報では確認できません」と伝えてください。

AIモデルは処理の実行にあたりどのAIを使うかの設定です。
コンテキストはAIが回答の根拠とする情報です。
SYSTEMはAIに与える役割と制約事項を記載します。

LLM設定1_追記.png

さらにUSERの項目に以下のものを追加します。
・{x}query:ユーザーがチャットのメッセージ入力欄に打ち込んだ質問
・{x}files:ユーザが添付したファイル
LLM設定2_追記.png

チャットボットの返答を設定

最後にチャットボットが返す返事を設定します。
設定の項目にLLM{x}textを設定します。
この設定によりLLMノードが生成した回答文を、チャットに返信してくれるようになります。
回答設定_追記.png

動作確認!(作成したアプリの動作)

パソコンの調子が悪いときの対応を質問してみると・・・
試してみる処理と良くならなかった場合の連絡先・連絡方法を教えてくれました。

RAG検索結果_.png

これで問い合わせが少しでも減ればよいのですが(汗)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?