概述
工作流通过将复杂的任务分解成较小的步骤(节点)降低系统复杂度,减少了对提示词技术和模型推理能力的依赖,提高了 LLM 应用面向复杂任务的性能,提升了系统的可解释性、稳定性和容错性。
工作流分为两种类型:
- Chatflow:面向对话类情景,包括客户服务、语义搜索、以及其他需要在构建响应时进行多步逻辑的对话式应用程序。
- Workflow:面向自动化和批处理情景,适合高质量翻译、数据分析、内容生成、电子邮件自动化等应用程序。
简单来说,对话流与工作流最大的区别就在于是否有对话场景。
编排节点
Chatflow 和 Workflow 类型应用内的节点均可以通过可视化拖拉拽的形式进行编排,支持串行和并行两种编排设计模式。
串行设计
串行要求节点按照预设顺序依次执行,每个节点需等待前一个节点完成并输出结果后才能开始工作,有助于确保任务按照逻辑顺序执行。
点击两个节点中间连线的 + 号即可在中间添加一个串行节点;按照顺序将节点依次串线连接,最后将线收拢至 “结束”节点(Workflow)/ “直接回复”节点(Chatflow)完成设计。
串行结构应用日志:日志将按照顺序展示各个节点的运行情况。
并行设计
并行允许多个节点在同一时间内共同执行,前置节点可以同时触发位于并行结构内的多个节点。并行结构内的节点不存在依赖关系,能够同时执行任务,更好地提升节点的任务执行效率。
- 四种常见并行结构:
- 普通并行
指的是开始 | 并行结构 | 结束
三层关系也是并行结构的最小单元。这种结构较为直观,用户输入内容后,工作流能同时执行多条任务。(注:并行分支的上限数为10个)
- 嵌套并行
指的是开始 | 多个并行结构 | 结束
多层关系,它适用于内部较为复杂的工作流,例如需要在某个节点内请求外部 API,将返回的结果同时交给下游节点处理。
- 条件分支 + 并行
并行结构和条件分支共同使用。
- 迭代分支 + 并行
迭代分支内同样支持编排并行结构,加速迭代内各节点的执行效率。
- 并行结构应用日志:包含并行结构的应用的运行日志支持以树状结构进行展示,用户可以折叠并行节点组以更好地查看各个节点的运行日志。
预览与运行
工作流提供了一套完整的运行调试功能。
在chatflow应用中点击【预览】进入调试模式:
在Workflow应用中点击【运行】进入调试模式:
单步调试
工作流支持节点的单步调试,在单步调试中用户可以重复测试当前节点的执行是否符合预期。
单步测试运行后可以查看运行状态、输入/输出、元数据信息。
对话/运行日志
点击「查看日志—详情」可以在详情中查看运行总览信息、输入/输出 、元数据信息等。
点击「查看日志-追踪」可以查看工作流完整运行过程各节点的输入/输出、Token 消耗、运行时长等。
检查清单
在进入调试运行之前,用户可以在检查清单内检查是否有未完成配置或者未连线的节点。
运行历史
在「运行历史」中可以查看当前工作流历史调试的运行结果和日志信息。
示例说明
Chatflow
对话流相对于工作流增加了聊天助手特性的支持,如:对话历史、标注回复、回复节点等。
常见案例:
- 客户服务:AI可以自动化回答常见问题,减轻支持团队的工作负担。 LLM 可以理解客户查询的上下文和意图,并实时生成有帮助且准确的回答。
- 内容生成:无论是创建博客文章、产品描述还是营销材料,只需提供一个大纲或主题,LLM就可以利用其广泛的知识库来制作引人入胜、信息丰富且结构良好的内容。
【示例一】
编排chatflow,AI可以根据知识库的内容解答用户关于法律的问题:
预览效果:
点开工作流,可以看到每个节点的具体运行情况
工作流
工作流可以解决自动化和批处理情景中复杂业务逻辑,拥有丰富的逻辑节点,如代码节点、IF/ELSE 节点、模板转换、迭代节点等,除此之外也将提供定时和事件触发的能力,方便构建自动化流程。
常见案例:
任务自动化:可以与各种任务管理系统集成,如 Trello、Slack、Lark、以自动化项目和任务管理。通过使用自然语言处理,LLM 可以理解和解释用户输入,创建任务,更新状态和分配优先级,无需手动干预。
邮件自动化处理:LLM 可以用于起草电子邮件、社交媒体更新和其他形式的沟通。通过提供简要的大纲或关键要点,LLM 可以生成一个结构良好、连贯且与上下文相关的信息。这样可以节省大量时间,并确保你的回复清晰和专业。
【示例二】
编排一个文本情感分析工作流,目的是提取客户评价中的关键词,并对其中蕴含的情绪进行分类打分:
预览效果: