工作流是规划和实施复杂功能逻辑的有用工具,通常用于规划和报告分析等多步骤任务。对于功能复杂、稳定性要求高的任务,通过工作流实施是理想的选择。工作流提供了广泛的灵活、可组合的节点,甚至支持自定义代码,以处理复杂且可控的AI任务流需求。当目标AI任务场景涉及较多步骤,且对输出精度和格式有严格要求时,适合使用工作流。
创建应用
登录星辰MaaS智能体平台(以下简称“平台”) 。
在页面左上角的创建应用按钮或我的应用页面中右侧的创建应用按钮后,点击创建工作流编排/自主规划应用。
必须输入应用名称和应用描述简介、选填标签内容,使用内置头像或单击头像图标上传自定义头像。
支持用户针对已创建的应用或创建应用时添加标签,方便用户管理自己搭建的应用。
节点介绍
基础能力节点
开始节点
开始节点作为每个工作流应用必备的预设节点,是工作流执行流程的起点,其主要作用在于为后续工作流节点以及应用的正式调用流转提供必要的初始信息,例如应用使用者所输入的具体内容、上传的文件资料以及其他必要的基础参数等。
在开始节点的设置页,你可以看到两部分设置,分别是“输入字段”和预设的系统变量。
输入字段:输入字段功能由应用开发者设置,通常用于让应用使用者主动补全更多信息。例如在周报应用中要求使用者按照格式预先提供更多背景信息,如姓名、工作日期区间、工作详情等。这些前置信息将有助于 大模型 生成质量更高的答复。
配置完成后,用户在使用应用前将按照输入项指引,向 大模型 提供必要信息。更多的信息将有助于 大模型 提升问答效率。
系统变量:系统变量指的是在应用内预设的系统级参数,可以被应用内的其它节点全局读取。通常用于进阶开发场景,例如搭建多轮次对话应用、收集应用日志与监控、记录不同应用和用户的使用行为等。
大模型节点
大模型节点是核心节点。该节点能够利用大语言模型的对话/生成/分类/处理等能力,根据给定的提示词处理广泛的任务类型,并能够在工作流的不同环节使用。
示例如下:
意图识别:在客服对话情景中,对用户问题进行意图识别和分类,导向下游不同的流程。
文本生成:在文章生成情景中,作为内容生成的节点,根据主题、关键词生成符合的文本内容。
内容分类:在评论批量处理情景中,对评论的类型进行自动化分类,如投诉/垃圾评论/物流评论/质量评论等。
代码生成:在辅助编程情景中,根据用户的要求生成指定的业务代码,编写测试用例。
RAG:在知识库问答情景中,将检索到的相关知识和用户问题重新组织回复问题。
图片理解:使用具有视觉能力的多模态模型,能对图像内的信息进行理解和问答。
指令优化:支持针对用户输入的系统提示词进行自动优化或指定方向优化。
回复节点
回复节点用于展示其他节点输出的内容至用户对话页面。支持自定义回复格式,包括增加特定文本或变量。支持纯文本和图文混排输出。多个回复节点会根据节点链接的顺序依次输出。
问题分类节点
通过定义分类描述,问题分类器能够根据用户输入,使用大模型推理与之相匹配的分类并输出分类结果,向下游节点提供更加精确的信息。常见的使用情景包括客服对话意图分类、产品评价分类等。
配置步骤:
选择输入变量,指用于分类的输入内容,支持输入文件变量。
选择推理模型,问题分类器基于大语言模型的自然语言分类和推理能力,选择合适的模型将有助于提升分类效果;
编写分类标签/描述,你可以手动添加多个分类,通过编写分类的关键词或者描述语句,让大语言模型更好的理解分类依据。
选择分类对应的下游节点,问题分类节点完成分类之后,可以根据分类与下游节点的关系选择后续的流程路径。
高级设置:
指令:你可以在 高级设置-指令 里补充附加指令,例如给大模型提供更详细的的分类依据信息,以增强问题分类器的分类能力。
记忆:开启记忆后问题分类器的每次输入将包含对话中的聊天历史,以帮助 大模型 理解上文,提高对话交互中的问题理解能力。
图片分析:仅适用于具备图片识别能力的 大模型,允许输入图片变量。记忆窗口:记忆窗口开关关闭时,系统会根据模型上下文窗口动态过滤聊天历史的传递数量;开关打开时用户可以精确控制聊天历史的传递数量(对数)。
输出变量:class_name,即分类之后输出的分类名。你可以在下游节点需要时使用分类结果变量。
逻辑处理节点
条件节点
设置判断条件变量后,根据 If/else/elif 条件将流程拆分成多个分支进行执行。
迭代节点
对数组中的元素依次执行相同的操作步骤,直至输出所有结果,可以理解为任务批处理器。迭代节点通常配合数组变量使用。
使用迭代的条件是确保输入值已格式化为列表对象;迭代节点将依次处理迭代开始节点数组变量内的所有元素,每个元素遵循相同的处理步骤,每轮处理被称为一个迭代,最终输出处理结果。
迭代节点的结构通常包含输入变量、迭代工作流、输出变量三个功能单元。
输入变量和输出变量:仅接受 Array 数组变量类型数据。
循环节点
平台循环节点专注于处理重复性工作流,核心优势在于每一次循环的执行,均以其上一次循环的输出结果为基础进行构建与推进,形成连贯且持续优化的工作链路。
循环变量:
定义在循环迭代中持续存在,并在循环完成后仍可访问的变量。此类变量用于维护循环过程中的状态,是实现渐进式工作流的核心支撑。
终止条件:
当满足循环终止条件、达到最大循环次数,或执行至退出循环节点时,循环将终止运行。未明确指定循环终止条件时,循环将持续执行至达到预设最大循环次数后停止。
用于配置循环的停止执行规则,具体包含以下三类:
循环终止条件:通过设定表达式确定循环退出时机(例如:count > 5);
最大循环次数:作为防止无限循环的安全限制,避免流程陷入死循环;
循环结束节点:当流程执行至该节点时,立即终止循环操作。
知识与记忆节点
知识库节点
从知识库中检索与用户问题相关的文本内容,通常作为下游大模型节点的上下文来使用。常用于构建知识问答系统(RAG)。
配置步骤:
选择查询变量。查询变量通常代表用户输入的问题,该变量可以作为输入项并检索知识库中的相关文本分段。知识库所能接受的最大查询内容为 200 字符。
选择需要查询的知识库,知识库需要在知识库内预先创建;
连接并配置下游节点,一般连接大模型节点进行检索内容的处理。
输出变量:
知识检索的输出变量 result 为从知识库中检索到的相关文本分段。其变量数据结构中包含了分段内容、标题、链接信息。
上下文变量:
大模型节点内定义的特殊变量类型,用于在提示词内插入外部检索的文本内容。当用户提问时,若在知识检索中召回了相关文本,文本内容会作为上下文变量中的值填入提示词,提供大模型回复问题;若未在知识库检索中召回相关的文本,上下文变量值为空,大模型则会直接回复用户问题。
针对节点添加的知识库进行统一召回设置,包含:混合检索、全文检索、语义检索、参数配置及引用归属设置。
变量赋值节点
变量赋值节点用于向可写入变量进行变量赋值。通过变量赋值节点,你可以将工作流内的变量赋值到会话变量中用于临时存储,并可以在后续对话中持续引用。
使用变量赋值节点
设置变量:
赋值的变量:选择被赋值变量。
设置变量:选择需要赋值的变量。
写入模式:
覆盖:将源变量的内容覆盖至目标会话变量
追加:追加内容到指定变量,变量为 Array 类型时可选
清空:清空目标会话变量中的内容
数据库节点
数据库节点支持通过自然语言指令和SQL指令两种方式在工作流中实现数据访问,在数据库节点中添加想要使用的数据库来查询,数据库会返回结构化的数据库查询结果,可以通过在数据库节点后面加入大模型节点来灵活的使用输出结果。
配置步骤:
选择需要查询的数据库,数据库需要在数据库列表页面内进行创建。
选择查询变量,可以通过引用变量使用自然语言转SQL的方式来查询数据库,也可以通过直接输入SQL指令来对数据库进行查询。
连接并配置下游节点
输出变量:outputList(String):查询结果
rowNumber(number):受影响的行数
信息处理节点
模板转换节点
支持使用 Jinja2模板语言灵活地进行数据转换、文本处理等。适用于文本处理、JSON 转换等情景。
例如灵活地格式化并合并来自前面步骤的变量,创建出单一的文本输出。这非常适合于将多个数据源的信息汇总成一个特定格式,满足后续步骤的需求。
列表操作节点
文件列表变量支持同时上传文档文件、图片、音频与视频文件等多种文件。应用使用者在上传文件时,所有文件都存储在同一个 Array[File] 数组类型变量内,不利于后续单独处理文件。列表操作节点可以在数组变量内提取单独的元素,便于后续节点处理。
列表操作节点一般用于提取数组变量中的信息,通过设置条件将其转化为能够被下游节点所接受的变量类型。它的结构分为输入变量、过滤条件、排序(可选)、取前 N 项(可选)、输出变量。例如在一个应用中,允许用户同时上传文档文件和图片文件两种不同类型的文件。需要使用列表操作节点进行分拣,将不同的文件类型交由不同流程处理。
变量聚合节点
变量聚合节点负责整合不同分支的输出结果,确保无论哪个分支被执行,其结果都能通过一个统一的变量来引用和访问。这在多分支的情况下,可将不同分支下相同作用的变量映射为一个输出变量,避免下游节点重复定义。
聚合分组:开启聚合分组后,变量聚合器可以聚合多组变量,各组内聚合时要求同一种数据类型。
文档提取节点
大模型节点自身无法直接读取或解释文档的内容。因此需要将用户上传的文档,通过文档提取器节点解析并读取文档文件中的信息,转化文本之后再将内容传给大模型以实现对于文件内容的处理。构建能够与文件进行互动的大模型应用。
文档提取器支持单个或多个文件的输入。目前仅能够提取文档类型文件中的信息,例如 TXT、Markdown、PDF、DOCX等 格式文件的内容,无法处理音频、视频等格式文件。
开启视觉解析开关后,通过调用底层能力,实现内容的读取,包括jpg、jpeg、png、pdf。
输出变量为 text。输出的变量类型取决于输入变量:输入变量为 File时,输出变量为 string;输入变量为 Array[File]时,输出变量为 array[string]。Array 数组变量一般需配合列表操作节点使用。
参数提取节点
利用大模型从自然语言推理并提取结构化参数,用于后置的工具调用或 HTTP 请求。
配置步骤
选择输入变量,一般为用于提取参数的变量输入。输入变量支持 file。
选择模型,参数提取器的提取依靠的是 大模型 的推理和结构化生成能力。
定义提取参数,可以手动添加需要提取的参数,也可以从已有工具中快捷导入。
编写指令,在提取复杂的参数时,编写示例可以帮助 大模型 提升生成的效果和稳定性。
高级设置
记忆:开启记忆后问题分类器的每次输入将包含对话中的聊天历史,以帮助 大模型 理解上文,提高对话交互中的问题理解能力。
信息收集节点
工作流中的信息收集节点,通过提供选项向用户发起提问,收集所需用户信息并同步给出反馈,收集到的信息可供后续节点直接引用和处理。
表单配置添加参数时,支持选择的组件类型包括:文本框、JSON文本框、密码框、选项框、文件上传。
进阶开发节点
代码节点
代码节点支持运行 Python / Javascript 代码以在工作流程中执行数据转换。该节点极大地增强了开发人员的灵活性,使他们能够在工作流程中嵌入自定义的 Python 或 Javascript 脚本,并以预设节点无法达到的方式操作变量。通过配置选项,你可以指明所需的输入和输出变量,并撰写相应的执行代码。
如果您需要在代码节点中使用其他节点的变量,您需要在输入变量中定义变量名,并引用这些变量。
支持开启错误重试功能后,代码节点发生异常情况时,可按照预设策略自动重试,提升工作流运行成功率。
智能体节点
支持选择已发布的智能体或现创建智能体,实现简单的多智能体协同系统,赋能复杂业务场景的多智能体落地。
模型: 选择大语言模型。
工具:工具的使用方式由模型策略定义,点击 ”+” 添加并配置智能体节点可调用的工具。
知识库:知识库的使用方式由模型策略定义,点击 ”+” 添加并配置智能体节点可调用的知识库,同时支持针对该节点添加的知识库进行统一召回参数设置。
对话示例:多轮对话模式专为提示词工程高阶需求的专业用户设计,支持通过系统提示词(System)+ 多组 User-Assistant 示例对话组合构建复杂指令。您可借助示例对话向模型明确任务逻辑、输出格式、推理流程等,快速实现小样本学习(Few-shot)、角色扮演、格式强约束、多轮推理等高级能力。该模式具备更强的生成可控性与场景适配灵活性,适合对输出结果有严格规范或任务逻辑复杂的专业应用场景。
数据库:支持上传本地表格数据以构建数据库。当用户查询涉及数据表内容的问题时,应用可检索对应数据并进行解答,单应用最多关联 1 个数据库。
记忆:开启记忆后问题分类器的每次输入将包含对话中的聊天历史,以帮助 大模型 理解上文,提高对话交互中的问题理解能力。
记忆窗口: 记忆窗口开关关闭时,系统会根据模型上下文窗口动态过滤聊天历史的传递数量;开关打开时用户可以精确控制聊天历史的传递数量。
HTTP请求节点
支持通过 HTTP 协议发送服务器请求,适用于获取外部数据、调用API等情景。
节点支持常见的 HTTP 请求方法,可以通过配置 HTTP 请求的包括 URL、请求头、查询参数、请求体内容以及认证信息等。
HTTP节点支持通过 HTTP 协议向服务器发送请求,该节点广泛适用于获取外部数据、调用第三方 API 接口等多种场景。其内置对常见 HTTP 请求方法的支持,用户可通过详细配置来定制请求细节,包括目标 URL、自定义请求头、查询参数、请求体内容(如 JSON、表单数据等)以及必要的身份认证信息(如 Basic Auth、Token 认证等)。
此外,该节点还具备错误重试机制。当开启此功能后,在请求过程中若遇到网络异常、服务器无响应等临时性故障时,节点将根据预设的重试策略(如重试次数、间隔时间等)自动进行重试操作,从而有效提升整个工作流的运行稳定性和成功率。
工具节点
“工具”节点可以为工作流提供强大的第三方能力支持,分为以下两种类型:
内置工具:平台提供的内置工具。部分工具使用前可能需要进入工具提供方官网进行授权。
自定义工具:如果内置工具无法满足使用需求,你可以在左侧导航 -工具内创建自定义工具。自定义工具创建方法详见工具章节。
点击添加节点按钮,切换至 “工具” tab 页,选择需要的工具后,在工具节点中设置输入参数。
配置应用
功能拓展介绍
点击应用编排页面右上角的功能按钮,可进入高级功能页。功能包含文件上传、引用归属、开场白、追问、环境变量、会话变量、会话背景图、DSL管理。
文件上传
开启后支持用户在对话中上传文件。
平台支持的上传文件的类型、最大上传数、支持的文件类型进行灵活配置。平台具备主流类型文件上传和快速识别的能力。
开场白
用户进入智能体应用后展示的引导信息。用于帮助用户理解智能体的用途和使用方式。
预设问题
支持配置推荐给用户的预设问题,最多配置5个。增加后,点击提前定义好的预设问题,可直接与ai对话。
追问
在对话完成后,基于当前对话的内容展示建议问题。
环境变量
环境变量用于保护工作流内所涉及的敏感信息,例如运行涉及的 API 密钥、数据库密码等。
环境变量支持添加三种数据类型:String字符串、Number数字、Secret密钥。可在大部分节点内全局引用;环境变量命名不可重复;类型为只读变量,不可写入。
会话变量
会话变量允许应用开发者指定需要被临时存储的特定信息,并确保当前工作流内的多轮对话内都能够引用该信息。
会话变量可在大部分节点内全局引用;
会话变量的写入需要使用变量赋值节点,类型为可读写变量。
会话背景图
用户可添加会话背景图,美化聊天背景,调试过程中会展示在预览调试区,发布后同步展示于应用广场或前端页面。
DSL管理:
在平台内创建的工作流应用支持以 DSL 格式进行导出,你可以自由地将配置文件导入至平台内部。
DSL 文件不包含自定义工具节点内已填写的授权信息,例如第三方服务的 API Key;如果环境变量中包含 Secret 类型变量,导出文件时将提示是否允许导出该敏感信息。导出中不包含私人知识库和私人工具信息。
在生态dify平台搭建的工作流应用支持以dsl格式进行导入。
兼容约束:
仅支持Dify官方原生标准版DSL,不支持加密文件、压缩包、第三方魔改扩展DSL。
兼容 DSL 版本,高版本文件平台自动降级兼容解析。
原Dify外接第三方模型,导入后需手动切换为平台模型资源。
导入前置自检清单
Dify端工作流已调试完毕,无悬空节点、无流程死循环、分支逻辑闭环。
DSL内无明文敏感信息硬编码。
本地准备文本编辑器,用于YAML语法校验、DSL内容预处理。
平台内已提前完成模型接入、知识库、工具资源初始化
自动解析规则
流程拓扑1:1还原:开始节点、结束节点、流转链路、分支结构完整还原。
全局变量、上下文变量自动透传至星辰平台变量池。
提示词模板、条件表达式、参数配置自动适配转换。
兼容节点自动映射,不兼容节点自动标红提示。
预览
用户针对搭建好的工作流程进行针对性的测试与询问,测试搭建的工作流是否通顺,是否存在异常点。 在预览与调试区域,向智能体发送消息,测试智能体效果。
在「运行历史」中可以查看当前工作流历史调试的运行结果和日志信息。