LLMノードの設定

LLMノードは、ワークフロー内で大規模言語モデル(LLM)を呼び出すためのノードです。 質問応答・文章生成・要約・分類などを行うための中核的なノードです。

1. 概要と追加方法

概要

LLMノードは、OpenAI、Anthropic、Google、Azure OpenAI、AWS Bedrockなどの主要なプロバイダが提供するモデルを利用して、テキスト生成を行います。

追加手順

  1. ワークフローエディタ上の「+」ボタンをクリックします。

  2. ノード一覧から「LLM」を選択して追加します。

  3. 追加されたノードをクリックすると、右側に設定パネルが表示されます。

2. 主要な設定項目

2.1 AIモデル (Model)

使用するモデルを選択します。

モデル: Difyの「モデルプロバイダ」設定でAPIキーや認証が完了しているモデルが表示されます。

circle-exclamation

パラメータ: モデルの挙動を微調整します。

  • Temperature: 0〜1の範囲で設定。低いほど論理的・決定的になり、高いほど創造的・ランダムになります。

  • Max Tokens: 生成する文章の最大長を制限します。

  • Top P: 出力の多様性を制御(通常0.9〜1.0)します。

  • Response Format: テキスト形式のほか、モデルが対応していればJSON形式などを指定できます。

  • Streaming: ストリーミング出力の有効/無効(リアルタイムで回答を表示する/しない)制御します。

2.2 コンテキスト (Context)

ナレッジベースの検索結果をLLMに渡すための設定です。「知識検索」ノード等の検索結果をLLMに参照させるための設定です(RAG構成)。

  • 設定方法: 知識検索ノードの出力をContextフィールドに関連付けます。

  • 効果: LLMは渡されたコンテキスト情報を「事実」として優先的に参照し、回答を生成します。

  • 運用ポイント: プロンプト内で「コンテキスト情報を優先して回答すること」「情報が不足している場合は『分からない』と答えること」を指示すると、ハルシネーション(嘘の生成)を抑制できます。

2.3 プロンプト設定

dify-docs-configure-llm-node_dhkk_flow_editor 2.png

システムプロンプト (SYSTEM)

AIの役割、ふるまい、制約条件を定義します。

  • AIのキャラクター設定(名前、役割、性格など)

  • 回答時のルールや制約

  • 出力形式の指定

記述例:

ユーザープロンプト (USER)

実際にLLMに送信される質問や指示の内容です。変数を埋め込むことで、ユーザーの入力や前のノードの出力を動的に反映させます。

記述例:

アシスタント (ASSISTANT)

会話の履歴や期待する応答の例を提示する場合に使用します。 ユーザーからの「入力」に対して、AIがどう「返答」すべきかのペアを記述し、モデルの挙動を調整します。

記述例:

2.4 メモリ (Memory)

会話履歴をLLMに渡すための設定です。有効にすると過去のやり取りを考慮した回答が可能になります。

  • On/Off: チャットボットのように文脈を維持したい場合はOnにします。単発のタスク(翻訳や要約)ではOffが推奨されます。

  • ウィンドウサイズ: 過去何回分のやり取りを参照するかを設定します(通常5〜10程度)。サイズを大きくするとトークン消費量が増加します。

補足: LLMノードには、上記パラメータに加えて以下の設定項目が表示されます。 失敗時再試行:最大試行回数・再試行間隔を設定 例外処理:エラー発生時の動作を定義 推論タグの分離を有効にする:推論過程(thinking)を出力から分離する設定

3. 変数の活用

プロンプト内で{{#...#}}という記法を使うことで、動的な値を参照できます。

  • {{#sys.query#}}: ユーザーの入力テキスト

  • {{#context#}}: Context設定にひもづけられた参照テキスト

  • {{#ノード名.変数名#}}: 他のノード(HTTPリクエストや変数割り当てなど)が出力した値

変数は、入力欄で「/(スラッシュ)」を入力、または変数の挿入ボタンを使用すると、表示される候補から選択できます。

4. 構造化出力 (Structured Output)

LLMの出力を後続のノード(HTTPリクエストや条件分岐)でプログラム的に処理したい場合、JSON形式での出力が推奨されます。

設定方法: 詳細パラメータの「Response Format」で「JSON Object」または「JSON Schema」を選択します(対応モデルのみ)。

メリット:

  • 後続のノードで特定のフィールドを参照しやすい

  • 出力形式が安定し、パースエラーによるワークフローの停止を防げる

  • 外部システムとの連携が容易

5. デジタルヒューマン向け推奨設定

デジタルヒューマンとの対話に最適な設定例

  • モデル: GPT-4o または Claude 3.5 Sonnet など

  • Temperature: 0.5(安定性と自然さのバランスをとる)

  • Max Tokens: 500〜1000(簡潔な回答のため)

  • メモリ: 5〜10ターン(会話の文脈を維持)

  • Streaming: オン(リアルタイムで応答表示)

システムプロンプト例

参考URL

Dify公式ドキュメント - LLMノード: https://docs.dify.ai/en/use-dify/nodes/llmarrow-up-right

Dify公式ドキュメント - 変数: https://docs.dify.ai/versions/3-0-x/en/user-guide/workflow/variables#variablesarrow-up-right

Difyリリースノート: https://github.com/langgenius/dify/releasesarrow-up-right

circle-exclamation

最終更新