【Dify】Lesson3-2:テンプレートノード入門

テンプレートノード は、生成AIの出力をそのまま使うのではなく、「必要な形に整えて次の処理へ渡す」ための便利な仕組みです。
たとえば、複数のノードから出てくる文章を1つにまとめたり、条件によって表示内容を変えたり、決まったフォーマットに当てはめて整形したりできます。
これができるようになると、アプリの使い勝手が一気に実務向きになるでしょう。
この記事の到達目標は、次のことができるようになることです。
- テンプレートノードが何のためにあるのかを説明できる
- 変数を使って、出力をわかりやすく整理できる
- 条件分岐を使って、翻訳結果などを状況に応じて切り替えられる
Lesson1:Dify入門|環境構築と最初の生成AIアプリ開発
Lesson2:まずは体験|基本的なアプリを4つ作ろう
Lesson3:文章業務の自動化|実務で使えるアプリを開発しよう
・Lesson3-1:多機能な文書変換アプリを作ろう
・Lesson3-2:テンプレートノード入門 ◁今回はここ
・Lesson3-3:問い合わせ対応チャットボットを作ろう
・実践課題:プロンプト生成/改善アプリを作ろう
Lesson4:ファイル処理で広がるDifyアプリ開発
Lesson5:RAG実践|ナレッジ検索アプリを作ろう
Lesson6:機能拡張と外部システム連携|ツールを使いこなそう
Lesson7:総仕上げ|準備を整えて生成AIアプリ開発者へ
Difyのテンプレートノードとは:役割とできること
テンプレートノードは、Difyのワークフローの中で「文章を組み立てるためのノード」です。
LLMが生成した文章や、変数集約器などがまとめた値を受け取り、それらを好きな形に整形して次のノードに渡します。
LLMの出力は便利ですが、そのままだと「出力の形式が毎回ブレる」「複数の出力をうまく結合できない」「場合分けして表示したい」といった場面で困りがちです。
テンプレートノードは、そうした “仕上げ” を担当してくれます。
今回のレッスンでは、前回(Lesson3-1)開発した「多機能な文書変換アプリ」にテンプレートノードを追加し、出力の見た目と使い勝手を整えていきます。

テンプレート言語:Jinja2とは
Difyによるアプリ開発はノーコード(プログラミングをしない)か、もしくは ローコード であると言われます。
ロー、ということは、少しだけプログラミングをするということです。
それがこのテンプレートノードであり、Jinja2(ジンジャツー) という テンプレート言語 を用います。
といっても、最初から難しく考える必要はありません。この記事で扱うのは次の2つだけです。
1つ目は「変数の埋め込み」です。
{}を二つ重ねて、{{ 変数名 }} のように書くと、そこに別ノードの出力(変数)が差し込まれます。
たとえば {{ text }} のように書けば、その変数の中身をテンプレートの中で悪扱う事ができます。
2つ目は「条件分岐」です。
{% if 条件 %} ... {% else %}の形で、状況に応じて出す文章を切り替えられます。
翻訳方向や、ユーザーの選択内容に応じて結果を出し分けるときに活躍します。
テンプレートノードでは「決まった型をコピペして、変数名や条件だけ置き換える」感覚で十分使いこなせます。
次の章では、一つ前のレッスンで開発した「文書変換アプリ」に、実際にテンプレートノードを追加していきましょう。
ここから先は会員向けの限定テキストになります。
当サイトの概要や特徴、無料で読める範囲 等は Dify学習館のトップページ をご確認ください。
すでに購入済みの方はこちら




