工作流通过将复杂的任务分解成较小的步骤(节点)降低系统复杂度,减少了对提示词技术和模型推理能力的依赖,提高了LLM应用面向复杂任务的性能,提升了系统的可解释性、稳定性和容错性。
Dify工作流分为两种类型:
- Chatflow:面向对话类情景,包括客户服务、语义搜索、以及其他需要在构建响应时进行多步逻辑的对话式应用程序。
- Workflow:面向自动化和批处理情景,适合高质量翻译、数据分析、内容生成、电子邮件自动化等应用程序。
下面将基于工作流构建智能问答应用:
- 创建工作流。

- 编辑工作流。
编辑工作流,如下图所示,添加“知识检索”节点、“LLM”节点、“开始”和“结束”节点就是一个基础的基于RAG增强的知识问答工作流。

- 配置变量。
- 在“开始”的节点,新增“输入字段”,类型为string,作为问答的输入参数。

- 在“知识检索”的节点,添加查询变量。

- 在“LLM”节点,添加上下文以及提示词信息。

- 在“结束”节点,添加LLM的输出为输出变量,作为问答的输出参数。

- 单击“运行”进行调试,输入“写一个矩阵乘法的代码示例,使用鲲鹏ktfop库提供的函数接口进行加速:给定张量a,b以及参数结构体M,执行矩阵乘法,结果放到output中”,输出如下所示,聊天助手在生成的代码示例中,引用了ktfop算子库头文件,并正确设置MatMulParams矩阵参数,以及调用到Matmul接口。

- 发布。
工作流调试完成后可以发布,目前支持的发布形式有:直接运行、批处理、访问API、发布为工具。