今天我们要学习工作流中对于多路分支进行结果上的合并。
学习完成,你将进一步简化工作流的重复节点,拆分场景后,将其合并到主流程中。
**01.**动手做一做今天的任务基于”医小助”。之前我们先对用户的输入,进行了问题分类。将用户提问,转变为是否为”发热”和”眼科”或者其他的分类之后,再进行处理。
为了提高对问题识别的准确性,我们将进一步使用RAG的方法,对分诊的规范文档的知识进行查询后,再使用LLM进行识别和回答。
但是如果按照之前的工作流,后面会分别接两个相同的”LLM”节点。我们希望对此进行优化,就需要用到今天的主题”变量聚合器”。
因此在”知识检索”和”LLM”节点之间,添加一个新的节点”变量聚合器”。
接着删除第二个”知识检索”和”LLM”节点之间的连线,然后连接第二个”知识检索”和”变量聚合器”节点。最后按下图进行设置
保存后,进行测试。
**02.**补充说明
变量聚合节点是工作流程中的一个关键节点,它负责整合不同分支的输出结果,确保无论哪个分支被执行,其结果都能通过一个统一的变量来引用和访问。这在多分支的情况下非常有用,可将不同分支下相同作用的变量映射为一个输出变 ...
今天我们学习大语言模型的Function Calling的使用。
学习完成,你将初步获得调用工具的能力。本节内容,非常考察动手能力,建议需要反复调试,并理解大语言模型的基础能力知识。
**01.**动手做一做今天的任务需要重开一个对话应用。当条件成熟之后,才能将今日所学集成进之前的AI应用开发中。
将默认生成的3个节点中的第2个删除。并添加”Agent”节点。
接着对该节点做配置,按下图步骤进行设置。
选择完Function Callinging之后,就会出现真实的配置。
首先需要手动选择一个配置的大语言模型。这里需要注意,不是所有的大模型都内在支持Function Calling,所以这就要求我们对大模型基础有一定的了解。比方说这一段时间非常热门的DeepSeek模型,就并没有支持Function Calling。
然后添加大模型调用的工具。这里添加了时间获取和查询天气这两个工具。
“指令”输入框中添加如下内容:
如果用户问到天气问题,你可以使用工具来帮你完成任务。
1. 根据城市和日期查询天气,使用时必须提供城市和日期两个参数,提供参数的方式要满足如下结构:
...
上一节Dify应用实战课,我们继续对新项目,智能医疗分诊助手,进行了分支条件的拆解。
今天我们学习数据库的查询操作。
学习完成,你将掌握如何对数据库中的数据进行获取。
**01.**动手做一做今天的任务基于智能分诊应用”医小助”。在”条件分支”的”case1”后新增一个”SQL查询”节点。
但是,需要先准备一下插件的安装(v1.0.0之后,已经升级需要安装插件)。
插件安装之后,按下图所示进行添加,先点击”工具”,再找到刚才安装的”Database”,展开后选中”SQL Execute”。
第一次使用会让先授权,按下图步骤进行设置。直接点”去授权”,不用管下面的API端点。这个以后有需要再说。
授权之后,如果再用”数据库”工具,就不会再要求进行授权了。授权需要输入的内容如下:
1mysql+pymysql://root:123456@192.168.0.101:3306/hospital
如果用的postgresql或者sqlite,就查询一下插件的说明文档即可。
现在我们就可以填入查询SQL语句了
1SELECT name, title, description FRO ...
本文适用对象:初级水平
目标:对一个结果可能出现多种情况,进行条件分支处理
上一节Dify应用实战课,我们学习了迭代循环处理。而新项目,智能医疗分诊助手,暂停了一期,现在我们继续。
今天我们学习和上节课循环处理类似的方法,分支条件处理。
学习完成,你将掌握如何对一个结果可能存在多种情况时,按不同情况的值,进行不同的处理。
**01.**动手做一做今天的任务基于智能分诊应用”医小助”。在”问题分类器”的”分类2”后新增一个”LLM”节点。
如图所示,添加提示词内容“对
提及的有关视力的部分,进一步进行识别处理,处理结果输出为如下json格式,
1234567{ "type": 0, "result":"","raw":""}如果是咨询近视有关的,将type设置为1;如果是咨询眼睛疾病,将type设置为2;对输入的问题的解释结果,设置为result的值。”
这次我们把大模型的输出格式修改一下,如下图
接着添加”代码”节点,将上一步生成的JSON结果,提取问题 ...
本文适用对象:初级水平
目标:利用迭代的方法,对多个数据条目进行相同的处理
上一节Dify应用实战课,我们继续对新项目智能医疗分诊助手,进行了分解学习。
今天我们又将暂停一下,先学一下循环的处理。
学习完成,你将掌握如何对多条相同形式的数据,按照遍历处理的方法,进行加工处理。
**01.**动手做一做今天的任务会新开一个workflow,完成后可以合并至”每日智选”应用内。
再复习一下”每日智选”的内容,通过获取天气API,得到天气信息,输出到图片和语音中。而现在最主要的内容,是热点新闻和解读。接下来会获取每日热点新闻10条,然后填充进结果图。
添加节点”HTTP请求”,配置该节点为获取热点新闻。
接着在其后,添加节点”LLM”,设置如下,上下文选择”HTTP请求”的请求结果。提示词填写:
123456789根据获得的 上下文 内容,对其进行内容提取:1\. 需要得到author\_name新闻来源,title新闻标题和url文章链接2.严格按照json格式输出,参照key为类型,值为内容的形式,不需要解释。3.新闻来源需要有影响力的媒体,不要采收自媒体类型的。4.一次提取只需要10 ...
本文适用对象:初级水平
目标:利用问题分类将对话拆分为不同场景,将复杂使用场景转为多个单一场景
上一节Dify应用实战课,我们开启了一个新的项目,智能医疗分诊助手。
今天我们将基于智能医疗分诊助手,进行更为复杂的智能问答。
学习完成,你将掌握如何构建一个应用,能处理复杂场景的任务,通过场景拆解,达到化繁为简的目的。
**01.**动手做一做上次课的分诊应用,只有关键的一步,利用了大语言模型内在的自注意力机制,就能完成识别症状与导流的工作。
今天我们来要来增加这个智能医疗分诊助手”医小智”的能力。
因为在实际的场景中,有可能还是要确定大致问题的范围,然后再做出更加精准的判断。所以,就需要用到Dify的另一个组件”问题分类器”。
在上一课的流程基础上,我们在"开始"之后添加一个"问题分类器",分类器同样也是需要选择一个大语言模型的,但是组件会约束大语言模型去匹配给定的分支的结果。
然后在每个分支后都能添加一个行动,可以是直接回复,也可以调用"LLM",进一步对前面对话所获取的"信息",和当前节点给予的&qu ...
今天我们开启一个新的项目 – 智能医疗分诊助手。
学习完成,你将掌握如何构建多轮对话应用,获得更为准确的信息,以实现特定的任务。
**01.**动手做一做暂时先将之前的案例放一放,大家需要新建一个对话流。放心,之前的图文生成和语音项目还未最终完成,但已经变得有点复杂了。如果是刚开始学的同学,可能有点跟不上。所以,我们为了降低难度,先再开启一个新项目,把没学的内容补齐。
最后会做完完整版的工作流。麦金叔先卖个关子,记得点赞、关注、收藏不迷路。
今天我们来动手做一做智能医疗分诊助手”医小智”的开发。
还是老规矩,这次我们选新建空白应用,类型用”Chatflow”。这其实和Workflow是差不多的,只是有一点差异,Chatflow是基于对话的,并且内置了记忆能力,即能将多轮对话的历史记忆保存并传递给下一轮对话。
新创建完成,自动会添加三个节点:”开始”,”LLM”和”直接回复”。
此时,就已经可以点击”预览”,进行对话调试了。
好了,准备工作就绪,我们正式开始项目开发。
“医小智”是一台放在医院大门口的机器人,它将代替问诊台的服务人员,初步判断来医院就诊的客人,属于什么病因,引导 ...
**01.**环境准备
大家通过昨天的教程,已经知道如何生成图片,并看到了最终效果。但是为什么要按照这样的流程进行编写,还是知其然,不知其所以然。
那今天麦金叔就给大家还原一下真相。
因为前面也提到了,这次的动手依赖两个第三方的服务工具。因此,如果想自己动手的,先把账号注册好吧。
注册成功后直接来到了控制台页面,此时按图创建应用。
继续点击新创建的一串数字APPID的应用,打开”应用详情”。可以看到现在API密钥这里是空的,点击右方”新增密钥”,获得一条记录。页面显示一长串数字字母的字符串,右边有个复制按钮,点一下复制保存到安全的地方,留着备用。
再说一下,这个服务宣称是免费,但实际上是每个账号每月有1000次的免费处理次数,正常使用基本上算免费了。但如果你的业务需求量很大,可以购买资源包,也不贵,一张图5厘,已经蛮良心的了。
按图所示注册figma,这个是美丽国的服务工具,虽然有一些不好的名声,但是在设计SaaS服务领域还是发展很快的。我们用它纯属”白嫖”,不用有太多顾虑。
注册后,下载一个包装的桌面版。然后记住这个插件,等下就要用,Batch auto-ge ...
一、工具准备和参考文档1.工具准备
WindowsTerminal:本次配置的终端工具,当然也可将本文作为参考
WSL2:Windows Linux子系统
2.参考文档
Microsoft官方教程 :教程:使用 Oh My Posh 为 PowerShell 或 WSL 设置自定义提示符
oh-my-posh官方教程:oh-my-posh
二、WindowsTerminal的基础设置(必做步骤)1.字体设置首先去 Github 下载 nerd-fonts 字体。字体设置的目的是为了保证在安装了 oh-my-posh 后不产生特殊字符显示的问题。
下载releases的FiraCode.zip:FiraCode3.3.0.zip 其他版本可自行下载。下载完成后解压、安装字体。
在WindowsTerminal 中设置字体:
2.设置WindowsTerminal背景美化(可选)
三、PowerShell命令行美化
提示:请提前以管理员身份运行 PowerShell
1. 安装 Powershell 7相比于 Windows 默认提供的 Powershell,Powershell ...
前言 如果你将Ubuntu的文件解压并安装到D盘,但WSL本身仍在C盘,则安装的Ubuntu子系统仍会使用WSL的默认存储路径。在 WSL (Windows Subsystem for Linux) 中,默认情况下安装的 Ubuntu 子系统及其文件存储位置是固定的,但你可以更改 WSL 的安装地址,尤其是对于 WSL 2。下面是如何更改安装地址的步骤。
一、查看安装路径:这一步完全可以不用操作,因为一般情况下WSL 的 Linux系统文件存储在 Windows 文件系统的特定位置。默认情况下,WSL 2 使用一个虚拟硬盘(VHD)来存储文件,而 WSL 1 则将文件存储在 Windows 文件系统中。
1. wsl2的安装目录WSL 2: WSL 2 使用一个虚拟硬盘(VHD),存储在 Windows 用户目录下,路径类似于:C:\Users\<YourUsername>\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_<version>\LocalState\ext4.vhdx
2. ...










