Dify节点的详细介绍(中)
节点是工作流的关键构成,通过连接不同的节点,从而实现工作流的功能。首先我们要明白一个核心概念:节点是为功能服务的。根据节点的功能,可以将节点划分为以下三类:基础与流程控制、数据处理与转换、AI与外部交互。
- 基础与流程控制:开始、结束、条件分支、迭代、循环、直接回复
- 数据处理与转换:变量赋值、变量聚合、参数提取、模板转换、列表操作、问题分类、文档提取
- AI与外部交互:LLM、知识检索、HTTP请求、Agent、工具、代码执行
以下是数据处理与转换类节点使用介绍:
1. 变量赋值
变量赋值节点目前仅支持会话变量的赋值。会话变量是面向多轮对话场景的,所以只在 Chatflow 类型的应用里存在。开发者可以将一些特定的信息,存储于会话变量里,它就像一个可以随时查看的“备忘录”。
比如我们可以将用户在首轮对话时输入的语言偏好存储至会话变量中,LLM 在回答时将参考会话变量中的信息,并在后续的对话中使用指定的语言回复用户。
在预览左边,点击可添加会话变量
2. 变量聚合
变量聚合用来将多路分支的变量聚合为一个变量,以方便下游节点统一处理。
变量聚合器支持聚合多种数据类型,包括字符串(String
)、数字(Number
)、文件(File
)对象(Object
)以及数组(Array
)
变量聚合器只能聚合同一种数据类型的变量。若第一个添加至变量聚合节点内的变量数据格式为 String
,后续也只能添加String
类型的。
3. 参数提取
大部分的工具以及HTTP请求都需要标准的结构化的参数,参数提取节点相当于智能转换器,它利用大语言模型(LLM)将用户的自然语言转换为结构化数据,用于后续节点的工具调用或 HTTP 请求参数。
1. 工具参数提取
- 适用情况:当工具需要特定格式参数(如论文编号、作者名等)时
- 示例:用户提问 “这篇论文讲了什么内容:2405.10739”
- 提取结果:
{"论文编号": "2405.10739"}
- 后续操作:将参数传递给论文检索工具进行精确查询
- 提取结果:
2. 数据格式转换
- 适用情况:需将文本转换为数组、JSON 等结构化格式
- 示例:长故事生成应用中,用户输入章节大纲文本
- 提取结果:
["章节1内容", "章节2内容", ...]
- 后续操作:通过迭代节点逐章节生成内容
- 提取结果:
3. HTTP 请求参数构建
- 适用情况:调用外部 API
- 示例:用户指令 “生成一张科幻风格的未来城市图片”
- 提取结果:
{"style": "科幻", "theme": "未来城市"}
- 后续操作:将参数通过 HTTP 请求发送至图像生成服务
- 提取结果:
4. 模板转换
借助 Jinja2 灵活地进行数据转换、文本处理等。Jinja2 是 Python 生态中功能强大的模板工具。用于将动态数据与静态模板结合,生成最终的输出内容
如用双大括号做变量替换
你好,{{ user.name }}!今天是{{ date }}
输出:你好,小明!今天是2024-03-15
具体语法请参考Jinja官网:
https://jinja.palletsprojects.com/en/stable/
5. 列表操作
文件列表变量支持同时上传多种文件类型,包括文档、图片、音频和视频。但所有文件都存储在同一个 Array[File] 数组类型变量内,这可能会影响后续操作的灵活性。列表操作节点可以从文件列表中提取出需要的文件,便于后续节点进行单独处理。
过滤条件可以筛选出符合条件的文件,取前N项可以指定取出来的条数,排序还可以根据文件的名称、大小等排序。
6. 问题分类
通过定义分类描述,问题分类器能够根据用户输入,使用 LLM 推理与之相匹配的分类并输出分类结果,然后根据不同的分类,交给不同的下游节点处理。
7. 文档提取
LLM 自身无法直接读取或解释文档的内容。因此需要将用户上传的文档,通过文档提取器节点解析并读取文档文件中的信息,转化文本之后再将内容传给 LLM 以实现对于文件内容的处理。
好比一个「文件翻译官」,专门帮AI看懂各种文档:
- 吃进去:PDF、Word、TXT等文档文件
- 吐出来:纯文字内容
文档提取器仅能够提取文档类型文件中的信息,例如 TXT、Markdown、PDF、HTML、DOCX 格式文件的内容,无法处理图片、音频、视频等格式文件。
下一节,我们将详细介绍AI与外部交互类节点
🔥《零基础小白AI实战教程:手把手教你打造专属的智能体》🚀 系列教程更新中!
✅ 已更新:AI实践虚拟化平台安装
✅ 已更新:Docker Desktop 安装
✅ 已更新:Ollama安装教程
✅ 已更新:DeepSeek私有化部署
✅ 已更新:Dify私有化部署
✅ 已更新:Dify + DeepSeek搭建本地私有化知识库
✅ 已更新:Dify应用类型的选择
✅ 已更新:Dify升级指南
✅ 已更新:Dify节点的详细介绍(上)
✅ 已更新:Dify节点的详细介绍(中)
✅ 已更新:Dify节点的详细介绍(下)
👉 关注公众号"北灵聊AI"获取最新更新