1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

リスト処理フロー

1. 目的

  • 入力テキストを 行ごとに分割して配列に変換
  • リスト処理ノードで整形した上で LLM に渡し、要約などを生成

2. ノード構成

開始 → コード実行 → リスト処理 → LLM → 回答

3. コード実行ノード

リスト2.jpg

入力変数

  • 名前: 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. リスト処理ノード

  • 入力変数: {{ コード実行.result }}
  • 出力変数: list_result など(任意だが分かりやすくリネーム)
    リスト3.jpg

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は業務効率化に貢献する
- リスト処理ノードで配列データを扱える

以上

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?