
DeepSeek+dify 本地知识库:高级应用Agent+工作流
工作流通过将复杂的任务分解成较小的步骤(节点)降低系统复杂度,减少了对提示词技术和模型推理能力的依赖,提高了 LLM 应用面向复杂任务的性能,提升了系统的可解释性、稳定性和容错性。一个完整的工作流,必须具备开始和结束两个节点。Chatflow:面向对话类情景,包括客户服务、语义搜索、以及其他需要在构建响应时进行多步逻辑的对话式应用程序。Workflow:面向自动化和批处理情景,适合高质量翻译、数据
一、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,点击查看详情
检索设置,我们可以设置向量检索、全文检索、混合检索
我们可以通过不断地测试看下哪种检索方式在这个知识库中效果比较好,然后选择设置对应的方式。
其中需要住下TopK和Score:
- TopK 代表按相似分数倒排时召回分段的最大个数。TopK 值调小,将会召回更少分段,可能导致召回的相关文本不全;TopK 值调大,将召回更多分段,可能导致召回语义相关性较低的分段使得 LLM 回复质量降低。
- 召回阈值(Score)代表允许召回分段的最低相似分数。 召回分数调小,将会召回更多分段,可能导致召回相关度较低的分段;召回分数阈值调大,将会召回更少分段,过大时将会导致丢失相关分段。
工具
dify的工具是用来扩展LLM能力的,是对外部功能的封装,比如搜索、绘图、飞书、月缺等等。就是没有看到对mysql的调用工具。
工具有dify内置的应用,也有三方工具,也可以自定义工具。
工作流也可以发布为一个工具。
二、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 节点(重点)
具备调用大语言模型的能力。
模型参数: 通过点击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 我们可以填写分类提示词
通过分类,我们可以指向不同的知识库。
那么,如何系统的去学习大模型LLM?
作为一名从业五年的资深大模型算法工程师,我经常会收到一些评论和私信,我是小白,学习大模型该从哪里入手呢?我自学没有方向怎么办?这个地方我不会啊。如果你也有类似的经历,一定要继续看下去!这些问题啊,也不是三言两语啊就能讲明白的。
所以我综合了大模型的所有知识点,给大家带来一套全网最全最细的大模型零基础教程。在做这套教程之前呢,我就曾放空大脑,以一个大模型小白的角度去重新解析它,采用基础知识和实战项目相结合的教学方式,历时3个月,终于完成了这样的课程,让你真正体会到什么是每一秒都在疯狂输出知识点。
由于篇幅有限,⚡️ 朋友们如果有需要全套 《2025全新制作的大模型全套资料》,扫码获取~
👉大模型学习指南+路线汇总👈
我们这套大模型资料呢,会从基础篇、进阶篇和项目实战篇等三大方面来讲解。
👉①.基础篇👈
基础篇里面包括了Python快速入门、AI开发环境搭建及提示词工程,带你学习大模型核心原理、prompt使用技巧、Transformer架构和预训练、SFT、RLHF等一些基础概念,用最易懂的方式带你入门大模型。
👉②.进阶篇👈
接下来是进阶篇,你将掌握RAG、Agent、Langchain、大模型微调和私有化部署,学习如何构建外挂知识库并和自己的企业相结合,学习如何使用langchain框架提高开发效率和代码质量、学习如何选择合适的基座模型并进行数据集的收集预处理以及具体的模型微调等等。
👉③.实战篇👈
实战篇会手把手带着大家练习企业级的落地项目(已脱敏),比如RAG医疗问答系统、Agent智能电商客服系统、数字人项目实战、教育行业智能助教等等,从而帮助大家更好的应对大模型时代的挑战。
👉④.福利篇👈
最后呢,会给大家一个小福利,课程视频中的所有素材,有搭建AI开发环境资料包,还有学习计划表,几十上百G素材、电子书和课件等等,只要你能想到的素材,我这里几乎都有。我已经全部上传到CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
相信我,这套大模型系统教程将会是全网最齐全 最易懂的小白专用课!!
更多推荐
所有评论(0)