4. 创建工作流


功能介绍

工作流是 Dify 中面向自动化处理场景的应用类型。与 Chatflow 不同,工作流通常不涉及多轮对话交互,而是接受一组输入参数后自动执行预定义的处理流程,最终输出处理结果。工作流特别适合批量文本处理、数据清洗、报告生成、定时任务等自动化场景。

工作流的开始节点支持两种模式:「用户输入」模式(通过 Web 界面或 API 触发)和「触发器」模式(定时任务、Webhook 等自动触发)。配合条件分支、迭代、循环等控制节点,工作流可以实现非常复杂的自动化逻辑。

使用方法

image-20260407144029176

选择「工作流」类型,输入应用名称和描述,点击创建。

image-20260407144046155

选择开始节点类型。

  • 选择「用户输入」如果需要手动触发或通过 API 调用。
  • 选择「触发器」如果需要定时执行或 Webhook 触发。

image-20260407144120992

点击开始节点「用户输入」,在编辑界面中定义变量。

image-20260407144945221

配置变量后保存。

image-20260407144300697

点击左侧添加一个「LLM」节点。

image-20260407144324507

连接开始节点与LLM节点。

image-20260407144402580

选择LLM节点使用的模型,并且将变量设置为开始节点的用户输入变量。

image-20260407162513427

填写提示词,并将变量名用{}引用到提示词中。

image-20260407145319209

再次添加一个「LLM 2」节点,与第一个「LLM」节点连接。

image-20260407162610230

选择「LLM 2」节点填写提示词,并且将变量设置为第一个「LLM」节点的输出变量。

image-20260407150245697

最后添加一个「输出」节点,与「LLM 2」节点连接。

image-20260407150355510

将输出节点的变量设置为「LLM 2」节点的输出变量。

image-20260407150700985

点击右上角「测试运行」测试工作流是否能正常工作。

image-20260407150638157

测试通过后点击右上角「发布」上线。

image-20260407150741614

发布后的应用可以在「探索」界面的左侧边栏使用。

使用技巧

  • 工作流的每个节点都可以单独运行和调试。点击节点右上角的运行按钮可以单步执行该节点。
  • 善用「迭代」节点处理批量数据。例如将一个长列表传入迭代节点,对列表中的每一项分别调用 LLM 进行处理。
  • 「代码执行」节点支持 Python 和 JavaScript,可以用来做数据格式转换、条件判断、字符串处理等编程任务。
  • 工作流支持通过 API 调用触发,返回格式为 JSON,方便集成到外部系统中。
  • 对于复杂的工作流,建议先用简单的测试数据验证每个分支路径,再逐步接入真实数据。

示例

示例一:批量文章摘要生成工作流

流程:
开始(输入:文章列表 JSON)
    → 代码执行(解析 JSON 提取文章内容列表)
    → 迭代(对每篇文章)
        → LLM(生成 200 字摘要)
    → 变量聚合器(收集所有摘要)
    → 模板转换(格式化为 Markdown 报告)
    → 输出

示例二:竞品监控工作流

流程:
触发器(每天早上 9:00 定时执行)
    → HTTP 请求(抓取竞品网站的最新产品页面)
    → LLM(分析竞品最新动态,与上次对比找出变化)
    → 条件分支(是否有重大变化)
        → 有变化:HTTP 请求(发送通知到企业微信/Slack)
        → 无变化:输出(记录"无变化"日志)

示例三:客户反馈分析工作流

流程:
开始(输入:客户反馈文本列表)
    → 迭代(对每条反馈)
        → LLM(情感分析:正面/中性/负面 + 关键词提取)
    → 代码执行(统计各类情感的数量和比例)
    → LLM(生成分析报告,包含趋势洞察和改进建议)
    → 输出

示例四:多语言内容翻译工作流

流程:
开始(输入:原文文本、目标语言列表)
    → 迭代(对每种目标语言)
        → LLM(将原文翻译为该目标语言)
    → 变量聚合器(收集所有翻译结果)
    → 模板转换(整理为对照格式)
    → 输出

示例五:简历筛选工作流

流程:
开始(输入:岗位 JD、简历文本列表)
    → 迭代(对每份简历)
        → LLM(根据 JD 评估匹配度,输出评分 1-10 和理由)
    → 代码执行(按评分排序,筛选出 Top 5)
    → LLM(生成筛选报告)
    → 输出