Dify 知识库 RAG 完全指南:从配置到飞书集成实战
文章目录dify知识库RAG一、什么是知识库二、知识库的核心作用三、什么是RAG1. Embedding模型2. Reranker模型3. 生成四、dify知识库基本配置1. 配置嵌入模型和rerank模型2. 创建知识库1、分段模块1. 普通分块标准分块-默认2. 父子策略/层级分块索引方式1. 高质量默认2. 经济消耗token少3、模型选择4、检索设置1. 向量检索比全文检索更精准2. 全文检索3. 混合检索默认推荐五、工作流里添加知识库问答机器人六、集成到三方平台1、dify接入第三方平台飞书2、基于docker部署LangBot3、配置飞书机器人4、在飞书中使用Langbotdify知识库RAG一、什么是知识库在大模型领域知识库是指用于存储、组织和检索结构化或非结构化知识的系统通常作为外部数据源与大模型如GPT、DeepSeek等结合以增强模型对专业领域或实时信息的理解能力二、知识库的核心作用补充模型固有知识大模型的训练数据存在截止日期如GPT-4训练数据截至2023年知识库可提供新知识如2025年新闻或企业内部业务数据或者行业专精知识如医疗、法律。减少幻觉通过检索真实数据生成答案避免模型编造信息。动态更新无需重新训练模型直接更新知识库即可同步最新信息。三、什么是RAG检索增强生成Retrieval-Augmented Generation, RAG是一种结合大型语言模型LLM与外部知识库的技术。目的是为了解决LLM的“幻觉”问题、知识更新滞后及私域数据利用难题。其核心流程分为三阶段检索→重排序→生成其中Embedding嵌入模型与Reranker重排序模型是两大关键技术。啰嗦版上传文档 - 对文档进行分块 - 通过嵌入模型把每段数据向量化 - 保存到语义空间向量数据库- 用户提问 - 把问题向量化去向量数据库查找有没有跟语义相似的数据 - 向量数据库匹配到多条数据 - 进行重排序评分把关联最高的放到最上面 - 把重排序后的数据交给大模型 - 大模型根据检索出的数据和评分给出答案 - 返回给用户1. Embedding模型Embedding模型将文本映射为向量用于衡量语义相似性。其核心价值在于语义理解捕捉文本深层语义关系支持跨语言、跨粒度检索。2. Reranker模型对于检索出来的数据进行重排序Reranker是知识库的智能质检员假设你在图书馆找书先用关键词检索到100本书但需要找出最相关的3本才行。图书管理员Reranker会综合评估书籍内容、出版时间、作者权威性等维度进行二次筛选。将检索到的候选文档如100条按照与问题的相关度重新排序把最匹配的结果提升到Top位置。3. 生成将检索出的数据作为上下文传递给LLM大模型由大模型结合用户的问题和上下文知识给出对应的回复四、dify知识库基本配置1. 配置嵌入模型和rerank模型建议使用硅基流动的免费模型如果之前配过硅基流动直接打开对应模型开关即可怎么配置呢还是点击右上角的头像图标-点击设置-模型供应商-点击硅基流动一般好像是默认开启的我自己的是勾上了2. 创建知识库点击知识库-创建知识库有三种选择第一个是通过文本创建第二个国内一般不用第三个是通过爬虫创建比较麻烦先用第一个吧选择文件-然后点击下一步知识库分为三块分段设置索引方式、模型选择、检索设置现在我们来依次介绍1、分段模块1. 普通分块标准分块-默认实现方式通过固定长度的文本块分割如每段 500 字结合 Embedding 模型将文本转换为向量。优点灵活性高适用于通用文档处理支持多源数据PDF、Word、网页等检索效率平衡混合检索结合向量与关键字匹配召回率提升 30%缺点上下文割裂固定长度分块可能导致语义不连贯资源消耗较大高质量模式依赖 Embedding 模型需较高算力。适用场景通用知识库构建如企业文档管理需要快速响应混合检索的问答系统。页面字段简介分段标识符分隔符是用于分隔文本的字符。\n\n 和 \n 是常用于分隔段落和行的分隔符。用逗号连接分隔符\n\n,\n当段落超过最大块长度时会按行进行分割。你也可以使用自定义的特殊分隔符例如 ***。分段最大长度默认1024可灵活调整分段重叠长度设置分段之间的重叠长度可以保留分段之间的语义关系提升召回效果。建议设置为最大分段长度的 10%-25%使用QA分段这个比较适合客服的那种场景比如文档内容就是问答这种格式点击预览快可以实现预览不合适可以自动手动调节参数2. 父子策略/层级分块实现方式通过人工干预或规则定义分块层级例如将文档按章节划分父块再对每章内容进行子块分割。允许用户手动调整分块大小和清洗规则。对文档的要求性比较高一般比较少用优点1、语义连贯性层级结构保留上下文关系2、灵活可控适用于结构化文档如技术手册、合同。缺点开发成本高需人工标注或规则设计适用场景法律合同解析按条款分层学术论文检索按摘要、正文、参考文献分级。 - 索引方式索引方式索引方式1. 高质量默认2. 经济消耗token少3、模型选择4、检索设置分为向量检索全文检索和混合检索1. 向量检索比全文检索更精准通过生成查询嵌入并查询与其向量表示最相似的文本分段Top K用于筛选与用户问题相似度最高的文本片段。系统同时会根据选用模型上下文窗口大小动态调整分段数量。说人话就是它筛选以后你这边要选前几个一般选择3个就差不多了Score 阈值用于设置文本片段筛选的相似度阈值。重排序之后它会对每个进行打分设置这个就表示低于xx就不予采用。默认0.5支持自己配置打开那个开关就可以选了2. 全文检索检索文档中的关键字然后再进行排序3. 混合检索默认推荐把前面2种融合起来同时执行向量检索和全文检索从中找到最匹配的点击保存并处理会把文档向量化存到向量数据库就是这儿存到postgres五、工作流里添加知识库问答机器人1、新建一个chatflow工作流-新建一个节点选择只是搜索-添加之前创建的知识库-保存-点击发布大概长这样里面还有一些召回设置召回把数据从向量数据库里找到。召回设置就是查询设置比如说召回了5条数据实际就是查询了5条数据里面还可以做一些相识度阈值的设置还有就是展示前几的设置2、配置LLM大模型把知识检索返回的结果作为上下文添加到这儿然后底下的提示词复制这个# 角色你是一个需求分析专家可以基于现有需求知识回答用户提出的关于软件需求的问题。## 技能### 技能1使用以下content/content中的内容作为你学习的需求知识content上下文/content结合知识内容精准回答用户的提问不要回复超出用户问题外的答案### 技能2对于知识库不存在的问题请回答“抱歉我无法回答此类问题”不要虚构事实测试效果-ok的话就点击发布我们在建这个之前也可以做一个召回测试验证下匹配度右边可以看到匹配度得分六、集成到三方平台1、dify接入第三方平台飞书借助LangBot即可在短时间内将Dify接入到QQ、微信、飞书、钉钉、Telegram、Discord等平台提供服务。官方文档https://docs.dify.ai/zh-hans/learn-more/use-cases/connect-dify-to-various-im-platforms-by-using-langbot2、基于docker部署LangBot下载LangBot源代码https://github.com/RockChinQ/LangBot因为网络原因镜像文件未必能下载成功。我去gitee找了一个下的。下载到本地后先对压缩包进行解压里面包含了 langbot.tar 文件在cmd下进入解压后的文件夹执行命令启动LangBot在LangBot目录下进入docker子目录执行命令dockercompose up-d拉不下来就直接用这个吧dockerpull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/rockchin/langbot:latest# 拉完重命名匹配composedockertag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/rockchin/langbot:latest rockchin/langbot:latest如果你是用macarm64跟我一样报错解决方案如下1、 vim 编辑 yaml把langbot_plugin_runtime全部注释每行开头加## langbot_plugin_runtime:# platform: linux/amd64# image: rockchin/langbot:latest# container_name: langbot_plugin_runtime# volumes:# - ./data/plugins:/app/data/plugins# ports:# - 5401:5401# restart: on-failure# environment:# - TZAsia/Shanghai# command: [uv, run, --no-sync, -m, langbot_plugin.cli.__init__, rt]# networks:# - langbot_network2、打开 yaml 确认2个服务全部都加 platform: linux/amd64缩进和 image 严格同级# 1. 主程序容器langbot: platform: linux/amd64 image: rockchin/langbot:latest# 2. box沙箱容器langbot_box: platform: linux/amd64 image: rockchin/langbot:latest3、保存文件执行重建命令docker-composedown --remove-orphansdocker-composeup-d大功告成3、配置飞书机器人1、登录飞书开放平台https://open.feishu.cn/app2、创建企业自建应用3、给应用添加能力点击创建好的应用-添加应用能力4、添加权限5、找到刚刚创建应用的app_idapp_secretencrypt_key6、修改 Langbot 配置文件打开 Users/xx/LangBot/docker/data/config/platform.json找到以下配置项按照上面的相关信息进行相关配置修改{adapter:lark,enable:true,app_id:cli_a88cabdac13cd00e,app_secret:8klhCLPG1pQnvIB1q1tyDdDQQuCI4bVeq,bot_name:LangBot,enable-webhook:false,port:2285,encrypt-key:ui78uuiiwoF7DG0rCG9ptis1h0iNV3}7、重启longbot容器dockercompose restart8、配置事件和回调添加事件9、创建版本发布机器人10、langbot接入dify在首次运行 LangBot 后会在 LangBot 目录生成 data 文件夹打开其中的 config/provider.json 文件设置其中的 runner 为 dify-service-api。runner:dify-service-api,相应的配置 dify-service-apirunner:dify-service-api,dify-service-api:{base-url:http://host.docker.internal/v1,app-type:chat,options:{convert-thinking-tips:plain},chat:{api-key:app-Y2gkb5oF430mQIAmNiLjAv7u,timeout:120},agent:{api-key:app-1234567890,timeout:120},workflow:{api-key:app-1234567890,output-key:summary,timeout:120}}base-urlDify Service API 的地址默认是https://api.dify.ai/v1这是 Dify 官方云服务的地址如果你使用的是自己部署的版本请设置为你的自部署地址上面那个。本地因为是容器部署没办法用localhost所以改成上面的http://host.docker.internal/v1配置urlapp-type使用的 Dify 应用类型。支持 chat - 聊天助手含 Chatflow、agent - Agent、workflow - 工作流请填写下方对应的应用类型 API 参数options特殊的选项配置。convert-thinking-tipsdify 使用 deepseek-r1 等有思维链的模型时会携带思考过程回复此选项控制输出时的处理方式值为 original 时不转换思考提示值为 plain 时将思考提示转换为类似 DeepSeek 官方的… 格式值为 remove 时删除思考提示chatDify 聊天助手或 chatflow应用的配置api-keyDify 聊天助手应用的 API 密钥获取方式见截图timeoutDify 聊天助手应用的请求超时时间以秒为单位默认是 120 秒。agentDify Agent 应用的配置api-keyDify Agent 应用的 API 密钥测试过程中遇到问题可以先看LangBot 实时日志cd/Users/kola/LangBot/dockerdocker-composelogs-flangbot4、在飞书中使用Langbot打开飞书会在聊天列表中看到Langbot机器人可以私聊

相关新闻

[实战] 2026年精益质量管理新范式:从数字化图纸解析到检验计划自动化

[实战] 2026年精益质量管理新范式:从数字化图纸解析到检验计划自动化

在 2026 年的离散制造业中,精益质量管理(Lean Quality Management)已不再仅仅局限于消除生产线上的物理浪费。随着工业数字化进入深水区,质量管理的精益化核心已转向“数据的精准流动”与“检验流程的零等待”。今天作为一名在质量…

2026/9/17 21:54:32 阅读更多 →
JavaSE 基础语法 - 方法的使用 - ②

JavaSE 基础语法 - 方法的使用 - ②

接上节 JavaSE 基础语法 - 方法的使用 - ① 的内容。 十一、方法签名 在学习方法重载之前,我们需要先了解一个非常重要的概念——方法签名(Method Signature)。 很多初学者都有这样的疑问: 为什么下面三个方法都叫 sum()&#xff…

2026/9/19 10:27:48 阅读更多 →
基于SPN结构的抗量子分组加密算法GiantWhale

基于SPN结构的抗量子分组加密算法GiantWhale

基于SPN结构的抗量子分组加密算法GiantWhale我们知道,量子计算机对RSA和ECC等非对称加密算法的威胁非常大,对AES、ARIA和SM4等对称加密算法的威胁则较小。就目前来说,量子算法对对称加密算法分支之一的分组加密算法有两大威胁:&am…

2026/9/12 3:29:00 阅读更多 →

最新新闻

STM32软件SPI驱动1.8寸TFT-LCD完整教程

STM32软件SPI驱动1.8寸TFT-LCD完整教程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/21 10:22:15 阅读更多 →
PCIe 5.0交换芯片如何破解AI集群GPU互联瓶颈

PCIe 5.0交换芯片如何破解AI集群GPU互联瓶颈

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/21 10:22:15 阅读更多 →
2026跨部门协同研发管理系统选型指南:避开踩坑实战解析

2026跨部门协同研发管理系统选型指南:避开踩坑实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/21 10:22:14 阅读更多 →
外贸建站用什么平台好?新手入门避坑指南

外贸建站用什么平台好?新手入门避坑指南

外贸建站用什么平台好?新手入门避坑指南 网站做好了没人访问,这是90%外贸新手最崩溃的时刻。你花了几万块定制开发,页面精美得像杂志,但打开百度或谷歌搜产品,根本找不到你。别慌,这通常不是内容的问题,而是 技术选型 从一开始就错了。…

2026/9/21 9:45:18 阅读更多 →
一个服务器上有两个网站要备案两次吗?源码下载避坑指南

一个服务器上有两个网站要备案两次吗?源码下载避坑指南

一个服务器上有两个网站要备案两次吗?源码下载避坑指南 别再死磕那些丑得令人发指的模板网站了,真的,看着都尴尬。很多新手为了省事,直接去搜“源码下载”,结果装出来的页面配色像上世纪的网吧,布局挤得像早高峰的地铁,客户一眼就能看穿你的不专业。更头疼的是,当你终于搞定两个网站,准备绑上服务器时,卡在了备案…

2026/9/21 9:30:07 阅读更多 →
个人博客网页设计论文选题怎么选,3个维度避开域名服务器坑

个人博客网页设计论文选题怎么选,3个维度避开域名服务器坑

个人博客网页设计论文选题怎么选,3个维度避开域名服务器坑 域名解析报错 502,服务器内存爆满,这种“代码写得好,上线就抓瞎”的尴尬,是不是你写个人博客网页设计论文时的真实写照?很多同学在选题和实操阶段,死磕 CSS 动画或 JS 交互,却对最底层的域名绑定和服务器配置一知半解。…

2026/9/21 9:16:31 阅读更多 →

日新闻

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程 【免费下载链接】agentic-awesome-skills AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and …

2026/9/21 0:00:01 阅读更多 →
gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析 【免费下载链接】gin-vue-admin 🚀ViteVue3Gin拥有AI辅助的基础开发平台,企业级业务AI开发解决方案,内置mcp辅助服务,内置skills管理,…

2026/9/21 0:00:01 阅读更多 →
Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

桌面应用AI 应用插件系统 【免费下载链接】Wox A cross-platform launcher that simply works 项目地址: https://gitcode.com/gh_mirrors/wo/Wox 点击查看 免费下载 全功能插件(Full-featured Plugin)是 Wox 三类插件实现方式中能力最完整的…

2026/9/21 0:00:01 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/21 3:13:20 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/21 2:19:36 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/21 4:51:05 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/19 23:01:36 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/19 17:50:38 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →