# テンプレート変換 ### 定義 Jinja2のPythonテンプレート言語を使って、データ変換やテキスト処理などを柔軟に行うことができます。 ### Jinjaとは? > Jinjaは、高速で表現力豊かで拡張可能なテンプレートエンジンです。 > > Jinja は、速く、表現力があり、拡張可能なテンプレートエンジンです。 —— [https://jinja.palletsprojects.com/en/3.1.x/](https://jinja.palletsprojects.com/en/3.1.x/) ### シーン テンプレートノードを使うことで、強力なPythonテンプレート言語であるJinja2を用いて、ワークフロー内で軽量かつ柔軟なデータ変換が可能になります。これは、テキスト処理やJSON変換などのシナリオに適しています。例えば、前のステップからの変数を柔軟にフォーマットして結合し、単一のテキスト出力を作成することができます。これは、複数のデータソースの情報を特定のフォーマットにまとめ、後続のステップの要件を満たすのに非常に適しています。 **例1:**複数の入力(記事のタイトル、紹介、内容)を一つの完全なテキストに結合する テキストの結合 **例2:**ナレッジリトリーバルノードで取得した情報およびその関連メタデータを、構造化されたMarkdown形式にまとめる {% code fullWidth="false" %} ```Plain {% raw %} {% for item in chunks %} ### Chunk {{ loop.index }}. ### Similarity: {{ item.metadata.score | default('N/A') }} #### {{ item.title }} ##### Content {{ item.content | replace('\n', '\n\n') }} --- {% endfor %} {% endraw %} ``` {% endcode %} ナレッジリトリーバルノードの出力をMarkdownに変換 Jinjaの[公式ドキュメント](https://jinja.palletsprojects.com/en/3.1.x/templates/)を参考にして、さまざまなタスクを実行するためのより複雑なテンプレートを作成することができます。
テキストの結合
ナレッジリトリーバルノードの出力をMarkdownに変換