承接上一篇文章《来了来了!爆火AI工具Dify怎么玩?这绝对是全网最详细的教程(上)》,今天继续为大家补充Dify的实用操作细节,帮助您全面掌握这款AI应用开发平台。
先快速回顾一下上一篇的重点内容:
1、Dify的安装和启动
2、使用Dify前的一些必要配置
3、Dify核心功能介绍
4、知识库实战1:如何在Dify中创建知识库
5、知识库实战2:如何在Dify中外连知识库RAGFlow
6、智能体实战1:最简单的聊天模式
7、智能体实战2:Agent模式
8、智能体实战3:整合MCP
接下来,我们继续深入智能体的其他实战环节。
智能体实战4:文本生成模式
关于文本生成模式,坦率地说,实用性感觉一般,而且操作非常简单。这里不从头创建了,直接看看Dify预置的一个文本生成模式的智能体。在【探索】菜单中,选择标签为“文本生成”的【SQL生成器】智能体,添加到工作区。

添加到工作区打开后,会发现它和最基础的聊天智能体几乎一模一样。有时真搞不清Dify的设计意图——为什么还要把基础的聊天和文本生成分成两个独立的智能体。
界面布局很简洁:
- 左上区域可以填写提示词,告诉这个智能体要执行什么任务。
- 左下区域多了一个可添加变量的部分。例如使用时,必须选择一个目标数据库,输入查询的内容。添加的变量会传入左上的提示词中,运行时会替换掉内容提示词里的变量。右侧还能预览变量。
- 右上角,更换模型即可。

演示一下效果。先把模型更新为deepseek,然后点击【发布更新】保存,最后点击【运行】启动该智能体。

运行时,在左侧选择了目标数据库并输入了查询内容,点击【运行】后,右侧给出了结果。

查看日志可以发现,输入的两个变量在Prompt中已经被替换,成为了User Prompt的一部分用于生成结果。

到这里,文本生成模式下的智能体创建和使用就讲完了,确实非常简单。
智能体实战5:工作流模式的智能体
经过前面几次实战,大家应该能感受到,创建和使用智能体并不难。但聊天助手、Agent和文本生成应用这三种模式,只适用于简单场景。复杂场景下,还得用工作流。Dify中的工作流又分两种:一种是适合单轮自动化任务的工作流(下面要讲的),另一种是支持记忆的多轮工作流ChatFlow(更常用,下一部分讲)。
先选择【客户评价处理工作流】添加到工作室。

打开后可以看到,是用各种组件构建的工作流。

这种工作流是怎么绘制出来的呢?通过页面底部的【+】号,可以看到里面提供了很多组件,选中某一个,拖拽到页面上即可。

那各个组件之间如何建立关联?只需从一个组件的【+】号拖拽到另一个组件的【+】号位置。

每个组件最需要关注的有三部分:前一个组件的输入内容、组件本身要处理的业务逻辑、组件本身处理后输出的内容(有时没有输出)。例如下图中的“问题分类器”组件,作用是:根据输入的评价,利用大模型的理解能力,自动判别是正向评价还是负面评价,输出的变量就是分类结果。从下图能明显看到这三部分。

因为每个组件的使用方法都不一样,Dify默认提供了16个组件。具体如何使用,在组件处打开帮助文档即可查看。

如果想对组件的每一步进行调试,类似于程序里的Debug,怎么做?除了运行完查看完整log、在log中打开每个节点查看运行状况外,还可以在运行前对单个组件进行Debug。例如在“问题分类器”组件上点击【运行此步骤】,输入调试内容“这个打印机不好用”,看看返回什么结果。

运行后,从调试结果可以看到三部分:输入、数据处理和输出,正好对应每个组件需要关注的三要素。最后输出了正确的结果——这是一个负面评价。

到这里,工作流的使用方法基本讲完了。但还没结束,下一部分我们用ChatFlow模式真正创建几个,感受一下。
智能体实战6:ChatFlow模式的智能体——API Demo
接下来,实战一个ChatFlow模式的智能体。之前多次提到,ChatFlow是最常用的创建智能体的方法。它的使用方法和上面工作流智能体几乎一样,但核心区别在于:工作流只支持单轮自动化任务的编排,而ChatFlow支持记忆的多轮会话。具体体现在LLM(大模型)节点上(当然还有其他区别,但这是最核心的)。
通过下图可以看到,左侧是工作流模式下新建的LLM节点,右侧是ChatFlow模式下新建的LLM节点。ChatFlow模式多了一个记忆功能,而且默认是关闭的。这样看,其实直接创建ChatFlow模式的智能体就够了——它支持的功能更多,效果更好。所以个人感觉现在工作流模式有点鸡肋,平时基本上从来不用。

现在来具体实战一个API Demo,实现获取某个城市的实时天气。
第一步,新建一个【开始】节点(默认存在,不用新建)。在开始节点中添加一个变量【city】,代表要查询天气的城市,设置为必填。


第二步,新建一个【HTTP请求】节点,并与前面的【开始】节点连接。

具体设置如下:GET请求的路径为 https://wttr.in/{city}?format=j1,其中{city}需要替换为前一步传入的city参数。

第三步,新建一个【LLM】节点,并与前面的【HTTP请求】节点连接。

具体设置:选择一个模型,在System Prompt部分输入“请输出今天天气如何”,并传入上一步HTTP请求节点的Body属性。User Prompt部分传入最初用户输入的Prompt。

最后一步,新建一个【直接回复】节点,并与前面的【LLM】节点连接。

具体设置:只需传入前一步大模型回答结果的文本。

创建完后发布更新,保存工作流。然后运行,在预览模式下看结果。

可以看到,输入“大连的天气如何”,给出了当前时间外边的实时天气。至此,手把手带大家创建了一个ChatFlow模式的智能体。
智能体实战7:ChatFlow模式的智能体——RAGFlow Demo
接下来要做的是:将ChatFlow模式下创建的智能体连接知识库进行查询,输出结果。这里知识库选择外部联动的RAGFlow。不带着大家一步步操作了,大家可以自己实战一下。之前不知道如何整合RAGFlow知识库的朋友可以看上一篇文章。整体创建完的效果如下图所示。模型我选择的是本地Ollama部署的模型,大家也可以选择付费的商用模型,或者和我一样整合一个本地模型试试。

其他:查看日志和单步调试
创建完的智能体,中间运行的流程一定需要看日志,方便调试。点击左侧第三个按钮【日志与标注】查看完整的执行日志。

下面显示了详细每一步的执行日志。

每一步展开后,可以看到更详细的日志。

除了这种方式,每个组件还可以单步调试,类似Debug。拿下面的【HTTP请求】组件为例,选择【运行此步骤】进行调试。

调试后可以看到具体信息:执行的输入、执行的过程和输出的结果。

其他:监测
除了查看执行日志,还可以查看该智能体的使用和统计信息。点击最左侧最后一个【检测】按钮即可。

其中【费用消耗】这个统计需要特别说明:此费用仅供参考,它和你调用云平台上模型API产生的费用对不上。所以具体调用模型的费用,还是要以模型平台为准。

至此,社区版Dify最核心的两大功能——【知识库】和【智能体】——就全部讲完了。虽然都是简单的Demo,但只要学会了这些,后续结合业务场景,可以创建出更强大的智能体。Dify还有一些进阶操作,例如通过API操作知识库,将做成的智能体暴露成API供外部访问(常用于做套壳应用)等等。这里就不详细介绍了,如果大家需求高,后续会单独出一篇文章讲解如何使用。
如果在操作过程中遇到问题,欢迎留言交流。
