ANALYSIS
Dify 知识库使用指南
概述
知识库是 Dify 中将自有数据集成到 AI 应用的核心功能。通过检索增强生成(RAG)技术,知识库能够让 LLM 的回复更加准确、相关,并显著减少幻觉。
知识库基础
什么是知识库
知识库允许将自有数据作为「知识」集成到 AI 应用中,为大语言模型提供特定领域的上下文信息。
RAG 技术原理
检索增强生成(RAG)的核心在于:
- 检索(Retrieval):处理用户提问时,系统从已集成的知识库中检索最相关的信息
- 增强(Augmentation):检索到的信息与用户的原始问题打包,作为增强的上下文发送给 LLM
- 生成(Generation):LLM 基于这些上下文生成更精准的答案
应用场景
| 场景 | 说明 |
|---|---|
| 智能客服机器人 | 基于产品文档、FAQ 和故障排查指南智能回复客户问题 |
| 企业内部知识门户 | 快速查询公司政策与流程 |
| 内容生成工具 | 根据特定背景资料智能生成报告、文章或邮件 |
| 科研与分析应用 | 检索和总结学术论文、市场报告、法律文档等 |
创建知识库
快速创建
快速创建适合简单场景,导入数据后设置处理规则即可。
步骤:
- 进入 知识库 页面
- 点击 创建知识库
- 选择 快速创建
- 上传文档或粘贴文本
- 设置处理规则
- 点击 创建
优点:
- 简单高效
- 新手友好
- 自动处理
通过知识流水线创建
适合复杂场景,可以自定义步骤和插件,编排更灵活的数据处理流程。
步骤:
- 进入 知识库 页面
- 点击 创建知识库
- 选择 知识流水线
- 设计处理流程
- 配置节点和插件
- 测试和发布
优点:
- 高度灵活
- 可自定义处理逻辑
- 适合复杂数据
连接外部知识库
通过 API 直接同步外部知识库,无需迁移数据。
步骤:
- 进入 知识库 页面
- 点击 创建知识库
- 选择 外部知识库
- 配置 API 连接
- 设置同步规则
- 测试连接
优点:
- 无需数据迁移
- 实时同步
- 利用现有数据
导入数据
支持的数据类型
| 数据类型 | 格式 | 说明 |
|---|---|---|
| 文本文档 | TXT, MD | 纯文本文件 |
| 文档文件 | PDF, DOCX, DOC | 常见文档格式 |
| 网页内容 | URL | 从网页抓取内容 |
| 表格数据 | CSV, XLSX | 结构化数据 |
| 数据库 | SQL | 从数据库导入 |
| API 接口 | JSON, XML | 通过 API 获取 |
上传文档
方法一:拖拽上传
- 拖拽文件到上传区域
- 等待上传完成
- 自动开始处理
方法二:点击上传
- 点击上传按钮
- 选择文件
- 点击确认
分段设置
分段是将长文档切分成小段,提高检索准确性的关键步骤。
分段策略:
- 自动分段:由系统自动识别分段点
- 自定义分段:手动设置分段规则
- 智能分段:基于语义理解的分段
分段参数:
PRTCL // YAML
分段配置: strategy: "automatic" # automatic, custom, intelligent chunk_size: 500 # 每段大小(字符数) chunk_overlap: 50 # 段落重叠大小 separator: "\n\n" # 分隔符处理规则
文本清理:
- 移除特殊字符
- 标准化空格
- 处理编码问题
元数据提取:
- 标题
- 作者
- 日期
- 标签
质量控制:
- 重复内容检测
- 无效内容过滤
- 质量评分
管理与优化
维护知识库内容
查看文档:
- 浏览所有导入的文档
- 查看文档分段
- 检查处理状态
添加文档:
- 单个文档上传
- 批量导入
- 持续同步
修改文档:
- 更新文档内容
- 调整分段设置
- 重新处理
删除文档:
- 单个删除
- 批量删除
- 清空知识库
测试召回效果
召回测试:
PRTCL // YAML
测试配置: query: "用户问题" top_k: 5 # 返回前 5 个最相关的分段 threshold: 0.7 # 相似度阈值测试步骤:
- 输入测试问题
- 查看召回结果
- 评估相关性
- 调整参数
评估指标:
- 相关性得分
- 召回准确率
- 响应速度
元数据增强
添加元数据:
PRTCL // YAML
元数据配置: document_id: "doc_001" title: "产品手册" category: "产品" tags: ["使用指南", "常见问题"] last_updated: "2026-03-12"基于元数据检索:
PRTCL // YAML
检索配置: query: "用户问题" filters: category: "产品" tags: ["使用指南"]优势:
- 提高检索精度
- 支持多维度筛选
- 增强上下文相关性
调整知识库设置
索引方式:
- 关键词索引:基于关键词匹配
- 语义索引:基于语义相似度
- 混合索引:结合关键词和语义
嵌入模型:
- OpenAI Embeddings:高质量的嵌入
- HuggingFace Embeddings:开源嵌入模型
- 自定义 Embeddings:自训练模型
检索策略:
PRTCL // YAML
检索策略配置: type: "hybrid" # keyword, semantic, hybrid top_k: 5 similarity_threshold: 0.7 rerank: true # 重排序使用知识库
集成到应用
聊天机器人:
PRTCL // YAML
应用配置: type: "chatbot" knowledge_bases: - "product_docs" - "faq" retrieval: top_k: 3 threshold: 0.8工作流:
PRTCL // YAML
LLM 节点配置: context: knowledge_base: "product_docs" retrieval: top_k: 5 variable_name: "context" prompt: | 基于以下上下文回答问题: {{context}}
问题:{{query}}API 调用:
PRTCL // JSON
{ "inputs": { "query": "如何使用产品?" }, "retrieval_resource": { "mode": "auto" }}检索模式
自动检索:
PRTCL // YAML
retrieval: mode: "auto" knowledge_bases: ["kb1", "kb2"]手动检索:
PRTCL // YAML
retrieval: mode: "manual" knowledge_bases: ["kb1"] top_k: 3混合检索:
PRTCL // YAML
retrieval: mode: "hybrid" keyword_weight: 0.3 semantic_weight: 0.7高级功能
向量数据库
支持的向量数据库:
- Weaviate
- Milvus
- Pinecone
- Qdrant
- Chroma
配置示例:
PRTCL // YAML
向量数据库配置: provider: "weaviate" endpoint: "http://localhost:8080" api_key: "${WEAVIATE_API_KEY}" collection: "dify_kb"实时更新
自动同步:
PRTCL // YAML
同步配置: enabled: true interval: 3600 # 每小时同步 source: "api" endpoint: "https://api.example.com/docs"手动更新:
- 进入知识库详情
- 点击更新按钮
- 选择更新范围
- 确认更新
多语言支持
语言检测:
PRTCL // YAML
语言配置: auto_detect: true default_language: "zh-CN" supported_languages: - "zh-CN" - "en-US" - "ja-JP"跨语言检索:
PRTCL // YAML
检索配置: cross_language: true query_language: "zh-CN" target_language: "en-US"最佳实践
数据准备
文档质量:
- 确保内容准确、完整
- 保持结构清晰
- 避免重复内容
数据清洗:
- 移除无关内容
- 标准化格式
- 处理特殊字符
分段策略:
- 合理设置分段大小
- 保持段落完整性
- 适当设置重叠
检索优化
相似度阈值:
- 太低:召回不相关内容
- 太高:遗漏相关内容
- 建议:0.7-0.85
Top K 设置:
- 太少:信息不足
- 太多:干扰过多
- 建议:3-5
重排序:
- 启用重排序提高准确性
- 使用更强大的模型
- 考虑性能影响
性能优化
缓存策略:
PRTCL // YAML
缓存配置: enabled: true ttl: 3600 max_size: 1000批量处理:
PRTCL // YAML
批量配置: batch_size: 100 parallel: true异步处理:
PRTCL // YAML
异步配置: enabled: true queue: "redis" workers: 4故障排查
召回不准确
可能原因:
- 分段设置不当
- 相似度阈值不合适
- 文档质量差
解决方案:
- 调整分段策略
- 优化相似度阈值
- 提高文档质量
处理失败
可能原因:
- 文件格式不支持
- 文件损坏
- 资源不足
解决方案:
- 检查文件格式
- 重新上传文件
- 增加资源配额
性能问题
可能原因:
- 知识库过大
- 检索参数不当
- 系统资源不足
解决方案:
- 分割知识库
- 优化检索参数
- 增加系统资源
资源链接
- 知识库文档: https://docs.dify.ai/zh/use-dify/knowledge
- RAG 技术文档: https://docs.dify.ai/zh/use-dify/knowledge/retrieval
- 最佳实践: https://docs.dify.ai/zh/use-dify/knowledge/best-practices
最后更新: 2026-03-12 作者: EchoHaoRan
R P
Rhine Lab Pioneer Division
Auth_Verified: 2026.04.08
Auth_Verified: 2026.04.08
