DIFY-03:构建 RAG 知识库——文档问答
实验目的
掌握 Dify 知识库的创建流程,实现基于本地文档的智能问答。
重点节点
- 知识库(Knowledge Base)
- 文档上传与分段
- Embedding 模型配置
- 知识检索节点
操作步骤
1. 创建知识库
- 页面上方点击“知识库”→ 点击“创建知识库”
- 上传一份 Python 基础教程(PDF / Word / TXT / Markdown 均可)
2. 配置分段、索引、检索
- 选择分段方式:通用(推荐初学者)设置分段规则:
- 分段长度:500 字符
- 分段重叠:50 字符
- 索引方式:高质量
- Embedding 模型:
bge-m3或text-embedding-v3 - 检索选择"混合检索"->“Rerank模型”:
qwen3-rerank - 点击“保存并处理”,等待索引完成
- 完成后了进入知识库,重命名为
Python 知识库
3. 创建知识库应用
- 进入“工作室”→ **“Chatflow”**→“创建空白应用”
- 在用户输入和LLM节点之间添加知识检索节点
- 在知识检索节点的知识库选择刚创建的
Python 知识库知识库 - 在LLM节点的上下文设置中将知识节点的输出作为其上下文
- 设置系统提示词:
你是一个 Python 学习助手。 请根据{{#context#}}的信息回答问题。 如果文档中没有相关信息,请如实告知用户。 回答时请引用信息来源。注意:这里的{{#context#}}是引用的上下文
4. 测试
- 输入:
Python 中列表和元组有什么区别? - 观察是否返回知识库中的内容 + 引用来源
- 输入:
量子计算是什么?(超出知识库范围) - 观察是否如实告知无法回答
后续深入意见
- 尝试手动分段模式,对比自动分段效果
- 测试不同 Embedding 模型的检索准确率
- 下一步学习其他两类检索