Difyとは
Difyとはノーコードでオリジナルのチャットボットが作成できるサービスです。
解説書籍もすごい勢いで発売されており、AI時代の勢いを感じています。
概要
basercmsのユーザーフォーラムは、Discourseというossツールで動いています。
※ 昔は独自で作られていたみたいです。
Discourseを調べてみると、標準でwebapiが付いているみたいです。
Difyの練習がてら、このwebapiの情報を取得してきて、要約するチャットボットを作成しようと思いました。
作ったもの
全体処理の流れ
-
開始
- ユーザーが入力した内容を受け取る。
-
IF/ELSE分岐
- button_check の値と sys.query(ユーザーが入力した値) の内容で処理分岐。
- CASE1 (button_check=0)
→ baserCMS フォーラムAPIに検索リクエストを送信。 - CASE2 (button_check=1で「やめる」の場合)
→ 終了メッセージを返す。 - CASE3 (button_check=1)
→ 詳細ページのAPIにリクエスト送信を送信して返ってきた値を元にLLMから要約して回答を送信
- CASE1 (button_check=0)
- button_check の値と sys.query(ユーザーが入力した値) の内容で処理分岐。
-
HTTPリクエスト
- ユーザーフォーラム検索APIで検索結果を取得。
- JSON解析
- APIのレスポンスJSONをパース。
-
コード実行
- 必要な処理(データ整形など)を行う。
-
テンプレートで整形
- レスポンスデータをテンプレートで整形。
-
回答
- 整形済みの内容をユーザーに返答。
-
変数リセット
- button_check をリセットし、次回入力に備える。
感想
今回、Difyを使って baserCMSフォーラムの検索結果を要約するチャットボットを作ってみましたが、正直な感想は 「ここまで簡単に作れるの!?」 でした。
特に驚いたのは、外部のAPIとAI(LLM)を組み合わせて処理を組み立てる流れが、すべてノーコードでできてしまう点です。以前なら、APIクライアントを用意してデータ整形のロジックを書いて…と
かなりの実装コストがかかっていましたが、Difyならビジュアルエディタ上でポチポチと繋げるだけで完成します。
この仕組みはもっと応用できそう
練習がてら作ったものですが、この仕組みは色々な場面で活用できると感じました。
例えば
-
社内WikiのAI検索ボット
-
FAQから回答を拾うカスタマーサポートAI
-
ドキュメントを要約してくれる社内アシスタント
など、アイデアが次々に浮かんできます。
サイトに組み込む未来もあり
業務効率化だけでなく、Webサイトにチャットボットを組み込んで 「ユーザーの質問にリアルタイムで答えるアシスタント」 のように使うのも面白そうです。
特にbaserCMSは、バージョン5から拡張性の高いWeb APIが標準で搭載されるようになったので、 Difyと組み合わせてサイト内チャットボットを実装するのは相性が良いと感じました。
まとめ
Difyを触ってみて、「AIを自分のサービスに取り入れるハードル」 がグッと下がったように思います。ちょっとしたアイデアなら、エンジニア以外の人でも形にできる時代が来ていますね。
(botを作成できるツールでbotpressとかは以前からありましたが、少しハードルが高く感じていました。)
今後は、この仕組みをベースにもう少し実践的なチャットボットを作り込んでいこうと思います。