# 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/EJMAhqz1tcHNDYJadRzu)

### システムプロンプト (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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.digitalhumans.jp/dify-guide/chatflow/dify-docs-configure-llm-node.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
