このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、英語版 を参照してください。テンプレートノードは、Jinja2 テンプレートを使用して複数のソースからのデータを構造化されたテキストに変換・フォーマットします。変数の結合、出力のフォーマット、下流のノードやエンドユーザー向けのデータ準備に使用します。

Jinja2 テンプレート
テンプレートノードは Jinja2 テンプレート構文を使用し、ワークフローのデータに応じて動的にコンテンツを生成します。ループ、条件分岐、フィルターといったプログラミング的な機能を活用して、複雑なテキスト生成が可能です。変数の置換
二重波括弧でワークフロー変数を参照します:{{ variable_name }}。ドット記法とブラケット構文により、ネストされたオブジェクトプロパティや配列要素にアクセスできます。
条件分岐ロジック
if-else 文を使用して、データ値に応じて異なるコンテンツを表示します:ループと反復処理
for ループで配列やオブジェクトを処理し、反復的なコンテンツを生成します:
データフォーマット
フィルター
Jinja2 フィルターはテンプレートレンダリング時にデータを変換します:エラーハンドリング
デフォルト値と条件チェックを使用して、欠損または無効なデータを適切に処理します:インタラクティブフォーム
テンプレートは Chatflow で構造化データ収集用のインタラクティブな HTML フォームを生成できます。 送信されると、フォームの値はエンドユーザーの次のチャットメッセージとして送信されます。フォーマットは<form> の data-format 属性によって決まります:
data-format="json":値は JSON オブジェクトにシリアライズされます。下流のコード実行ノードやパラメータ抽出はJSON.parse(またはパターンマッチ)で各フィールドを取り出せます。- 未設定(またはその他の値):値はプレーンテキスト(1 行に 1 つの
name: value)として送信されます。LLM が読みやすい形式です。

サポートされるタグ
<form> 内のタグの間に空行を入れないでください。空行があると markdown 解析で HTML ブロックが終了し、空行以降のタグはフォームフィールドとして描画されません。サポートされる入力タイプ
-
上記以外の
type値は、フィールドの位置に「Unsupported tag」フォールバックとして描画されます。 -
required、min、max、patternなどの HTML5 バリデーション属性は強制されません。 -
ブラウザは
<input type="password">と<input type="email">を、サイトに保存された認証情報で自動入力する場合があります。自動入力を避けたい場合は<input type="text">を使用してください。
クイック返信ボタン
どの<form> の外にも配置されたスタンドアロンの <button> は、チャット内でクリック可能なボタンとして描画されます。アシスタントのメッセージにあらかじめ用意した返答や外部リンクを表示するのに使用します。例:

両方が設定されている場合は
data-link が優先されます。どちらも設定されていない場合、ボタンは描画されますがクリックしても動作しません。
data-variant と data-size でスタイルを設定できます。値は上記の フォームボタン と同じです。
フォームボタンとは異なり、スタンドアロンボタンは
data-variant と data-size をバリデーションせずに下層コンポーネントに渡します。認識されない値を渡すと、スタイル付きボタンではなくプレーンテキストとして描画される場合があります。上記の値のみを使用してください。