DeepSeek+dify 本地知识库:高级应用Agent+工作流_dify工作流
本文介绍了Dify平台的三大核心功能:知识库管理、工作流编排和智能体应用。知识库支持文档上传与智能分段,提供向量检索功能;工作流可通过可视化节点组合实现复杂任务,支持变量传递和条件判断;智能体则能快速构建自动化应用。Dify的灵活性体现在零代码搭建能力,让非技术人员也能像拼积木一样创建AI应用。文章重点解析了知识库分段优化技巧、工作流变量类型及节点功能,并展示了如何利用模板快速构建应用。该平台通过
dify的强大在于其灵活性,主要体现在智能体和工作流上。它可以让一个没有编程能力的人通过简单学习,快速搭建Agent和自动化流程。就像拼积木一样。
我们可以通过智能体或工作流,自定义工具完成很多我们好玩的功能。本文前面主要是介绍一些组件,有编程能力的同学建议直接跳过。
报文篇幅较长,简单说下内容:
1,dify面板功能的介绍,(重点知识库里的内容)
2,dify工作流介绍,包括主要节点
3,Agent的应用
4,工作流应用
dify 主要功能
dify的主要应用功能已经在导航上显示了。
探索
在这个模块里,dify给我们内置了一些应用模板,以降低我们的学习使用成本。按照分类已经帮我们罗列好了,我们可以点击对应的分类查询,看中哪个鼠标放上去,点击添加到工作区即可。
工作室

1工作室主要是当前工作空间下所有应用。2包含了聊天助手、Agent、工作流等。- 通过
3我们可以创建应用 - 通过
4我们可以以探索里的模板创建应用 - 通过
5我们可以导入
在 Dify 中,一个“应用”是指基于 GPT 等大语言模型构建的实际场景应用。通过创建应用,你可以将智能 AI 技术应用于特定的需求。
知识库
我们可以在知识库中上传企业或个人的文件资料,上传后通过设置分段格式向量化文档,
- 在
2的位置我们可以创建知识库,可以是选择文档,也可以选择同步Notion或同步web站点 - 通过
3我们可以让dify使用外部知识库,不过用外部知识库之前,我们得先通过4配置,这个需要一定研发能力。
外部知识库的功能是我比较看中的,一般有点规模的企业,我建议自己建向量库,然后都过暴露api给应用平台,这样哪个平台好用我们就换哪个。
个人上传文档的知识库重点在于分段。
excel 分段
excel 如果按照单元格分段,需要把子分段设置为;

pdf和word分段
中文字分段以。作为分段标识符会比较好,这个需要大家根据自己的文档结构不断地调整。
使用默认\n句子都被截断了。
召回测试

- 当文档状态
1变为可用,我们可以进行召回测试,验证文档的下效果。

1我们输入测试问题2设置检索方式3我们可以看到匹配到的内容以及socre,点击查看详情4
检索设置,我们可以设置向量检索、全文检索、混合检索
我们可以通过不断地测试看下哪种检索方式在这个知识库中效果比较好,然后选择设置对应的方式。
其中需要住下TopK和Score:
TopK 代表按相似分数倒排时召回分段的最大个数。TopK 值调小,将会召回更少分段,可能导致召回的相关文本不全;TopK 值调大,将召回更多分段,可能导致召回语义相关性较低的分段使得 LLM 回复质量降低。召回阈值(Score)代表允许召回分段的最低相似分数。召回分数调小,将会召回更多分段,可能导致召回相关度较低的分段;召回分数阈值调大,将会召回更少分段,过大时将会导致丢失相关分段。
工具

dify的工具是用来扩展LLM能力的,是对外部功能的封装,比如搜索、绘图、飞书、月缺等等。就是没有看到对mysql的调用工具。
工具有dify内置的应用,也有三方工具,也可以自定义工具。
工作流也可以发布为一个工具。
👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

dify工作流(基础介绍)
工作流通过将复杂的任务分解成较小的步骤(节点)降低系统复杂度,减少了对提示词技术和模型推理能力的依赖,提高了 LLM 应用面向复杂任务的性能,提升了系统的可解释性、稳定性和容错性。
一个完整的工作流,必须具备开始和结束两个节点。
Dify 工作流分为两种类型:
- Chatflow:面向对话类情景,包括客户服务、语义搜索、以及其他需要在构建响应时进行多步逻辑的对话式应用程序。
- Workflow:面向自动化和批处理情景,适合高质量翻译、数据分析、内容生成、电子邮件自动化等应用程序。
变量
在dify中变量一共有三种、分别是系统变量、环境变量和用户变量。
系统变量
系统变量指的是在 Chatflow / Workflow 应用内预设的系统级参数,可以被其它节点全局读取。系统级变量均以 sys 开头。
主要有:
sys.user_id:每个用户在使用工作流应用时,系统会自动向用户分配唯一标识符,用以区分不同的对话用户sys.app_id:系统会向每个 Workflow 应用分配一个唯一的标识符sys.workflow_id用于记录当前 Workflow 应用内所包含的所有节点信息sys.workflow_run_id用于记录 Workflow 应用中的运行情况
chatflow会额外多一些,不做具体解释。
环境变量
环境变量用于保护工作流内所涉及的敏感信息,例如运行工作流时所涉及的 API 密钥、数据库密码等。它们被存储在工作流程中,而不是代码中,以便在不同环境中共享。
在流程编排的时候,通过1的位置添加。
用户变量
当我们需要用户传入一些特定的信息的时候,可以通过添加变量来实现,在开始节点对应1的位置添加。
节点
节点是工作流中的关键构成,通过连接不同功能的节点,执行工作流的一系列操作。在dify的工作流中一共有下面几种类型的节点。
我们可以通过画布左下角的1的位置添加节点和工具
开始节点
1,所有的节点都可以通过这个位置修改名称,建议改成对应的功能名称
2,通过+号新增变量
3,我们可以选择变量的类型,设置变量名称、长度、是否必填等。
LLM 节点(重点)
具备调用大语言模型的能力。
这里面有下面这些操作模型选择: 通过1可以选择使用哪个模型(模型供应商配置,参考前一篇)
模型参数: 通过点击5,弹出区域6,我们可以配置模型的温度、TopP,最大标记、回复格式 等。
上下文: 在2的位置,我们想向LLM提供的背景信息,内置固定的信息。
提示词:在 3的位置,默认只有一个SYSTEM提示词,我们可以通过4添加消息,来添加USR提示词和ASSISTANT提示词。提示词中我们可以通过{获取变量,通过/获取上下文,
系统提示词我们可以通过7对应的位置自动生成填充。
我们可以设置失败重试策略。
知识检索(重点)
使用已经创建的知识库。

1,通过1的位置,设置查询知识库的变量
2,我们2的位置添加知识库
3,通过3的位置设置召回策略
下图为召回策略可设置的参数。
问题分类
问题分类主要是通过大模型,将用户的问题,进行意图分类,普通的条件分类为a=x 走什么,a=y走什么,都是具体的判断,逻辑。
比如我们通过这个是感知用户售后问题,还是产品使用咨询。然后匹配到相关的知识库。

- 通过
1我们可以选择模型 - 通过
2我们选择用户输入的内容 - 通过
3我们设置分类类型 - 通过
4我们可以添加分类 - 通过
5我们可以填写分类提示词
通过分类,我们可以指向不同的知识库。
条件分支(重点)
主要用于流程节点中的逻辑判断。功能也很丰富,自主性特别高。
- 通过
1我们可以选择条件的变量 - 通过
2我们可以选择逻辑条件,中文意思很直白了 - 通过
3我们设置条件值 - 通过
4可以添加条件 - 多个条件的时候,可以通过
5设置条件的逻辑关系 - 通过
6可以添加其他逻辑
迭代
一般用于多任务的处理(每个任务的处理流程必须一样)。

1迭代内部可以认为是一个子流程2迭代的输入是一个多个任务(数组形式)3迭代的输出也是一个数组(每个输出包含是哪个输入,可以用于区分)4可以开启并行,同时执行几个5根据自己的需要,错误了是终结,还是继续
代码执行
代码执行,给我们带来了很大的灵活性,官方给的场景是结构化数据处理,数学计算、拼接数据。
代码的执行是有风险的,为了确保安全,dify使用sandbox执行代码,不能使用消耗大量系统资源或引发安全问题的操作。比如访问文件系统、进行网络请求、执行操作系统级别的命令。
也就意味着不能直接写代码连接数据库了。

- 通过
123可以添加输入变量(每个节点内的) - 通过
4我们可以写PYTHON3或JAVASCRIPT代码来执行相应的逻辑 - 通过
5我们可以设置返回的数据类型 - 通过
6我们可以设置重试机制,也就是失败以后,可以重试几次,以及每次重试之间的时间间隔
模板转换
这个是使用摸版引擎记性数据处理,代码执行也能实现。
变量聚合
将多路分支的变量聚合为一个变量,以实现下游节点统一配置。一般用于多个分支处理。
比如我有两个知识库A和B,我需要同时查A和B,查到以后,我需要将AB的数据整合,然后给大模型,这个就是这个作用。
文档提取器(重要)
用来提取用户上传上来的文档的内容,然后将提取到的文本内容给LLM处理。

参数提取
从指定的地方获取数据后,将数据结构化。
HTTP请求(重要)
这个让dify具备一切的可能性。
举两个例子:
- dify没有权限管理,我们可以在我们的业务系统里给每个人生成一个密钥,通过http调用来鉴权。
- dify不能直接连接数据库,我们可以通过暴露接口实现

Agent应用
我们在工作室中,通过,从应用模板创建。

- 通过
1选择Agent - 通过
2选择旅游
改下应用名称即可。
- 我通过kimi把原提示词翻译成了中文,注意变量名,不能翻译
- google搜索需要授权,我没有,换个其他的。

- 通过
1删除google搜索插件(最后大家看提示词里,只用了wikipedia_search,但是在跑的时候可以动态切换,应该是有什么机制) - 通过
2添加插件, - 选择
3内置下面的4搜索里的5  通过1、2、3`切换下模型

开场白是英文的,我们通过点击1管理设置下。
- 通过
1我们可以设置开场白,把英文转成中文
这里也有一些其他的功能,比如语音转文字、使用知识库或搜索的时候,显式源文档的引用

- 在wikipedia中没有搜索到,它会自动切换到下一个。
工作流应用
使用场景梳理
使用工作流,首先我们要知道我们要用工作流解决什么问题。梳理出相应的流程,然后再去落地。
我当时想到两个场景:
- 1,用户输入问题-> 大模型提炼关键词->然后查询数据库->将结果和问题给大模型->输出结果

- 2,用户输入问题->同时搜索本地知识库+联网搜索-> 代码整合->大模型推理->输出结果

在实验的过程中,场景1因为沙箱的安全机制,被拦截了,找了下通过改源码,可以解决这个问题,不过沙箱以后就得自己本地打镜像了。
场景2在搜索的时候,没有google和bing的key,用的searchapi遇到dns解析的问题,这个大家在玩的时候只用知识库就行了。然后搜索到返回的几个url链接,还得解析,比较麻烦,最后只连知识库了。
创建工作流
创建一个空白应用,选择1工作流,填写应用名称2 和描述3,点击4创建
添加查询入参
因为我们要询问,所以先在开始节点添加一个变量query用来接收我们的询问

添加知识检索
增加知识检索节点,并把开始节点的query设置到查询变量1里,点击2的位置添加知识库,通过3可以设置召回策略。
LLM设置

我们点击上下文,然后可以看到知识检索1的的输出result 2
设置系统提示词
添加结束节点

最后流程如下:
试运行

1`点击左上角的运行,输入页签`2`,填写问题`3`,点击开始运行`4
运行结束以后,我们点击跟踪1,可以看到各个节点的执行明细2,可以看到大模型数据结果3。
发布
我们可以直接运行,也可以发布为工具。
直接运行,直接把链接分享给同事,就能共用。(别忘了防火墙设置。)

在大模型时代,我们如何有效的去学习大模型?
现如今大模型岗位需求越来越大,但是相关岗位人才难求,薪资持续走高,AI运营薪资平均值约18457元,AI工程师薪资平均值约37336元,大模型算法薪资平均值约39607元。
掌握大模型技术你还能拥有更多可能性:
• 成为一名全栈大模型工程师,包括Prompt,LangChain,LoRA等技术开发、运营、产品等方向全栈工程;
• 能够拥有模型二次训练和微调能力,带领大家完成智能对话、文生图等热门应用;
• 薪资上浮10%-20%,覆盖更多高薪岗位,这是一个高需求、高待遇的热门方向和领域;
• 更优质的项目可以为未来创新创业提供基石。
可能大家都想学习AI大模型技术,也_想通过这项技能真正达到升职加薪,就业或是副业的目的,但是不知道该如何开始学习,因为网上的资料太多太杂乱了,如果不能系统的学习就相当于是白学。为了让大家少走弯路,少碰壁,这里我直接把都打包整理好,希望能够真正帮助到大家_。
👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

一、AGI大模型系统学习路线
很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,下面是我整理好的一套完整的学习路线,希望能够帮助到你们学习AI大模型。

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

三、AI大模型经典PDF书籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。


四、AI大模型各大场景实战案例

结语
【一一AGI大模型学习 所有资源获取处(无偿领取)一一】
所有资料 ⚡️ ,朋友们如果有需要全套 《LLM大模型入门+进阶学习资源包》,扫码获取~
👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

更多推荐


所有评论(0)