当前位置: 首页 > news >正文

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

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里要引用上下文

  •  预览

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

相关文章:

  • Day46 通道注意力(SE注意力)
  • 第三次课:实验室安全用电
  • 【linux】文件与目录命令 - csplit
  • 将iso镜像文件格式转换为云平台支持的镜像文件格式
  • JavaScript基础pink[3]-函数/作用域/预解析
  • 【硬核数学】3. AI如何应对不确定性?概率论为模型注入“灵魂”《从零构建机器学习、深度学习到LLM的数学认知》
  • MCU、LIN收发器与LIN总线是如何进行交互的?
  • 设计模式(五)
  • php-m和phpinfo之间不一致的问题的可能原因和解决办法
  • 用SolidWorks 与 Arduino设计的一款简易小船
  • Leetcode百题斩-双指针
  • 30秒释放C盘空间,电脑提速100%
  • 基于Python的高级IP扫描工具设计与实现
  • 《GAP 协议:设备角色与发现流程的设计思路》面试高频考点与真题解析
  • 自动化提示工程:未来AI优化的关键突破
  • MybatisPlus-02.快速入门-入门案例
  • 茶叶根茎分割数据集介绍与应用
  • Vue中keep-alive结合router实现部分页面缓存
  • 【stm32】HAL库开发——单片机工作模式
  • stm32之普通定时器