見出し画像

Difyで新しい会話を始めた後、通常、最初の話し始めた内容を要約したタイトルが付くはずが、ずっと「新しい会話(New conversation」のままになるのを解決した

現象

タイトルの通り。Web版のDify(20240829時点)で、作ったチャットボットで試しに会話してみたところ、最初のこちらからの投げかけを元にそのチャットに題名が付くはずが、新しい会話(New conversation)のままになってしまう。ローカルのDocker上に動かしているDifyでも同じことになる。ローカルの方を最新版に更新したが解決しなかった。

調査内容

Perplexityを使って調べたが全然出てこない。日本語圏内だからダメなのかなと思い英語のWebサイトも含めて検索してとお願いしたら

が出てきた。でもあくまでローカル版のことだし

auto_generate_conversation_name = True

とか書いてあるので、それを実際に設定する箇所はWeb版にはなさそうだなと思った。けどここで改めて、「そうか。そもそもタイトルもLLMの力で自動生成してるわけか」と思い、Difyのモデルプロバイダーの設定に原因があるのかもしれないと考えた。

解決

モデルプロバイダーは、「モデルプロバイダを追加」の中にあったgroqcloudにAPIキーを入力している。アプリ内で指定するモデルとしては「Llama-3.1-70b-versatile」を使っている。

なんかこれがうまいことタイトルの生成ができん原因かな〜と思い、groqはOpen AI互換みたいな設定もできるんだったな〜と思い、「モデルプロバイダを追加」の中にあるOpenAI-API-compatibleを使って以下のように設定。

そして、使用するモデルをこいつにしてやると!題名がちゃんと付くようになりました〜。


その後

ただ、今、数時間経ってから改めてgroqの方に言語モデルを設定しても問題なくタイトルは生成された。なんでだろう。

参考

公式のドキュメントを見ると、「システムモデル設定」で設定する各モデルタイプの意味が書いてあった。

システム推論モデル。アプリケーション内で使用されるのはこのタイプのモデルです。チャット、会話名生成、次の質問の提案でもこの推論モデルが使用されます。

とのこと。おお、会話名生成はここでやってるということがわかった。

本当に初歩的なところですが、解決できて嬉しかったので誰かの役に立つかもしれないと思い書いておくことにしました。ありがとうございました。

この記事が気に入ったらサポートをしてみませんか?