同样是做 RAG,有些人效果显著,有些人却表现不佳,这很可能与所采用的分块策略有关。

所谓分块策略,是指将一个大文本切割为“小块”的策略。这些“小块”可以是段落、句子、词组或受token限制的片段。好的分块策略具有极强的内聚性和语义上下文完整性,能够在很大程度上优化索引增强生成(RAG)的性能。

既然分块策略如此重要,那么我们有必要了解一下常见的分块策略。

1.固定大小分块策略

图1

根据预先定义的字符数或token数将文本进行切分,在切分中为了保留各块间关系,快之间会保留一些重叠部分。

图2

这种切分方法的优势包括实现简单,处理速度快,不依赖复杂模型;缺点包括可能破坏语义完整性。

2.语义分块策略

图3

根据文本的语义相似度进行切分,确保每个切分块内主题高度相关。例如一句一句地进行Embedding后,然后逐句计算当前句子与下一句的Emdedding相似度,相似度低于某个阈值时进行切分。

这种切分方法的优点是每个切分块内的语句在逻辑上都很连贯,相关性强,特别适合处理主题跳跃较多的文档;缺点是计算成本高,处理速度较慢。

3.基于递归分块策略

图4

从大到小拆分,满足限制条件停止。例如先按照段落拆分,如果段落长度大于token限制,再将该段落按照句子拆分,如果句子长度依然大于token限制,直接以token限制为固定长度,拆分句子。

这种拆分方式的优点包括尽可能保留高级别的语义结构(段落->句子->片段),适应性强;缺点是实现较复杂,性能开销高于纯固定大小分块。

4.基于文档的分块策略

图5

利用文档本身的元数据和结构信息(如标题层级、表格、图片说明等)进行切分。例如,将一个一级标题下的所有内容作为一个拆分块,或者将每个表格作为一个拆分块。

这种拆分方式的优点包括完美贴合特定类型文档(如法律合同、学术论文、报告)的逻辑结构,信息组织性强;缺点包括高度依赖文档的结构性,也就是说对于普通文档适用性不强。

5.智能体分块策略

图6

根据Agent将要执行的具体任务来决定如何分块。Agent会先理解自己要执行的任务,然后自适应地从文档中提取和组织最相关的信息块。例如,任务是“总结”,那么可能提取关键论点;任务是“回答特定问题”,则可能精准定位相关证据。

这种切分方式的优点包括灵活性和针对性极高,能最大化任务效果;缺点包括实现复杂,通常需要强大的规划和推理能力,目前还不普及。

6.基于句子的分块策略(类似2)

图7

将文本切分成完整的句子,确保每个切分块都包含一个或多个完整的上下文。例如使用NLP工具(如NLTK,SpaCy)识别句子边界,然后将几个连续的句子组合成一个切分块。

这种切分方式的优点包括保证了基本的语义单元完整,避免了“半句话”问题;缺点包括句子长度差异可能导致切分块大小不均匀,多个句子组合时,仍需要确定最佳组合策略,这个组合策略确定起来不容易。

7.基于段落的分块策略

图8

通过提示符截取,将整个文本划分成多个段落,比较适合结构清晰的文档,例如保险条款、法律、论文等。

这种切分方式的优点包括自然分段,语义完整;缺点包括段落长度不一,可能超过token长度限制。

上面介绍了这么多切分方式,那么选择哪个呢?推荐段落分块->句子分块->递归分块->语义分块。

分块(阈值)如何确定?经验值大小为5121024,块之间的重叠率为10%15%。

最后,多使用递归分块和句子分块,语义分块还不太靠谱。

如何学习AI大模型?

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

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习和面试资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
在这里插入图片描述

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

在这里插入图片描述

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

在这里插入图片描述

Logo

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

更多推荐