94.RAG-RAG应用平台-Dify工作流(大模型和知识库使用说明)
内容参考于:图灵AI大模型全栈
Dify源码地址:https://github.com/langgenius/dify
下图蓝框的上一节中写完了,接下来是下图红框的两个

工作流
它是这样的,比如任务A、任务B,任务C,工作流就是把任务联动起来,执行完任务A再执行任务B再执行任务C,这样执行的过程就像是一个流水线的工作,简称工作流,执行完就没了,它是不带记忆的
Chatflow
它是支持多轮对话的工作流
这里创建一个Chatflow
![]()
创建完如下图的样子
![]()
下图红框都是跟之前一样的
![]()
下图红框的是一些节点,可以拖动、更改
![]()
点击下图红框可以添加一些功能,如下图蓝框功能选择,注意鼠标移动到下图红框位置就可以看到下图红框的加号了
![]()
点击下图红框,也可以添加
![]()
线条上也可以添加,注意鼠标移动到下图红框位置就可以看到下图红框的加号了
![]()
点击下图红框,可以出现下图蓝框的节点,它是用来写注释的,可以描述一些某节点的作用
![]()
点击下图红框的注释,可以出现下图蓝框的内容,可以设置一些样式和删除注释
![]()
下图红框它不会拖动画布,可以拖动节点,下图蓝框的它是可以拖动画布,这个实在没办法用语言描述,只能自己用一下看看
![]()
下图红框是整理节点
![]()
点击下图红框,可以导出,就是写好的工作流,如果想让别人使用,可以把它导出成文件
![]()
如下图红框,在工作室页面也可以导出
![]()
开始使用
用户输入节点,点击下图红框,就会出现下图蓝框的内容,这是节点的具体内容,它默认有两个变量,query是用户的问题,files是用户上传的文件
下图红框位置的内容可以理解为 用户输入 这个节点完成后,会输出内容,这个输出内容会给到下图红框的下一步里面的内容
![]()
LLM节点,点击下图红框,然后出现下图蓝框的内容
![]()
下图蓝框选择模型,下图红框可以配置模型的参数
![]()
模型的参数
![]()
上下文
![]()
下图红框,系统提示词,注意下图里没有提示词,但实际我写了系统提示词,写的内容是 你是一个智能助手
![]()
内置记忆功能
![]()
用户提示词,它默认把 用户输入 节点里的变量写好了
![]()
如想自己添加变量是先输入一个反斜杠,然后它就会出现第二步的内容,然后在第二步里进行选择
![]()
然后下一个节点
![]()
下图红框里是上一个大模型的回复,也就是上一个LLM节点的输出内容,text是回复的内容,reasoning_content是思考过程,usage是这次对话token消耗了多少(花了多少钱),像是发票一样
![]()
如下图红框现在写的输出内容
![]()
然后点击下图红框
![]()
然后如下图红框,可以使用了
![]()
效果图:注意我这个模型没有思考过程,所以看不到
![]()
如下图红框,它会有一个执行过程,下图小的红框就是正在执行的节点,绿色的对号是执行完的
![]()
它也有日志,日志都是跟之前的一样
![]()
然后下一个,首先把LLM节点给删了
![]()
然后添加一个知识检索
![]()
然后它需要一个知识库
![]()
接下来去添加知识库,如下图来的首页的知识库,创建一个即用型知识库
![]()
把准备好的文本文件拖到下图红框位置
![]()
然后点击下一步
![]()
如下图红框它可以设置很多东西
![]()
父子文档,它的文档分割方式,会先用分段标识符,可以把它删了,有时候用换行符分割并不好
![]()
向量模型
![]()
是否重排序,这里不用重排序,给它取消勾选,这里是学习不要浪费Token
![]()
还有混合检索,语义和关键字,就是之前的向量和BM25混合检索同理
![]()
注意它的混合检索好像有问题,检索不出内容,不要选择下图红框的混合检索,其它两个都可以
![]()
然后点击保存
![]()
它就开始处理文档了
![]()
然后点击下图红框
![]()
就可以看到我们的知识库了,单击下图红框里的名字
![]()
可以查看它分割后的文档
![]()
可以给知识库标注元数据
![]()
如下图红框,注意这里是文档的元数据
![]()
现在知识库就创建完成了,接下来就可以使用了,回到工作流
点击下图红框按钮
![]()
添加知识库
![]()
添加完成后,还需要一个LLM节点,也就是大模型节点用来回答问题
![]()
创建完LLM节点后,鼠标按住LLM节点的加号,拖到直接回复节点的加号上
![]()
如下图红框,拖过去就可以连起来了
![]()
我们自己添加的llm节点里默认是没有用户提示词的
![]()
需要点击下图红框进行添加
![]()
如下图红框用户提示词输入框,和自己写的提示词,也就是用户的问题
![]()
还需要设置上下文的变量,这里选择知识库的
![]()
然后在提示词里写好上下文,才能开启知识库
![]()
然后提示词也需要限制一下,否则会乱编
![]()
可以通过日志查看是否在知识库中检索到了
![]()
如下图红框检索到的效果图:可以看到它引用的什么
![]()

更多推荐


所有评论(0)