🤖 AI 跟我学 新手入门

Dify 知识库怎么搭?文档 RAG 5 步入门

Dify 知识库怎么用?这篇教你 5 步搭好 Dify RAG:从上传文档、分段策略、Embedding 选型,到接进应用、做检索调优,含真实参数建议

发布 2026/05/20

30 秒了解:Dify 知识库是什么

Dify 知识库(Knowledge Base)是 Dify 内置的 RAG(检索增强生成)模块,你把 PDF、Word、Excel、Markdown 等文档上传进去,Dify 会自动切片 → 做 Embedding 向量化 → 存进向量库;之后应用对话时,Dify 会先去检索最相关的片段,再把片段塞给 LLM 一起生成回答。

为什么要用 Dify 知识库?两点价值:

  • 让大模型懂你的私有资料(公司文档、产品手册、内部 SOP)
  • 减少模型幻觉——回答有出处可追溯,比纯 prompt 工程稳得多

这篇假设你已经看过 Dify 怎么用,会注册账号和创建应用。如果还不会,先去基础篇过一遍。

如果想理解 RAG 的底层原理,看 RAG 是什么。这篇只讲在 Dify 里怎么用。

准备工作

项目要求
Dify 账号云版(推荐新手)或自部署(v0.10+)
Embedding 模型 API KeyOpenAI text-embedding-3、智谱 embedding-2、阿里 text-embedding-v3 任选一个
文档原料PDF / Word / Excel / Markdown / TXT 等,单文件云版 ≤ 15MB
应用一个已经建好的 Chatbot 或 Agent 应用

文档质量直接决定检索效果——杂乱无章的 PDF 比清晰结构的 Markdown 难用 3 倍。能整理就提前整理。

详细操作步骤(5 步)

第 1 步:创建知识库

进入 Dify 工作室 → 顶部导航 知识库 → 右上角 创建知识库

  • 命名:建议按主题命名,如「商品 FAQ」「内部 SOP」「2026 产品手册」
  • 描述:写一句这个库是干啥用的,给 LLM 后面理解用途用

[此处放截图:知识库创建页]

第 2 步:上传文档(4 种方式)

Dify 支持 4 种上传方式:

方式适用场景
本地文件单次上传几个文件
同步自 Notion团队知识在 Notion 里
同步自网页抓取公开 URL 的内容
通过 API自动化场景(如 CRM 数据每天同步)

新手用本地文件就够。上传时建议每批 5-10 个文件,太多容易卡住或解析失败。

[此处放截图:知识库上传文件界面]

第 3 步:分段策略(核心,最影响效果)

上传后 Dify 会问你怎么切片。这一步选错,检索效果就废了一半,重点讲。

两种模式:

模式 1:自动分段(小白用这个)

  • 按段落 + 长度自动切,默认每段 500 token,重叠 50 token
  • 优点:零配置,5 秒搞定
  • 缺点:对结构化文档(如 FAQ、产品手册)会切得很碎,丢上下文

模式 2:自定义分段

  • 你指定分隔符(\n\n---###
  • 你指定每段最大长度(建议 300-800 token)
  • 你指定重叠长度(建议每段长度的 10-15%)
  • 可以开 父子分段:父段供检索匹配,子段供精确召回

3 类文档的推荐配置:

文档类型推荐模式分段长度重叠
FAQ 文档自定义,按 Q&A 切400 token50 token
产品手册自定义,按 ## 标题切600 token80 token
长篇论文/合同自动分段500 token50 token

对中文文档,token 数大致按字数除以 1.5 估算,500 token 约 330 个中文字。

第 4 步:选 Embedding 模型 + 索引模式

下一步选 Embedding 模型索引模式

Embedding 模型决定「文本怎么变向量」,常用的有:

模型优点价格(参考)
OpenAI text-embedding-3-small通用强、便宜极低
智谱 embedding-2中文好、国内稳定
阿里 text-embedding-v3中文极强、阿里云生态极低
自部署 BGE-large完全免费、可离线0(自付服务器)

国内业务推荐智谱或阿里,海外业务推荐 OpenAI,预算极紧 + 有 GPU 的团队上 BGE 自部署

索引模式有 2 种:

  • 高质量模式:用 Embedding 做向量检索,准确率高、消耗 token、有费用
  • 经济模式:用关键词倒排索引,零成本,但召回不如向量

生产环境必须用高质量模式。经济模式只适合 demo 演示。

第 5 步:绑定到应用 + 调试检索

回到你的 Chatbot 或 Agent 应用 → 上下文 区域 → 添加 → 选刚才建好的知识库。

绑定后有几个关键参数:

  • Top K:每次检索返回几条片段(建议 3-5,太多会污染 prompt)
  • Score 阈值:相似度低于这个值的片段过滤掉(建议 0.5,调严就 0.7)
  • 重排模型(可选):对召回结果再排一次,准度更高,多花一点钱

调试方法:

  1. 预览 区直接问知识库里有的问题
  2. 看右侧「召回片段」面板,确认检索是否命中
  3. 没命中 → 调小 Score 阈值 / 增大 Top K / 重新分段
  4. 命中但 LLM 没用 → 改 prompt 强调「优先引用上下文」

[此处放截图:应用绑定知识库 + 调试面板]

5 个让 Dify 知识库更准的高级技巧

技巧怎么做
多库分主题商品库、政策库、活动库分开建,按应用按需绑
父子分段救上下文父段供匹配、子段供回答,长文档检索召回率提升明显
加 Q 改写应用层加一个 LLM 节点先把用户口语化提问改写成检索友好的问句
加 Rerank 重排召回后用 BGE-reranker 等重排模型再排一次,准度提升 10-20%
元数据过滤给文档打标签(如「2026 年」「华东区」),检索时只在子集里搜

常见坑 + 解决办法

现象原因解决
上传后解析失败文件太大 / 图片型 PDF单文件 ≤ 15MB(云版);扫描型 PDF 先 OCR 转可搜索 PDF
检索结果总不对分段太大或太小 / Embedding 模型不匹配语言重切片 + 换中文 Embedding;先看「召回片段」对不对再判断
LLM 答得很泛、不引用知识库prompt 没强调引用 / Top K 太少prompt 加「必须基于上下文回答,找不到就说找不到」+ Top K 调到 4-5
知识库内容更新后回答还是老的索引没重建在知识库管理页点 重新索引,或直接删旧文件重传新版
检索很慢文档量大 / 向量库参数自部署可换 Milvus / Qdrant;云版联系客服调配置
多个知识库一起绑越绑越糊Top K 没合理分配限制每个库的 Top K,或者让应用自己按问题路由到单个库

一个完整实战案例:搭一个「内部 SOP 答疑机器人」

需求:把公司 200 多份 SOP 文档喂给 AI,员工随时问 AI「请假流程是啥」「报销怎么走」,AI 准确引用 SOP 段落回答,不编造。

实施步骤:

  1. 整理文档:把零散的 Word、PDF 都转成 Markdown,每个 SOP 一份文件,开头写清楚标题
  2. 建库:在 Dify 建一个「内部 SOP」知识库,自定义分段按 ## 切,长度 600 token,重叠 80
  3. 选 Embedding:内部数据,用阿里 text-embedding-v3(数据走阿里云、便宜、中文好)
  4. 建应用:新建一个 Chatbot 应用,绑定知识库,Top K = 4,Score 阈值 0.5
  5. 写 Prompt:给应用配下面这套指令
📋 Prompt 模板

你是公司内部 SOP 答疑助手。

任务

  1. 根据「检索上下文」中的 SOP 内容回答员工提问
  2. 必须基于上下文,找不到答案就说「未在 SOP 中找到,请咨询 HR」
  3. 回答末尾标注引用了哪份 SOP(如:参考《2026 报销流程》)

风格

  • 简洁直接,3 句话以内说完
  • 步骤型问题用编号列表
  • 不要编造金额、时间、人名

边界

  • 涉及薪酬、合同细节,引导员工去找 HR
  • 涉及法律、合规问题,引导找法务

现在请回答员工的问题。

  1. 测试 + 上线:找 10 个真实场景的问题测一遍,调通后发到企微或飞书机器人

实测下来,SOP 类高频问题的答对率能到 85% 以上,比让员工自己翻文档省事得多。

进阶 / 下一步

常见问题

Q:Dify 知识库最多能存多少文档? A:云版有套餐限制(具体看官网订阅页),自部署无上限——理论上你的向量数据库(默认 Weaviate)能存几亿条片段。十万级文档完全没压力。

Q:上传的文档会被 Dify 拿去训练模型吗? A:云版按 Dify 隐私政策处理,不会拿用户数据训练模型(以最新官方政策为准)。如果你的数据极度敏感(医疗、金融、合同),直接上自部署版彻底不出网最稳。

Q:知识库支持图片和表格吗? A:表格支持(Excel / CSV / Word 表格自动解析)。图片本身不被向量化,但图片型 PDF 经 OCR 后可以变成可检索文本。复杂图表建议手动转成 Markdown 表格。

Q:能不能让知识库根据用户身份返回不同内容? A:可以。在应用层做权限路由——不同角色的用户走不同的知识库,或在 prompt 里加角色变量过滤。Dify 没有内置的「细粒度文档权限」,需要在应用编排时自己实现。

Q:检索效果一般,要不要换 Embedding 模型? A:先调分段策略和 prompt,再考虑换模型。80% 的检索问题是分段太大/太小、prompt 没强调引用、Top K 配错——这些都是 5 分钟能改的,比换模型省事。

Q:Dify 知识库 vs 自己搭 LangChain RAG 哪个好? A:追求快速上线、给业务/运营用 → Dify 知识库(5 分钟搭好);追求深度定制、给开发团队长期维护 → LangChain / LlamaIndex(灵活但要写代码)。Dify 知识库的能力对 80% 的企业 RAG 场景已经够用。