🍉
現状のDifyでは「デフォルト値」が動作せず、「None」が返される
はじめに
プログデンスの圓佛です。Difyでアプリケーションを作成する際、入力が省略された場合の値を指定する「デフォルト値」という設定があります。ですが、この機能は手元で試した限り、バージョン1.8.9から最新の1.10.0までの全てで動作しないようです。今回はこの機能に関して「具体的にどの部分が・どのように機能しないか」を確認します。
尚、Dropdown Variable Default Value and Options Management Issues #27965というIssueで修正コードはPRされているようですので今後の修正に期待します。
この記事で分かること
- Difyでデフォルト値機能を利用しても、期待値通りに動作しない
- 具体的には値が省略された場合に(指定されたデフォルト値では無く)「None」が返される
検証環境
今回の検証ではDifyのオンプレミス版(コンテナ版)を利用しています。
| 対象 | バージョン |
|---|---|
| Dify | 1.10.0 |
| AWS Bedrockプラグイン | 0.0.50 |
デフォルト値では無く「None」が返されてしまう
今回はテキストジェネレータを使ってデフォルト値の挙動を試します。今回は以下のプロンプトを利用します。
{{food}}の{{numberr}}個分カロリーを教えてください。
number変数は以下のように定義しました。必須では無い設定とし、デフォルト値は「1」としました。

「食べ物」には「りんご」を、「個数」(number変数)は何も入力せずに実行してみます。個数は入力を省略したので「デフォルト値である1」が採用されることを期待しているのですが、結果を確認すると「None個」と扱われています…

冒頭に記載したDropdown Variable Default Value and Options Management Issues #27965で修正されることを期待しますが、当面は「デフォルト値を利用しない」運用で回避するか、もしくは「プロンプト内で値が無い場合の処理をうまく記載する」しか無さそうです…