
【Dify】 ①LLMノード:LLMノードの仕様をまとめてみた
1. はじめに
AI事業本部の山中です。
今回からDifyに関する記事を書いていきます。
特定の機能やトピックについて、使っていて詰まったところなど実用的な内容を重視して書きます。
この記事では、ワークフロー内で使用できるLLM ノードの仕様について解説します。
Difyの基本的な知識については @yushibats さんが以下の記事に分かりやすくまとめられているのでそちらを参考にしていただければと思います。
2. 前提
- Dify: v1.16.1(ローカルホスト)
- モデル:Anthropic Claude(Bedrock Plugin)
3. 使い方・仕様
LLMノードは、入力としてテキスト・ドキュメントファイルなどの変数を受け取り、LLMの回答を出力とするノードです。
3.1. モデル設定

LLMノードをワークフロー上に配置しクリックすると設定画面が開きます。
①:モデルを選択することができます。プラグインで導入したモデルもここに表示されます。モデル名の右にあるアイコンで、CHAT、画像などそのモデルが対応している入力形式がわかります。
②:モデル選択欄の右端にあるボタンをクリックすると、モデルの詳細設定を開くことができます。表示内容は選択したモデルにより変わりますが、モデルの詳細な指定(ClaudeであればSonnet, Opusなど)などができます。その他に非エンジニアの方が触る項目としては、出力の形式を決定するResponse Format(後述する)などがあるかと思います。
3.2. 入力

①:コンテキストはRAGを構築する場合などにナレッジを変数として渡すために使います。なお、コンテキストに追加した変数は、②の方法でプロンプトに挿入する必要があります。
②:SYSTEMに回答の振る舞い等を指示するシステムプロンプト、USERに具体的な指示を書きます。USERがないと出力できずエラーになります。右上の{x}から変数をプロンプトに挿入することができます。
③:選択したモデルが画像やドキュメントに対応していて、モデルのOCRを使ってファイルを読み込ませたい場合は、ビジョンを有効化し、こちらに変数を追加します(画像参照)。USERプロンプト等で画像ファイルを指定してもOCRでファイルを処理することはできないので注意が必要です。
3.3. 出力

LLMノードの出力変数は、デフォルトで text , reasoning_content , usageの3つがあり、内容はそれぞれ記載の通りです。
また、エンジニア向けになりますが、構造化出力を有効化すればJSONなどの出力形式を指定できます。手順は以下の通りです。繋いだノード側で入力変数として該当する変数を指定すれば、LLMの回答をワークフロー内で利用することができます。
- 「出力変数」の右にある「構造化出力」を有効化し、structured_outputの設定からJSON Schemaを設定する
- 3.1.で言及したモデルの詳細設定を開き、Response Formatを有効化して出力形式を選択する。
なお、モデルの詳細設定にJSON Schemaという項目がありますが、これを設定しなくても構造化出力を使用することは可能で、公式ドキュメントでもノードの全般設定からJSON Schemaを設定することが推奨されています。
4. トラブルシューティング
4.1. 私が遭遇したエラー一覧
| 問題 | エラー挙動 | 対処 |
|---|---|---|
| USER プロンプトを追加していない | Plugin Invoke Error |
USER メッセージを追加する |
| 対応していないファイル形式を入力した | Plugin Invoke Error |
モデルが対応する形式に変換して渡す |
| File 変数をプロンプトやコンテキストに設定していた | PluginInvokeError |
「ビジョン」項目に File 変数を移動する |
| プロンプトにコンテキストの変数を埋め込んでいない | 処理が失敗する場合がある | プロンプト内に該当変数を挿入する |
モデル設定で Response Format: JSON を設定していない |
Failed to parse structured output |
モデル設定で Response Format: JSON を設定する |
JSON Schema で "additionalProperties": false を設定していない |
Failed to parse structured output |
Schema に "additionalProperties": false を追加する |
"additionalProperties": false は有効だが構造化出力が無効 |
出力がNone |
構造化出力を有効化する |
5. 参考
[1] Dify公式ドキュメント:https://docs.dify.ai/en/cloud/use-dify/nodes/llm



