哎嘿,看第一篇文章大家的反响还是相当好,很感谢各位原始粉观众们的支持,这几天实习的公司一直排事情做有点忙碌,没办法日更,但是浇灭不了我的热情,接下来我就继续为大家介绍一下工作流里面的相关的内容:

前置基础编程知识

接下来讲解的内容有一些涉及基础的编程知识我先来给大家科普一下方面大家进行理解。

工作流里面经常会有各种各样的文件格式,如果需要互相传递那么传递的参数都要相同,如果不同就会导致报错。

我这边先给大家介绍必备的基础类型:String 字符串里面可以是数字,字母,中文等但是它要用引号包裹起来

Array[file] 文件队列,

file 文件类型,

number 数字类型的可以是小数也可以是整数

Object  可以表示所有的类,用开发的语言来说就是所有的类都是继承它的

开始节点

系统自带

开始节点的妙用还是很多的这是所有工作流的开始(我这边用chatflow节点来展示),首先我们可以先观察它这里面已经有了的字段第一个是String类型的query相当于就是用户可以发送任意的内容可以是文字,数字等来激活工作流。

第二个是sys.files见名知意那么就是可以传递很多个文件所以它的类型是Array[file]相当于你可以传好多个文件它会为你传递的文件进行排序。

第三个是sys.dialogue_count参数是Number是和chatflow对话的轮数,系统会给你自动统计然后增加可以方便你如果要做回顾之前的内容统计可以使用这个参数进行一个if-else的判断来实现。

第四个是对话框交互会话的唯一标识符,将所有相关的消息分组到同一个对话中,确保 LLM 针对同一个主题和上下文持续对话

后面的几个用到的比较少(我自己也没用过可能理解不够深或者场景没有涉及到,如果大家有需要可以在评论区或者私信问我我会给大家进行解答。)

然后里面有输入字段可以加一些需要的参数导入到后面的工作流中

用户自己添加

第一个是文本和段落,变量名字就可以自己取,显示名称会帮你自动生成,就根据你输入的长度进行判断如果是长文本就填大一些(也可以直接选择第二个段落)剩下的话默认我觉得就可以。

下面是预览效果:

第二个是下拉选项可以让你进行选择然后根据用户的选择进行判断走不同的分支实现结果。

这就是下拉选项里面实现的结果预览:

第三个是数字要求用户填写数字,可以借助用户填写的数字进行大小的判断走不同的分支

这就是在预览看到的样式:

第四个是单文件和文件列表

选择这个就是要求用户传递单个文件或者多个文件,dify相当智能可以通过本地上传和URL进行上传,相当全面这也是好用的原因吧

下面是效果图:

LLM节点

我们接下来介绍一下LLM节点,我们用大白话来讲就是调用各个厂商的ai的大模型来帮你解决问题回答问题,但是我必须要说的一点就是ai是存在幻觉的不是百分之百正确的,如果其他节点能解决问题不要完全依靠LLM节点。

首先模型是需要去不同的地方获取api key我这里就来教大家来配置一下硅基流动的api key如何获取吧。

1.模型:LLM节点中模型的apikey获取

硅基流动用户系统,统一登录 SSO这个是网址

进入之后输入账号密码然后进入这个页面

点击api密钥

新建密钥然后点击密钥复制

最后回到页面输入api-key就可以激活了。

2.上下文节点

这里面就是dify工作流我觉得比较牛的地方就是可以联系之前节点输出的变量作为下一个节点输入的变量来进行复杂的操作。例如我刚刚让用户需要输出的number就可以传递到这个大模型里面。

3.提示词

有什么要求需要ai实现都可以在里面尽情提问这就相当于告诉ai它需要做什么假如你在前面输入了上下文那么在提示词中必须填写该上下文。(如果有提示词写不太好的大家可以去ai生成,用魔法打败魔法,但是尽量在喂给ai的时候描述的准确一些)

小案例

4.记忆和视觉

这里面的记忆和视觉窗口是针对这个大模型的,可以让ai关联到上下文的内容增加ai的思考和联系上下文的能力,不会你说一句它说一句上下毫不关联,视觉窗口就是dify很有特色的能力之一它可以通过ai来分析你上传的图片等,但是还是那句话ai是存在幻觉的所以如果要求精确度很高那么建议更换较好的模型或者先对模型进行训练提高准确率再进行使用。

5.结构化输出

这个功能也是相当强大,我在后面的使用也会比较多,它可以让ai生成指定的参数和参数类型,然后使用到下一个节点里面具体怎么操作看我下面的演示

(1)打开结构化输出的按钮
(2)打开配置按钮
(3)进入到结构化输出的界面点击添加字段
(4)填写参数类型和是否必填如果需要枚举的话下面也要填写
(5)在提示词这边增加结构化参数让ai输出

6.失败重试

因为ai大模型也是调用各个不同的厂商来回答问题就有些可能需要梯子或者当时问答的时候信号不好的原因会导致无法发送请求这时候就可以把这个按钮开起来说不定就连接上了。

直接回复节点

最后来讲一下我们chatflow或者工作流都必须携带的节点直接回复节点/结束节点。

这里面要带上你想要输出的文字内容可以是LLM节点输出的内容也可以是前面文章中自带的输出节点可以方便你使用来进行输出内容然后打印给用户看。这样这个小案例就实现了

那我们今天的内容就到这里了,实习真的太忙碌太辛苦了所有经常有时候回家就直接躺平了不想敲键盘,如果大家有疑问或者觉得我哪点说的不好有理解错误的地方欢迎大家指正让我学习到更多相关的内容,一起讨论。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐