工作流是规划和实施复杂功能逻辑的有用工具,通常用于规划和报告分析等多步骤任务。对于功能复杂、稳定性要求高的任务,通过工作流实施是理想的选择。工作流提供了广泛的灵活、可组合的节点,甚至支持自定义代码,以处理复杂且可控的AI任务流需求。当目标AI任务场景涉及较多步骤,且对输出精度和格式有严格要求时,适合使用工作流。
开始节点作为每个工作流应用必备的预设节点,是工作流执行流程的起点,其主要作用在于为后续工作流节点以及应用的正式调用流转提供必要的初始信息,例如应用使用者所输入的具体内容、上传的文件资料以及其他必要的基础参数等。
在开始节点的设置页,你可以看到两部分设置,分别是“输入字段”和“预设的系统变量”。
输入字段:
输入字段功能由应用开发者设置,通常用于让应用使用者主动补全更多信息。例如在周报应用中要求使用者按照格式预先提供更多背景信息,如姓名、工作日期区间、工作详情等。这些前置信息将有助于 大模型 生成质量更高的答复。

配置完成后,用户在使用应用前将按照输入项指引,向 大模型 提供必要信息。更多的信息将有助于 大模型 提升问答效率。
系统变量:
系统变量指的是在应用内预设的系统级参数,可以被应用内的其它节点全局读取。通常用于进阶开发场景,例如搭建多轮次对话应用、收集应用日志与监控、记录不同应用和用户的使用行为等。
系统参数:
| 变量名称 | 数据类型 | 说明 |
|---|---|---|
sys.query |
String | 用户在对话框中初始输入的内容 |
sys.files |
Array[File] | 用户在对话框内上传的图片(需在应用编排页右上角的 “功能” 处开启) |
sys.dialogue_count |
Number | 用户在与应用交互时的对话轮数。每轮对话后自动计数增加 1,可以和 if-else 节点搭配出丰富的分支逻辑。 |
sys.conversation_id |
String | 对话框交互会话的唯一标识符,将所有相关的消息分组到同一个对话中,确保 大模型 针对同一个主题和上下文持续对话 |
sys.user_id |
String | 分配给每个应用用户的唯一标识符,用以区分不同的对话用户 |
sys.app_id |
String | 应用 ID,系统会向每个 应用分配一个唯一的标识符,用以区分不同的应用,并通过此参数记录当前应用的基本信息 |
sys.workflow_id |
String | 用于记录当前应用内所包含的所有节点信息 |
sys.workflow_run_id |
String | 用于记录应用中的运行情况 |
大模型节点是核心节点。该节点能够利用大语言模型的对话/生成/分类/处理等能力,根据给定的提示词处理广泛的任务类型,并能够在工作流的不同环节使用。
示例如下:
意图识别:在客服对话情景中,对用户问题进行意图识别和分类,导向下游不同的流程。
文本生成:在文章生成情景中,作为内容生成的节点,根据主题、关键词生成符合的文本内容。
内容分类:在评论批量处理情景中,对评论的类型进行自动化分类,如投诉/垃圾评论/物流评论/质量评论等。
代码生成:在辅助编程情景中,根据用户的要求生成指定的业务代码,编写测试用例。
RAG:在知识库问答情景中,将检索到的相关知识和用户问题重新组织回复问题。
图片理解:使用具有视觉能力的多模态模型,能对图像内的信息进行理解和问答。
指令优化:支持针对用户输入的系统提示词进行自动优化或指定方向优化。
如何配置?
选择模型,平台提供了全球主流模型的支持,选择一个模型取决于其推理能力、成本、响应速度、上下文窗口等因素,你需要根据场景需求和任务类型选择合适的模型。如果你是初次使用平台 ,在大模型节点选择模型之前,需要在设置—模型来源内提前完成模型配置。
配置模型参数,模型参数用于控制模型的生成结果,例如温度、TopP,最大标记、回复格式等,若希望应用具备图片分析能力,请选择具备视觉能力的模型。
工具:支持在大模型节点里面添加工具,适用于不同的业务场景和需求。
知识库:支持在大模型节点里面调用知识库。
对话示例:多轮对话模式专为提示词工程高阶需求的专业用户设计,支持通过系统提示词(System)+ 多组 User-Assistant 示例对话组合构建复杂指令。您可借助示例对话向模型明确任务逻辑、输出格式、推理流程等,快速实现小样本学习(Few-shot)、角色扮演、格式强约束、多轮推理等高级能力。该模式具备更强的生成可控性与场景适配灵活性,适合对输出结果有严格规范或任务逻辑复杂的专业应用场景
编写提示词,大模型节点提供了一个易用的提示词编排页面,选择聊天模型或补全模型,会显示不同的提示词编排结构。如果选择聊天模型,你可以自定义系统提示词(SYSTEM)/用户(USER)内容。在提示词编辑器中,你可以通过输入 “/” 或者 “{” 呼出 变量插入菜单,将 特殊变量块 或者 上游节点变量 插入到提示词中作为上下文内容。
模型能力拓展
工具:为了提升大模型的能力,可以通过在大模型节点中选择并添加所需插件即可,使其更好地适应不同的应用场景和需求。
知识库: 在大模型中进行配置多个知识库以增强信息检索能力。当用户提出问题时,系统会自动从这些知识库中检索出相关文本内容,并将这些信息作为上下文提供给大模型。这样,大模型在生成回答时能够利用这些额外的、相关的信息,从而提高回答的准确性和相关性。
记忆: 开启记忆后问题分类器的每次输入将包含对话中的聊天历史,以帮助 大模型 理解上文,提高对话交互中的问题理解能力。
记忆窗口: 记忆窗口开关关闭时,系统会根据模型上下文窗口动态过滤聊天历史的传递数量;开关打开时用户可以精确控制聊天历史的传递数量。
长期记忆:可将提炼对话核心内容,将长期记忆的关键信息存储在记忆库中,以优化和个性化未来的响应。应用最多可关联1个记忆库。点击记忆库右侧加号可以添加已创建的记忆库。记忆库创建方法详见记忆库章节。
数据库:可上传本地表格数据构建数据库。用户询问数据表内的问题时,应用能够查询数据并答复。应用最多可关联1个数据库。点击数据库右侧加号可以添加已创建的数据库。数据库创建方法详见数据库章节。
对话事例:支持用户设定期望问题和期望回复格式,用于ai学习回复方式。
回复节点用于展示其他节点输出的内容至用户对话页面。支持自定义回复格式,包括增加特定文本或变量。支持纯文本和图文混排输出。多个回复节点会根据节点链接的顺序依次输出。
通过定义分类描述,问题分类器能够根据用户输入,使用大模型推理与之相匹配的分类并输出分类结果,向下游节点提供更加精确的信息。常见的使用情景包括客服对话意图分类、产品评价分类等。

设置判断条件变量后,根据 If/else/elif 条件将流程拆分成多个分支进行执行。
对数组中的元素依次执行相同的操作步骤,直至输出所有结果,可以理解为任务批处理器。迭代节点通常配合数组变量使用。
使用迭代的条件是确保输入值已格式化为列表对象;迭代节点将依次处理迭代开始节点数组变量内的所有元素,每个元素遵循相同的处理步骤,每轮处理被称为一个迭代,最终输出处理结果。
迭代节点的结构通常包含输入变量、迭代工作流、输出变量三个功能单元。
输入变量和输出变量:仅接受 Array 数组变量类型数据。
平台循环节点专注于处理重复性工作流,核心优势在于每一次循环的执行,均以其上一次循环的输出结果为基础进行构建与推进,形成连贯且持续优化的工作链路。
配置:
从知识库中检索与用户问题相关的文本内容,通常作为下游大模型节点的上下文来使用。常用于构建知识问答系统(RAG)。

长期记忆写入节点支持在工作流中将用户个性化信息(如偏好标签、行为轨迹、关键记忆点等)结构化存储至记忆库。通过该节点,可将多轮对话中提取的用户画像数据或兴趣特征进行持久化保存,突破上下文长度限制。后续流程中,模型可通过调用记忆库获取用户历史信息,实现跨会话的连续性理解与个性化响应,提升推荐精准度与交互体验。
配置步骤:

长期记忆检索节点支持在工作流中通过指定记忆库获取用户的长期行为数据和关键记忆信息。在该节点中配置目标记忆库后,可从存储的用户画像、兴趣标签、历史交互记录等数据中检索相关个性化内容,并将结构化结果输出至下游节点。后续通过连接大模型节点,基于检索到的信息进行内容生成与逻辑推理,实现更精准、连贯的个性化回复,提升用户体验与交互质量。
配置步骤:
Object 类型,返回与检索信息相关的长期记忆。
变量赋值节点用于向可写入变量进行变量赋值。通过变量赋值节点,你可以将工作流内的变量赋值到会话变量中用于临时存储,并可以在后续对话中持续引用。
数据库节点支持通过自然语言指令和SQL指令两种方式在工作流中实现数据访问,在数据库节点中添加想要使用的数据库来查询,数据库会返回结构化的数据库查询结果,可以通过在数据库节点后面加入大模型节点来灵活的使用输出结果。

平台支持选择已创建的视频库节点,并可在特定应用场景中灵活调用和使用这些节点。
支持使用 Jinja2模板语言灵活地进行数据转换、文本处理等。适用于文本处理、JSON转换等情景。例如灵活地格式化并合并来自前面步骤的变量,创建出单一的文本输出。这非常适合于将多个数据源的信息汇总成一个特定格式,满足后续步骤的需求。
文件列表变量支持同时上传文档文件、图片、音频与视频文件等多种文件。应用使用者在上传文件时,所有文件都存储在同一个 Array[File] 数组类型变量内,不利于后续单独处理文件。列表操作节点可以在数组变量内提取单独的元素,便于后续节点处理。
列表操作节点一般用于提取数组变量中的信息,通过设置条件将其转化为能够被下游节点所接受的变量类型。它的结构分为输入变量、过滤条件、排序(可选)、取前 N 项(可选)、输出变量。例如在一个应用中,允许用户同时上传文档文件和图片文件两种不同类型的文件。需要使用列表操作节点进行分拣,将不同的文件类型交由不同流程处理。
变量聚合节点负责整合不同分支的输出结果,确保无论哪个分支被执行,其结果都能通过一个统一的变量来引用和访问。这在多分支的情况下,可将不同分支下相同作用的变量映射为一个输出变量,避免下游节点重复定义。
聚合分组:开启聚合分组后,变量聚合器可以聚合多组变量,各组内聚合时要求同一种数据类型。
大模型节点自身无法直接读取或解释文档的内容。因此需要将用户上传的文档,通过文档提取器节点解析并读取文档文件中的信息,转化文本之后再将内容传给大模型以实现对于文件内容的处理。构建能够与文件进行互动的 大模型 应用。
文档提取器支持单个或多个文件的输入。目前仅能够提取文档类型文件中的信息,例如 TXT、Markdown、PDF、DOCX等 格式文件的内容,无法处理音频、视频等格式文件。
开启视觉解析开关后,通过调用底层能力,实现内容的读取,包括jpg、jpeg、png、pdf。
输出变量为 text。输出的变量类型取决于输入变量:输入变量为 File时,输出变量为 string;输入变量为 Array[File]时,输出变量为 array[string]。Array 数组变量一般需配合列表操作节点使用。
利用大模型从自然语言推理并提取结构化参数,用于后置的工具调用或 HTTP 请求。
配置步骤

工作流中的信息收集节点,通过提供选项向用户发起提问,收集所需用户信息并同步给出反馈,收集到的信息可供后续节点直接引用和处理。
配置

代码节点支持运行Python/Javascript代码以在工作流程中执行数据转换。该节点极大地增强了开发人员的灵活性,使他们能够在工作流程中嵌入自定义的Python或Javascript脚本,并以预设节点无法达到的方式操作变量。通过配置选项,你可以指明所需的输入和输出变量,并撰写相应的执行代码。

支持选择已发布的智能体或现创建智能体,实现简单的多智能体协同系统,赋能复杂业务场景的多智能体落地。

支持通过 HTTP 协议发送服务器请求,适用于获取外部数据、调用API等情景。
节点支持常见的 HTTP 请求方法,可以通过配置 HTTP 请求的包括 URL、请求头、查询参数、请求体内容以及认证信息等。
HTTP节点支持通过 HTTP 协议向服务器发送请求,该节点广泛适用于获取外部数据、调用第三方 API 接口等多种场景。其内置对常见 HTTP 请求方法的支持,用户可通过详细配置来定制请求细节,包括目标 URL、自定义请求头、查询参数、请求体内容(如JSON、表单数据等)以及必要的身份认证信息(如 Basic Auth、Token 认证等)。
此外,该节点还具备错误重试机制。当开启此功能后,在请求过程中若遇到网络异常、服务器无响应等临时性故障时,节点将根据预设的重试策略(如重试次数、间隔时间等)自动进行重试操作,从而有效提升整个工作流的运行稳定性和成功率。

“工具”节点可以为工作流提供强大的第三方能力支持,分为以下两种类型:
点击添加节点按钮,切换至 “工具” tab 页,选择需要的工具后,在工具节点中设置输入参数。
点击应用编排页面右上角的功能按钮,可进入高级功能页。功能包含文件上传、引用归属、开场白、追问、环境变量、会话变量、会话背景图、语音通话、语音输入、DSL管理。
1、文件上传:

2、开场白:用户进入智能体应用后展示的引导信息。用于帮助用户理解智能体的用途和使用方式。
预设问题:支持配置推荐给用户的预设问题,最多配置5个。增加后,点击提前定义好的预设问题,可直接与ai对话。
3、追问:在对话完成后,基于当前对话的内容展示建议问题。
4、环境变量:环境变量用于保护工作流内所涉及的敏感信息,例如运行涉及的 API 密钥、数据库密码等。
环境变量支持添加三种数据类型:String字符串、Number数字、Secret密钥。可在大部分节点内全局引用;环境变量命名不可重复;类型为只读变量,不可写入。
5、会话变量:会话变量允许应用开发者指定需要被临时存储的特定信息,并确保当前工作流内的多轮对话内都能够引用该信息。
会话变量支持以下六种数据类型:

6、会话背景图:用户可添加会话背景图,美化聊天背景,调试过程中会展示在预览调试区,发布后同步展示于应用广场或前端页面。
7、DSL管理:
在平台内创建的工作流应用支持以 DSL 格式进行导出,你可以自由地将配置文件导入至平台内部。
DSL 文件不包含自定义工具节点内已填写的授权信息,例如第三方服务的 API Key;如果环境变量中包含 Secret 类型变量,导出文件时将提示是否允许导出该敏感信息。导出中不包含私人知识库和私人工具信息。
在生态dify平台搭建的工作流应用支持以dsl格式进行导入。
兼容约束:
导入前置自检清单:
自动解析规则
生态Dify与平台节点兼容映射表(以下所有节点涉及的图片识别(视觉)能力,平台目前暂不支持导入)
| 平台节点 | Dify 节点 | 兼容说明(通俗易懂版) |
|---|---|---|
| 模板转换 | 模板转换 | 两边功能完全通用,直接导入无问题 |
| 结束 | 结束 | 两边功能完全通用,直接导入无问题 |
| 条件 (if/else) | 条件分支 | 两边功能完全通用,直接导入无问题 |
| 变量赋值 | 变量赋值 | 两边功能完全通用,直接导入无问题 |
| 变量聚合 | 变量聚合器 | 两边功能完全通用,直接导入无问题 |
| 文档提取 | 文档提取器 | 两边功能完全通用,直接导入无问题 |
| 代码 | 代码执行 | 两边功能完全通用,直接导入无问题 |
| 开始 | 开始 | 不识别布尔类型的变量 |
| 大模型(LLM) | LLM | 图片理解、出错自动重试等额外设置不会导入 |
| 问题分类 | 问题分类器 | 图片识别相关功能不会导入 |
| 知识库 | 知识检索 | 资料元数据筛选相关设置不会导入 |
| 变量赋值 | 变量赋值 | 会话里的布尔变量会被清除;批量赋值、数组局部修改功能不支持导入 |
| 迭代 | 迭代 | 并行运行、报错处理、结果自动合并功能不会导入 |
| 参数提取 | 参数提取器 | 不支持导入图片识别相关能力 |
| 列表操作 | 列表操作 | 提取列表指定序号内容的设置不会导入 |
| HTTP 请求 | HTTP 请求 | SSL 证书校验、异常报错处理相关配置不会导入 |
| 智能体(Agent) | Agent | 导入后内容为空,需要手动重新配置选择 |
| 循环 | 循环 | 平台暂不支持该节点导入,后续平台更新后可用 |
导入后必检校验项:
8、语音输入:打开语音输入功能,支持用户语音输入内容,会根据用户语音输入的文本展现在文本框输入处。文字阅读的音色会根据用户的选择进行播放。
9、语音对话:打开语音对话功能,支持用户以对话的形式输入内容,会根据用户语音输入的文本直接通话回复,文本展示在预览调试区。文字阅读的音色会根据用户的选择进行播放。
