Dify列表操作节点完全指南:实现智能数据筛选与排序

一. 什么是列表操作?

在Dify的工作流中,“列表操作”就像一个分拣机器人,当用户同时上传一堆不同类型的文件(比如几张图片、几个 Word 文档、几个音频文件)时,这个机器人能够:

  1. 识别每个文件的类型、大小、名称等属性
  2. 筛选出你需要的特定文件(比如只要图片)
  3. 排序(按文件大小从小到大排列)
  4. 提取出前几个文件或特定位置的文件

可以将不同的文件归类到不同的LLM节点中进行处理。我们可以多放置几个列表操作节点组合使用,比如用户上传的图片文件都归到A线,PDF都归到B线……

Dify列表操作节点界面展示,演示如何过滤排序文件数组

二. 参数详解

1. 输入变量 (Input Variable)

  • 截图中显示: {{开始.wenjian}} Array[File],这个节点只接受数组类型的字段。
  • 解释: 这是你要处理的“原始素材”。这里识别到的是一个文件数组(比如用户一次性上传了多个文件)。告诉机器人:“把这 5 个文件拿去,按照我接下来的要求挑一挑。”

2. 过滤条件 (Filter)

  • 功能: 设置门槛,只留下满足条件的项。
  • 怎么用: 开启后,你可以根据文件的属性(比如文件名、大小等)设置逻辑。
  • 例子: 如果你只想处理文件名里包含“报告”二字的文件,就在这里配置。不符合的文件会被直接剔除。

对于文件数组,支持以下属性筛选

属性说明示例
type文件类别图片、文档、音频、视频
extension文件扩展名.pdf, .jpg, .mp3
mime_typeMIME 类型(更精确的文件类型标识)image/jpeg, application/pdf
size文件大小按字节数筛选大文件或小文件
name文件名包含特定关键词的文件
url文件 URL特定网址上传的文件
transfer_method上传方式本地上传 (local) 或 URL 上传 (remote)

筛选条件运算符

  • in:在…范围内(常用,比如类型是图片或文档)
  • equal:等于(精确匹配)
  • greater than / less than:大于/小于(用于数字类属性如 size)
  • contains:包含(用于字符串类属性如 name)

实战示例

  • 只提取图片:typeinImage
  • 只提取 PDF 文档:extensionequal.pdf
  • 提取大于 1MB 的文件:sizegreater than1048576(1MB=1024×1024 字节)

3. 取第 N 项 (Get Index)

  • 功能: 精确打击,只要指定位置的那一个。
  • 注意: 计算机通常从 0 开始数(0 代表第 1 个)。
  • 例子: 填入 0,机器人就只拿走你上传的第一个文件,不管后面还有多少个。

4. 取前 N 项 (Limit / Slice)

  • 功能: 截取一部分,通常用于限制数量。
  • 例子: 用户上传了 50 个文件,但你的 AI 一次只能读 3 个。你开启这个开关并填入 3,它就只传给下一步前三个文件,防止系统崩溃。

5. 排序 (Sort)

  • 功能: 重新排队。
  • 怎么用: 可以按升序(从小到大)或降序(从大到小)。
  • 例子: 比如你想让 AI 先处理“最近修改”的文件,或者按“文件名 A-Z”排序。

6. 输出变量 (Output Variable)

  • 功能: 处理后的结果。
  • 理解: 经过上面的“过滤”、“排序”和“截取”后,最后剩下的那个干净、整齐的新列表,就会存放在这个变量里,供后面的节点(比如“条件分支”或“LLM”)使用。

这些开关是可以组合使用的。其内部的处理逻辑顺序通常是:

  1. 先过滤(把杂质扔掉)
  2. 再排序(把剩下的排整齐)
  3. 最后取值(在排好的队里拿走前几个)

三. 这个节点用处?

很多小白会问:“我直接把搜索结果传给 AI 不行吗?”

当然可以,但不好用:

  1. 浪费 Token: 如果列表里有 50 条信息,全喂给 AI 会消耗大量 Token(钱)。
  2. 干扰注意力: 信息太多太杂,AI 容易“幻觉”或者抓不住重点。
  3. 格式要求: 有时候下游节点只需要特定的数据格式,列表操作能帮你提前“洗数据”。

四. 操作示例

假设我们要做一个“高分电影推荐”助手:

  1. 第一步(搜索): 调用一个电影数据库插件,返回了 20 部电影的列表。
  2. 第二步(列表操作 – 过滤): 设置条件 评分 > 8.5
  3. 第三步(列表操作 – 排序): 设置按 评分 降序排列。
  4. 第四步(列表操作 – 取值): 设置只取 前 3 个
  5. 第五步(输出): 把这 3 部最精华的电影推送到 LLM 节点,让 AI 写推荐语。

© 文章版权归白小菌所有,🫰欢迎转发分享。未经允许请勿抄袭转载。

订阅评论
提醒
guest
0 评论
最新
最旧 最多投票
内联反馈
查看所有评论

AI 小菌
现代响应式侧边栏
快捷菜单