🙂

Dify v0.7.0 学習型AIエージェントが構築可能に!?

2024/08/14に公開

はじめに

日本時間2024年8月14日夕方にDifyの最新バージョンであるv0.7.0がリリースされました!
https://x.com/dify_ai/status/1823672779285368861
下記、公式メッセージです。

今回のDify v0.7.0では、「会話変数」と「変数代入ノード」を新たに導入し、LLMのメモリ制限に対処しています。これにより、コンテキスト情報を会話の流れに正確に保存、取得、更新することが可能になります。構造化されたデータ型をサポートし、チャットフローで構築されたLLMアプリに対して正確なメモリ制御を提供することで、本番環境における複雑なシナリオの処理能力を向上させます。

「会話変数」と「変数代入ノード」については下記参照ください。
特に2個目の記事は日本語なのでわかりやすいです。
https://dify.ai/blog/enhancing-llm-memory-with-conversation-variables-and-variable-assigners
https://docs.dify.ai/v/ja-jp/guides/workflow/node/variable_assignment
なお、新機能である「会話変数」と「変数代入ノード」は、チャットボットのチャットフローで使える機能で、ワークフローでは使えないです。

新機能:記憶装置(会話変数、変数代入ノード)

これまでチャットフローでは変数の管理が難しかったです。
どういった管理が難しかったというと、チャットフローの会話内で、一時的に特定の情報を保存して、次の会話で保存した特定の情報を使うといったケースです。

例えば、LLMへの質問に対して日本語で入力した場合、使っている言語が日本語ということを変数に格納して、次回以降の会話を日本語でやりとりするような処理はかなり作りこみが必要でした。(一時的にスプレッドシートに保存するなど)
今回、会話変数と変数代入ノードができたおかげで、上記のようなユースケースに対応できるようになりました。
また、この会話変数はほとんどのノードでグローバルに参照可能で、プログラミングでいうグローバル変数と捉えて良いと思います。

上記以外のシナリオだと下記も紹介されていました。

Checklistのチェックを補助し、会話中に会話変数にユーザーの入力項目を記録し、Checklistの内容を更新し、後続の会話で抜け漏れ項目を確認します。
例:会話を始める際、LLMはユーザーにチェックリストに関連するアイテムの入力を求めます。ユーザーがチェックリストの内容を一度述べると、その内容は会話変数に更新され、及び保存されます。LLMは各会話の後に、ユーザーに不足しているアイテムの追加を促します。

この機能追加により、Difyの生成AIアプリ開発がより効率的になり、活用場面が広がる可能性があると考えます。会話変数を使いながらAIが学習しながら回答しているような仕組みも構築できる可能性があります。

モデルサポート強化

最新の「GPT-4o-2024-08-06」が使えるようになったそうです。
下記記事で記載したOpenAIのJSONスキーマ出力の「"strict": true」も今後サポートされると良いですね。一方で、response_formatはすでにサポートされているようですね。(実はresponse_formatをJSONに指定すると処理上は「"strict: true"」になっている?未確認ですが。)
https://zenn.dev/acntechjp/articles/ef24390ff1ec08

さいごに

Difyはv0.7.0と大きくバージョンアップしました。生成AIアプリ開発の幅がより広がったと考えています。今後も注目していけたらと思います!

Accenture Japan (有志)

Discussion