Dify私有化知识库搭建并通过ChatFlow智能机器人使用知识库的详细操作步骤

发布于:2025-06-30 ⋅ 阅读:(24) ⋅ 点赞:(0)

1.配置嵌⼊模型和reranker模型

右上角个人头像—>设置—>模型供应商—>模型列表

硅基流动里面打开重排序模型BAAI/bge-reranker-v2-m3和嵌入模型BAAI/bge-m3,也可以用netease-youdao/bce-reranker-base_v1netease-youdao/bce-embedding-base_v1都是免费的

为什么选择这两个模型:因为是免费的,大家可以选择自己的模型

2.创建知识库

STEP1:选择数据源

这里我选择一个文本

Notion国内很少用

Web网页是通过爬虫读取网页内容

 上传好文件后,点击【下一步】

 STEP2:文本分段与清洗

  • 分段设置

为解决长文本表示问题,RAG系统普遍采⽤分段策略

普通分块:

通过固定⻓度分割,如每段500字,在结合Embedding模型将⽂本转换为向量

优点:

1. 灵活性⾼:适⽤于通⽤⽂档,⽀持多源数据,如PDF、Word、网页等

2.检索效率平衡:混合检索结合向量与关键字匹配,召回率提升30%

3.通⽤知识库构建(如企业文档管理)和需要快速响应混合检索的问答系统

缺点:

1.上下文割裂:固定长度分块可能导致语义不连贯
2. 资源消耗较大:⾼质量模式依赖Embedding模型,需较高算力

父子分段:

用户可以自己定义分块层级,例如将文档按章节划分⽗块,再对每章内容进⾏子块分割。允许用户⼿动调整分块大小和清洗规则

优点:

1.语义连贯性:层级结构保留上下⽂关系

2.灵活可控:适⽤于结构化⽂档(如技术⼿册、合同)

3.适⽤法律合同解析(按条款分层)和学术论文检索(按摘要、正文、参考⽂献分级)

缺点:

1.开发成本⾼:需人工标注或规则设计

2.扩展性差:难以适应⾮结构化数据

  • 索引方式

下拉选择BAAI/bge-m3,索引方式选择推荐的 “高质量”

  • 检索设置

检索方式选择推荐的 “混合检索”

选择重排序模型:BAAI/bge-reranker-v2-m3

调整Top k:是指重排序后选择前几个,一般选择前3个就行,3个之后关联度很低

Score 阈值:是指重排序过程中给检索结果打的分,在0-1之间,这个设置的意思是指低于多少分的检索结果不选,默认0.5,可以自己设置。

STEP3:保存并处理

至此设置已经完成,点击【保存并处理】,dify知识库会根据之前的设置完成文档分段,然后将每段数据向量化后存入数据库

 

 点击 “前往文档”,可以跳转到文档列表,可以再次新增文档,还可以重命名,归档、删除文档

 回到知识库tab页,可以看到已经添加的知识库

 点击【设置】可以设置知识库名称

3.召回测试

在文档列表左侧有 “召回测试”入口

4.创建ChatFlow问答机器人

  • 新建ChatFlow

新建的Flow有默认节点,如下图

  •  新增节点:知识检索

  •  设置知识检索节点

添加知识库:

 召回设置:

 

  • 设置大模型节点

上下文:选择知识检索结果

 SYSTEM里要引用上下文

  •  预览

完成上面的设置后,可以通过预览看下效果:


网站公告

今日签到

点亮在社区的每一天
去签到