> For the complete documentation index, see [llms.txt](https://docs.digitalhumans.jp/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.digitalhumans.jp/dify-guide/chatflow/dify-docs-configure-llm-node.md).

# LLMノードの設定

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

## 1. 概要と追加方法

### 概要

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

### 追加手順

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

## 2. 主要な設定項目

### 2.1 AIモデル (Model)

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

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

{% hint style="warning" %}
モデルの名称や世代は頻繁に更新されます。用途に応じて適切なモデル（高速な軽量モデルか、高精度な推論モデルか）を選択してください。
{% endhint %}

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

* **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](/files/ZmTr62Xz6SCGkygi4JF9)

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

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

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

**記述例**:

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

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

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

**記述例**:

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

### アシスタント (ASSISTANT)

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

**記述例**:

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

### 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: オン（リアルタイムで応答表示）

### システムプロンプト例

```markdown
あなたは「ライラ」という名前のカスタマーサポート担当です。

指示事項:
- 丁寧で親切な応対を心がける
- 参考情報に基づいて回答する
- わからない場合は正直に伝える
- 短くわかりやすく回答する

制約:
- 不確かな情報は伝えない
- 個人情報は取り扱わない
```

### 参考URL

Dify公式ドキュメント - LLMノード: <https://docs.dify.ai/en/use-dify/nodes/llm>

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

Difyリリースノート: <https://github.com/langgenius/dify/releases>

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