文章讲述了Dify平台中知识库分段长度设置对检索召回率的影响。分析了分段长度过长或过短对检索效果的负面影响,并提供优化建议:根据文档类型选择合适长度(通常512-1024字符),结合业务需求调整,利用Dify调试工具进行参数优化。合理设置分段长度可显著提升AI应用的检索性能和用户体验。


摘要:在开发dify的agent 应用中的时候,知识库的检索召回率很重要,而在 Dify 的众多关键设置中,分段长度设置对检索召回率有着至关重要的影响,这一影响直接关系到智能应用的性能和用户体验 。今天,就让我们一起深入探讨 Dify 分段长度设置与检索召回率之间的微妙关系,揭开其中的神秘面纱。

  • 检索召回率和分段长度设置
  • 分段长度对检索召回率的影响
  • 如何优化分段长度设置

01

检索召回率和分段长度设置

在 AI 信息检索的领域中,检索召回率是一个极为关键的概念 ,它就像是衡量信息检索系统 “搜索能力” 的一把尺子,直观地反映了系统从海量信息中准确找到用户所需相关信息的能力。简单来说,检索召回率就是检索出的相关文档数与文档库中所有相关文档数的比率 。

例如,当你在一个包含 100 篇文档的知识库中搜索关于 “人工智能在医疗领域的应用” 的信息,如果实际有 20 篇文档与这个主题相关,而检索系统成功找到了 15 篇,那么此时的检索召回率就是 15÷20×100% = 75% 。这个数值越高,说明系统的 “查全率” 越高,即能够找到更多真正与用户查询相关的信息 。

在 AI 应用中,高检索召回率有着不可忽视的重要性。例如在智能客服中,需要从知识库中检索专业的知识,然后通过大模型加工后返回给客户,如果检索召回率不高,那么就无法回复客户了。可以说,检索召回率直接关系到 AI 系统对信息获取的全面性和准确性,是决定 AI 应用性能和用户体验的核心因素之一。

分段长度设置,在dify的上传知识库的时候需要进行设置,如下所示:

不管是通用分段还是父子分段,都需要设置分段的长度,这里可以手动输入分段标识符,以及设置分段最大长度。这里设置的分段最大长度不能太长也不能太短,太大了,输入的内容和分段内容计算的向量差就大,相似度小,就很难以召回。而分段最大长度设置小了,可能分段太零散,从而导致答复不完整。建议设置为512-1024之间比较合适。

02

分段长度对检索召回率的影响

一、理论层面分析

从文本匹配的基本原理来看,分段长度在信息检索中起着举足轻重的作用 ,它就像是一把 “双刃剑”,对检索召回率有着多面性的影响 。

当分段长度较短时,每一个分段所包含的文本信息相对较少 ,这使得关键词在分段中更容易被精准定位 。因为较短的文本范围能够减少干扰信息的存在,让系统在进行文本匹配时,更容易聚焦到与用户查询相关的核心内容上 。比如在一篇关于电子产品的知识库文档中,当用户查询 “手机电池续航问题” 时 ,如果文档被分成较短的段落,其中一个段落可能直接阐述 “手机电池续航受电池容量、屏幕亮度以及后台运行程序数量等因素影响” ,这样的短段落能够精准地匹配到用户的查询关键词 “手机电池续航” ,从而快速被检索出来,提高了检索召回率 。

然而,较短的分段也存在明显的弊端 。由于每个分段的信息有限,在处理一些需要上下文关联理解的复杂问题时,就可能会丢失关键的上下文信息 。比如在一篇技术论文中,对于某个复杂算法的介绍可能需要多个段落来详细阐述其原理、步骤以及应用场景 。如果分段过短,这些相互关联的信息被分割在不同的段落中 ,当用户查询关于该算法的具体应用时,系统可能因为无法获取完整的上下文信息,只能检索到部分相关段落,导致一些关键信息被遗漏 ,最终降低了检索召回率 。

与之相反,较长的分段能够提供更丰富、更完整的上下文信息 。在面对复杂问题时,这些完整的上下文信息能够帮助系统更好地理解问题的全貌和背景 ,从而更准确地判断哪些信息与用户的查询相关 。还是以技术论文为例,当用户查询关于某个复杂算法在特定领域的应用时 ,较长的分段可以包含该算法在该领域应用的详细案例、实验数据以及分析结果等多方面的信息 。这些全面的信息能够让系统更全面地理解用户的问题,并准确地找到与之匹配的内容 ,在这种情况下,检索召回率会得到提升 。

但是,较长的分段也并非完美无缺 。由于其包含的信息较多,其中可能会混入一些与用户查询不太相关的冗余信息 。这些冗余信息会增加系统在进行文本匹配时的计算量和判断难度 ,使得系统在筛选相关信息时容易受到干扰 ,从而降低了检索的准确性和召回率 。例如在一篇关于医疗保健的长文档中,用户查询 “某种疾病的治疗方法” ,如果分段过长,该分段中除了包含疾病的治疗方法外,可能还包含了疾病的病因、症状以及预防措施等其他信息 。这些过多的无关信息会分散系统的注意力,导致系统在匹配用户查询时出现偏差,错过一些真正与治疗方法相关的关键内容 ,进而影响检索召回率 。

二、实际案例展示

1、假如我们上传一份文档,设置最大分段字符长度为3000,分段重叠为500个字符。

检索方式选择高质量检索。

然后我们来看看检索的效果如何:

这个分段比较长,为1043个字符,其中有个介绍主流图数据库的的,我们来测试一下召回的情况。

测试结果是返回不了。那么我们把这个分段内容单独提出来新增一个分段。

然后再来测试一下返回情况。

这个342字符的就可以返回,因此,当内容分段相对比较小的时候,测试问题的召回分数比较高,那么它的召回率就相对比较高。

2、假如我们上传一份文档,设置最大分段字符长度为200,分段重叠为50个字符。我们还是使用同一份文档。上传后,分段看起来很零散,内容非常不完整。例如

我们还是使用相同的召回算法测试同一个问题。

它召回的内容其实也不是我们想要的内容,因此,分段长度太小,将不同的内容切分到不同分段之后,也会让我们召回的内容不对。

03

如何优化分段长度设置

一、根据文档类型选择

不同类型的文档犹如各具特色的宝藏,拥有独特的结构和内容特点 ,因此需要量身定制分段长度设置 ,以充分挖掘其中的信息价值 ,提升检索召回率 。

对于常见问题解答(FAQ)文档,其问题与答案通常简洁明了 ,呈现出清晰的一问一答结构 。在这种情况下,采用较短的分段长度是较为合适的选择 。一般来说,将分段长度设置在 200 - 300 字符左右,就能够精准地将每个问题和答案划分开来 。例如,在一个电商平台的 FAQ 文档中,“如何修改订单地址?”“订单多久能发货?” 等问题及其对应的答案,通过短分段可以快速被检索到 ,当用户查询相关问题时,系统能迅速定位到对应的分段,给出准确的回答 ,有效提高检索召回率 。

产品说明书的内容则是按照产品的不同功能模块或操作步骤进行详细阐述 ,每个模块或步骤的描述相对独立 。此时,分段长度可以适当延长至 300 - 500 字符,以完整地保留每个功能模块或操作步骤的相关信息 。比如在一款智能手机的产品说明书中,关于手机拍照功能的介绍,包括各种拍摄模式、参数设置等内容,使用较长的分段能够将这些相关信息整合在一起 。当用户查询关于拍照功能的问题时,系统可以检索到包含完整拍照功能介绍的分段,为用户提供全面的解答 ,从而提高检索召回率 。

解决方案文档通常用于阐述复杂问题的解决思路和具体实施步骤 ,内容丰富且段落之间关联性强 。对于这类文档,父子分段模式搭配较长的父分段长度(如 500 - 800 字符)和较短的子分段长度(如 100 - 200 字符)是一个不错的选择 。以一个企业级软件系统的故障解决方案文档为例,父分段可以是整个故障处理流程的段落描述,包含故障现象、原因分析以及整体的处理思路等信息 ;子分段则是段落中的具体句子,如 “故障原因是服务器内存不足”“解决方案是增加服务器内存并重启相关服务” 等 。在用户查询关于某个故障的解决方案时,子分段能够精准匹配到关键句子,父分段则提供完整的上下文信息,帮助系统给出准确、全面的回答 ,提升检索召回率 。

2、结合业务需求调整

业务需求就像是导航灯,引导着我们在分段长度设置的道路上做出合适的决策 。在实际应用中,我们需要根据业务对信息准确性和完整性的要求,巧妙地平衡召回率和准确率 ,找到最适合的分段长度设置 。

在一些对信息准确性要求极高的业务场景中,如金融领域的风险评估报告查询、法律条文的精准解读等 ,我们需要确保检索到的信息完全准确,避免出现任何偏差 。此时,我们可以适当缩短分段长度 ,以减少冗余信息的干扰 ,提高检索的准确性 。这个时候设置的召回率需要稍微设置高一点,例如设置成0.6。

相反,在一些知识聚合场景下,如行业知识汇总查询、市场调研资料分析等 ,我们更希望获取尽可能多的相关信息 ,以便进行全面的分析和研究 。在这种情况下,我们可以适当提高召回率 ,选择较长的分段长度 。这个时候设置的召回率可以设置的稍微低一点,例如设置成0.3或者0.2就可以。

此外,对于一些业务中常见的高频问题 ,我们可以针对性地调整分段长度 。如果这些高频问题的答案相对固定且简短,采用较短的分段长度可以快速检索到答案 ,提高响应速度 。而对于那些需要综合多方面信息才能回答的高频复杂问题,则可以适当增加分段长度 ,确保能够获取完整的上下文信息 ,给出全面准确的回答 。

3、利用调试工具优化

Dify 平台贴心地为我们提供了可视化分块调试工具 ,这就像是一把神奇的钥匙,帮助我们轻松找到最佳的分段长度设置 。这个工具就像是一个实时的 “效果预览室”,让我们能够直观地看到分段参数调整对检索结果的影响 。

当我们上传文档并进行分段设置时,可以通过这个调试工具实时调整分段长度、重叠长度等参数 。比如,我们先将分段长度设置为一个初始值,如 400 Tokens ,然后点击 “预览” 按钮 ,查看文档被分成了哪些段落,以及每个段落的内容 。接着,我们可以输入一些具有代表性的查询问题,观察检索结果 。如果发现检索结果中遗漏了一些相关信息,可能是分段长度过长,导致关键信息被分割在不同的段落中 ,此时我们可以适当缩短分段长度 ,再次观察检索结果 。反之,如果检索到的信息包含过多冗余内容,影响了回答的准确性,我们可以尝试增加分段长度 ,减少分段数量 ,看是否能改善检索效果 。

在调整重叠长度时,我们也可以通过同样的方式进行观察和优化 。逐步增加或减少重叠长度,观察检索结果中信息的连贯性和完整性 。如果发现相邻分段之间的信息衔接不顺畅,导致检索结果出现断层,我们可以适当增加重叠长度 ,加强信息的连贯性 。而如果重叠长度过大,导致检索效率降低,我们则可以适当减少重叠长度 。

在实际应用中,我们要根据文档类型和业务需求,灵活调整分段长度设置 。
通过不断优化分段设置,提升检索召回率。

如何学习AI大模型 ?

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。【保证100%免费】🆓

CSDN粉丝独家福利

这份完整版的 AI 大模型学习资料已经上传CSDN,朋友们如果需要可以扫描下方二维码&点击下方CSDN官方认证链接免费领取 【保证100%免费】

读者福利: 👉👉CSDN大礼包:《最新AI大模型学习资源包》免费分享 👈👈

(👆👆👆安全链接,放心点击)

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

👉1.大模型入门学习思维导图👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过AI大模型的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。(全套教程文末领取哈)
在这里插入图片描述

👉2.AGI大模型配套视频👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。
在这里插入图片描述

在这里插入图片描述

👉3.大模型实际应用报告合集👈

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(全套教程文末领取哈)

在这里插入图片描述

👉4.大模型实战项目&项目源码👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战项目来学习。(全套教程文末领取哈)
在这里插入图片描述

👉5.大模型经典学习电子书👈

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。(全套教程文末领取哈)
在这里插入图片描述

👉6.大模型面试题&答案👈

截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。(全套教程文末领取哈)
在这里插入图片描述

为什么分享这些资料?

只要你是真心想学AI大模型,我这份资料就可以无偿分享给你学习,我国在这方面的相关人才比较紧缺,大模型行业确实也需要更多的有志之士加入进来,我也真心希望帮助大家学好这门技术,如果日后有什么学习上的问题,欢迎找我交流,有技术上面的问题,我是很愿意去帮助大家的!

这些资料真的有用吗?

这份资料由我和鲁为民博士共同整理,鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位,在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利,同时还斩获了吴文俊人工智能科学技术奖。目前我正在和鲁博士共同进行人工智能的研究。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。

在这里插入图片描述
在这里插入图片描述

CSDN粉丝独家福利

这份完整版的 AI 大模型学习资料已经上传CSDN,朋友们如果需要可以扫描下方二维码&点击下方CSDN官方认证链接免费领取 【保证100%免费】

读者福利: 👉👉CSDN大礼包:《最新AI大模型学习资源包》免费分享 👈👈

(👆👆👆安全链接,放心点击)
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐