3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

どうも、やまぐちです。
今回はHuman in the loop的に情報収集ができるようにDifyのChatFlowで工夫してみました。
情報検索を満足いくまで行ってからまとめるとかをDifyでもしたいですよね...?
今回はそれができるDifyのChatFlowを作成してみました。

以下のような感じで情報集めができます。

全体像

まず全体像です。
検索フェーズとまとめフェーズに分かれています。
検索で満足いく内容が出てきたら、まとめフェーズに移ってまとめてもらいます!
基本Difyではフェーズ分けが苦手なのですが、チャット内容にワードを検知してフェーズ分けしています。
今回は「検索」から始まるか、「まとめ」から始まるかで分岐しています。
質問分類器でやってもいいのですが、割と間違えることもあるのでロジックで制御したかったのです。

image.png

開始ノード

まず最初に情報収集したい内容をThemeに入れ、どれだけ深掘りするかの内容をlimitに入れます。
limitの説明は検索フェーズの説明で行います。
image.png

分岐ノード

チャット内容にワードを検知してフェーズ分けしています。
今回は「検索」から始まるか、「まとめ」から始まるかで分岐しています。
image.png

検索フェーズ

フェーズ概要

検索フェーズでは基本最初に入力したThemeの内容を検索して深掘りしていくフェーズです。
深掘りのしたかはマルチクエリリトリーバーを参考にしています。
最初に入力するlimitの数だけ質問を拡張させ、その内容をWeb検索用に最適化しTavilyで検索していきます。
image.png

※ マルチクエリリトリーバーは!こちらでDify構築してます

質問拡張

質問を拡張します。拡張する時にlimitの数だけ質問を作成します。出力は文字列で出てくるので質問抽出器で質問をリスト化します

image.png

イテレーション

質問ごとにWeb検索用に最適化し、Tavilyで検索していきます。出力するLLMでは必ずメモリを有効にしておきましょう!これがないと情報収集した内容がまとめ時に使用できないので。
image.png

まとめフェーズ

もう特に話すことがないのですが、クエリで「まとめ」がきたらまとめフェーズにうつります。
この時に、まとめるLLMはメモリを有効にしておきましょう!
image.png

補足

最後にこれだとなかなか初見で使うの難しいのでチームで使う想定であれば、会話開始機能は有効にしてどう使うべきかを書いておいてあげましょう!
image.png

最後に

これだとチューニングもまだまだなので、みなさんチューニングしたり、キーワードごとの検索もできるようにしたりとカスタマイズしてみてください!
Xやってるので気になる方はフォローお願いします。
https://x.com/hudebakonosoto

3
3
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
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?