リスト処理フロー
1. 目的
- 入力テキストを 行ごとに分割して配列に変換
- リスト処理ノードで整形した上で LLM に渡し、要約などを生成
2. ノード構成
開始 → コード実行 → リスト処理 → LLM → 回答
3. コード実行ノード
入力変数
- 名前:
query - 値:
{{ sys.query }}
出力変数
- 名前:
result - 型: Array[String]
コード
def main(arg):
# 開始ノードからの入力を取得
text = (arg or {}).get("query", "")
# 行ごとに分割 → 前後空白除去 → 空行スキップ
lines = [ln.strip() for ln in str(text).splitlines() if ln.strip()]
# 出力を result に格納
return {
"result": lines
}
出力例
入力:
DifyはノーコードでLLMフローを作成できる
生成AIは業務効率化に役立つ
リスト処理ノードは配列データを扱える
出力:
{
"result": [
"DifyはノーコードでLLMフローを作成できる",
"生成AIは業務効率化に役立つ",
"リスト処理ノードは配列データを扱える"
]
}
4. リスト処理ノード
5. LLM ノード
モデル
- GPT-4o-mini (CHAT)
SYSTEM プロンプト(サンプル)
あなたは要約アシスタントです。
まず入力配列が正しく届いているかを表示してください。
次に3行で要約してください。
【受信した配列の要素数】{{ list_result | length }} 件
【受信一覧】
{% for v in list_result -%}
- {{ loop.index }}. {{ v }}
{% endfor %}
【要約条件】
- 箇条書きで3行
- 短く端的に
- 重複は統合
6. 回答ノード
- 入力:
{{ LLM.text }} - そのままユーザーに表示
7. 動作イメージ
入力:
DifyはノーコードでLLMフローを作成できる
生成AIは業務効率化に役立つ
リスト処理ノードは配列データを扱える
出力例:
【受信した配列の要素数】3 件
【受信一覧】
- 1. DifyはノーコードでLLMフローを作成できる
- 2. 生成AIは業務効率化に役立つ
- 3. リスト処理ノードは配列データを扱える
【要約】
- DifyはノーコードでLLMフローを構築できる
- 生成AIは業務効率化に貢献する
- リスト処理ノードで配列データを扱える
以上

