LLMノードの設定

dify-docs-configure-llm-node

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

1. 概要と追加方法

概要

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

追加手順

  1. ワークフローエディタ上の「+」ボタンをクリックします。
  1. ノード一覧から「LLM」を選択して追加します。
  1. 追加されたノードをクリックすると、右側に設定パネルが表示されます。

2. 主要な設定項目

2.1 AIモデル (Model)

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

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

⚠️

モデルの名称や世代は頻繁に更新されます。用途に応じて適切なモデル(高速な軽量モデルか、高精度な推論モデルか)を選択してください。

2.2 コンテキスト (Context)

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

  • 設定方法: 知識検索ノードの出力をContextフィールドに関連付けます。
  • 効果: LLMは渡されたコンテキスト情報を「事実」として優先的に参照し、回答を生成します。
  • 運用ポイント: プロンプト内で「コンテキスト情報を優先して回答すること」「情報が不足している場合は『分からない』と答えること」を指示すると、ハルシネーション(嘘の生成)を抑制できます。

2.3 プロンプト設定

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

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

  • AIのキャラクター設定(名前、役割、性格など)
  • 回答時のルールや制約
  • 出力形式の指定

記述例:

「あなたは親切なカスタマーサポートです」
「回答は常に箇条書きで行ってください」
「専門用語を使わずに解説してください」

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

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

記述例:

以下の質問に答えてください。
質問: {{#sys.query#}}

アシスタント (ASSISTANT)

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

記述例:

以下は、userからの質問に類似する情報です。
解答に必要な場合は、情報を信頼して、解答に利用してください。
<context>{{#context#}}</context>
現在時刻: {{#1765736714620.text#}}

2.4 メモリ (Memory)

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

  • On/Off: チャットボットのように文脈を維持したい場合はOnにします。単発のタスク(翻訳や要約)ではOffが推奨されます。
  • ウィンドウサイズ: 過去何回分のやり取りを参照するかを設定します(通常5〜10程度)。サイズを大きくするとトークン消費量が増加します。

2.5 パラメータ詳細

モデルの挙動を微調整します。

  • Temperature: 0〜1の範囲で設定。低いほど論理的・決定的になり、高いほど創造的・ランダムになります。
  • Max Tokens: 生成する文章の最大長を制限します。
  • Top P: 出力の多様性制御(通常0.9〜1.0)
  • Response Format: テキスト形式のほか、モデルが対応していればJSON形式などを指定できます。
  • Streaming: ストリーミング出力の有効化(リアルタイムで回答表示)

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/llm

⚠️

最新の仕様や対応モデルについては、常に公式ドキュメントまたはGitHubのリリースノートをご確認ください。

お役に立ちましたか?
😞
😐
🤩

最終更新日 February 20, 2026