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/7/24 23:32:22 阅读更多 →
JavaSE 基础语法 - 方法的使用 - ②

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

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

2026/7/24 23:31:22 阅读更多 →
基于SPN结构的抗量子分组加密算法GiantWhale

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

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

2026/7/24 23:31:22 阅读更多 →

最新新闻

3分钟快速获取百度网盘提取码:零基础完整指南

3分钟快速获取百度网盘提取码:零基础完整指南

3分钟快速获取百度网盘提取码:零基础完整指南 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经因为忘记百度网盘提取码而无法下载急需的资源&a…

2026/7/24 23:39:26 阅读更多 →
Agent工作流总在关键环节卡住?3步授权设计让有道Lobster跑完全程

Agent工作流总在关键环节卡住?3步授权设计让有道Lobster跑完全程

从问答到自治:桌面Agent权限门控下的自闭环设计实战 当我的桌面Agent第三次停在『需要确认』的弹窗时,终于意识到这个被多数开发者忽视的真相:从问答到自治的关键不是模型能力,而是工作流能否在权限门控下自闭环。上周用有道Lobs…

2026/7/24 23:39:26 阅读更多 →
使用uesave命令行工具解析与修改Unreal Engine游戏存档(.sav)完全指南

使用uesave命令行工具解析与修改Unreal Engine游戏存档(.sav)完全指南

1. 项目概述:为什么我们需要一个“终极”存档编辑工具?在游戏开发与深度玩家社区里,Unreal Engine(虚幻引擎)构建的世界总是充满了无限可能。然而,无论是开发者进行测试,还是玩家追求个性化的游…

2026/7/24 23:39:26 阅读更多 →
TLV320ADC3101音频前端芯片:集成miniDSP的ADC实战指南

TLV320ADC3101音频前端芯片:集成miniDSP的ADC实战指南

1. 项目概述:为什么选择TLV320ADC3101?在便携式音频设备的设计中,我们常常面临一个核心矛盾:既要追求极致的音频质量,又要严格控制功耗和PCB面积。传统的方案往往需要一颗高性能的ADC芯片,再外挂一颗DSP或由…

2026/7/24 23:39:26 阅读更多 →
音乐数据处理全流程:从音频分析到智能检索的技术实践

音乐数据处理全流程:从音频分析到智能检索的技术实践

如果你正在开发一个需要处理音乐数据的应用,或者想要构建一个智能音乐推荐系统,那么如何高效地管理和分析音乐文件就是一个绕不开的技术问题。今天要介绍的这个项目,虽然标题看起来像是音乐专辑,但实际上是一个很好的技术实践案例…

2026/7/24 23:39:26 阅读更多 →
轻松掌握抖音直播数据抓取:实时弹幕、用户行为、礼物数据完整教程

轻松掌握抖音直播数据抓取:实时弹幕、用户行为、礼物数据完整教程

轻松掌握抖音直播数据抓取:实时弹幕、用户行为、礼物数据完整教程 【免费下载链接】DouyinLiveWebFetcher 抖音直播间网页版的弹幕数据抓取(2025最新版本) 项目地址: https://gitcode.com/gh_mirrors/do/DouyinLiveWebFetcher 想要深入…

2026/7/24 23:38:25 阅读更多 →

日新闻

用Highcharts 创建可拖拽三维散点立方体3D图表

用Highcharts 创建可拖拽三维散点立方体3D图表

该案例基于Highcharts scatter3d 三维散点图实现空间立方体散点可视化,核心特色:三维 X/Y/Z 三轴空间,所有散点分布在 0~10 立方体空间内;散点使用径向渐变实现立体 3D 圆球质感;支持鼠标 / 触屏拖拽画布,…

2026/7/24 0:00:29 阅读更多 →
AppCertDlls:进程创建路径上的 DLL 入口

AppCertDlls:进程创建路径上的 DLL 入口

AppCertDlls:进程创建路径上的 DLL 入口 AppCertDlls 位于 HKLM\System\CurrentControlSet\Control\Session Manager\AppCertDlls。本文的程序功能是只读列出这个键在 64 位和 32 位注册表视图中的全部值,并显示每条值的来源、名称、类型和可安全显示的数…

2026/7/24 0:00:29 阅读更多 →
我的编程之路:第一篇博客

我的编程之路:第一篇博客

大家好,我是一名编程初学者,同时这也是我编程学习之路上的第一篇博客。在这里,我想要向大家介绍我的一些想法和规划。a.自我介绍我是一个刚刚接触编程的新手,目前在学习c语言,我对编程世界充满了强烈的好奇。当然&…

2026/7/24 0:00:29 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/24 3:59:20 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/24 1:23:39 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 18:52:18 阅读更多 →

月新闻