Dify Workflow 是一种新推出的 AI 工作流程工具,旨在帮助大语言模型(LLMs)的应用能更好地落地生产。它通过允许构建具有多步骤逻辑的工作流程,解决了依靠单一 prompt 构建复杂逻辑应用类型的不足。
Workflow 提供了一个视觉画布,用于将复杂任务定义为更小、可管理的步骤(节点)。这减少了对提示工程和 LLM 代理能力的依赖,通过让您控制,将您的 LLM 应用的稳定性和可复现性提升到新的水平。
Dify Workflow 的核心特色包括一个直观的拖放界面,支持多种核心节点,如选择大型语言模型、工具、意图分类器、知识检索、代码执行和条件逻辑等。它还具备灵活的节点配置、与 Dify 生态系统的无缝集成、强大的调试和测试功能,以及开放性支持 DSL 导入导出,为用户提供了一个功能强大且灵活的工具,以便将 AI 集成进复杂的业务流程中。
解决了什么问题?
-
复杂逻辑构建的挑战: 在开发基于 LLM 的应用时,构建包含复杂逻辑的应用通常需要复杂的提示设计和管理,Dify Workflow 通过多步骤的工作流程设计,简化了这一过程。
-
应用的稳定性和可复现性: 传统的基于单一提示的 LLM 应用,其输出的不确定性和可变性较高。Dify Workflow 通过允许用户精细控制每一步的逻辑和输出,提高了应用的稳定性和可复现性。
-
集成复杂业务逻辑: 在企业级应用中,往往需要将 AI 功能与复杂的业务逻辑结合。Dify Workflow 使得集成这些逻辑成为可能,无需编写大量的自定义代码。
有什么功能?
-
直观的拖放界面: 用Dify Workflow 的核心是一个简单直观的拖放界面,用户可以通过连接不同的节点在一个无限的画布上构建他们的 Workflow,使得构建工作流程既直观又方便。并可将轻松其部署为独立应用或与API集成。
-
多步骤逻辑构建: 允许用户通过定义一系列的步骤(节点)来构建复杂的工作流程,每个步骤都可以具有不同的逻辑和输出。超越了依赖单一 prompt 的限制,提高了应用的复杂性和可靠性。
-
核心节点支持: 支持多种核心节点类型,包括大型语言模型(LLM)、工具、意图分类器、知识检索、代码执行、条件逻辑等,满足不同应用场景的需求。
支持多种核心节点,包括:- LLM 节点: 选择任意一个主流的大型语言模型,并定义它的输入和输出。
- 工具节点: 使用内置的和自定义的工具来扩展 workflow 的功能。
- 意图分类器: 让 LLM 对用户的输入进行自动分类,根据不同的类别进行工作流转。
- 知识检索: 为 LLMs 挂载来自现有知识库的上下文数据。
- 代码节点: 执行自定义的 Python 或 Node.js 代码。
- If/Else 块: 定义条件逻辑以创建分支的 Workflows。
-
Workflow 和 Chatflow 应用类型: 提供了两种工作流应用类型,分别针对自动化/批处理任务和对话式应用,如客户服务和语义搜索等。
-
应用的灵活配置和扩展: 每个节点都是可配置的,允许用户根据自己的需要来自定义 Workflow。用户可以为每个节点定义输入和输出,以确保工作逻辑和数据流动符合预期。
-
强大的调试和测试工具: 集成了强大的调试和测试工具,使得用户可以端到端测试他们的 Workflows,确保应用程序的行为符合预期。用户还可以单独测试每个节点,以快速定位并解决问题。
-
与 Dify 生态系统的无缝集成: Workflow 完美融入 Dify 生态系统,为所有内置和自定义工具提供了原生支持,确保用户可以充分利用 Dify 平台的全部能力。
-
开放性: 支持 DSL (Domain Specific Language) 导入导出,通过 DSL,用户可以轻松地导出和导入 Workflows,方便在系统之间移动和自定义 Workflow。
Workflow 应用类型:
-
- 针对自动化和批处理的 Workflow 应用: 这适用于翻译、数据分析、内容生成、电子邮件自动化等。
- 聊天流应用(Chatbot 的子类型): 适用于需要多步逻辑来构建响应的对话式应用,如客户服务、语义搜索等。与常规的 Workflow 应用类型相比,Chatflow 添加了聊天特定的功能,如对话历史支持(记忆)、标记回复、用于流式响应的答案节点类型以及对富文本和图像的支持。
Workflow”现已同时在云端和开源版本中提供。详细介绍:https://dify.ai/blog/dify-ai-workflow
GitHub:https://github.com/langgenius/dify