一种基于结构化内容保护与混合检索的检索增强生成方法与流程

摘要: 本发明涉及一种检索增强生成方法,具体涉及一种基于结构化内容保护与混合检索的检索增强生成方法。背景技术:1、传统语言大模型(llms)如qwen、deepseek...
一种基于结构化内容保护与混合检索的检索增强生成方法与流程

本发明涉及一种检索增强生成方法,具体涉及一种基于结构化内容保护与混合检索的检索增强生成方法。

背景技术:

1、传统语言大模型(llms)如qwen、deepseek等虽然具备强大的语言理解和生成能力,但其知识受限于训练数据,难以处理实时更新或特定领域的专有知识,导致生成内容可能过时或存在事实性错误;而检索增强生成(rag)技术是解决该问题的有效手段,其核心流程为:将外部知识库中的文档分割为文本块,并利用嵌入模型将文本块转化为向量;然后将用户问题同样转化为向量,通过计算向量件的余弦相似度,从知识库中召回与问题语义最相关的若干文本块;最后将这些文本块作为上下文与问题一同输入语言大模型,以约束模型生成基于事实的答案。

2、然而,检索增强生成(rag)技术在处理包含表格、公式等结构化内容的技术文档时,存在明显缺陷:文档预处理方案通常采用固定长度或基于简单分隔符的递归切分方法,将原始文本直接分割,这种切分方式极易将结构完整、语义独立的表格或latex公式打断,导致其关键信息被割裂,破坏了语义完整性,影响后续检索与生成质量;此外,检索机制高度依赖向量相似度,缺乏对用户问题中关键实体的显式约束,这导致在高维语义空间中,检索结果可能因语义漂移而遗漏包含关键实体的文档,造成召回率不稳定,直接影响最终答案的准确性;同时,部分向量数据库(如faiss)在构建索引时采用静态参数,在面对规模动态变化的知识库时,无法自适应调整,难以兼顾检索效率与召回率。

技术实现思路

1、本发明的目的是解决现有技术难以保留文档语义完整性、召回率不稳定,且检索效率差的技术问题,而提供一种基于结构化内容保护与混合检索的检索增强生成方法。

2、为实现上述目的,本发明所提供的技术解决方案为:

3、一种基于结构化内容保护与混合检索的检索增强生成方法,其特殊之处在于,包括以下步骤:

4、步骤s1,对知识库中的所有原始文档进行结构化内容保护预处理得到对应的受保护文本;

5、所述结构化保护预处理是指对知识库中的原始文档进行处理,识别出其中的html表格和latex数学公式,然后将html表格和latex数学公式替换为唯一占位符;

6、步骤s2,将受保护文本进行分割并还原得到多个语义完整的文本块,再将所有文本块转换为多维向量;

7、步骤s3,根据所述文本块的数量在候选索引类型中选择目标索引类型后,构建向量索引;

8、步骤s4,将所述多维向量及其对应的受保护文本存储至所述向量索引,以构建rag知识库;

9、步骤s5,获取用户问题及所述用户问题中的关键字集合,采用基于余弦相似度、语义相关性与关键词的混合检索策略从所述rag知识库中召回上下文,并基于所述上下文生成回答,完成基于结构化内容保护与混合检索的检索增强生成。

10、进一步地,步骤s1具体为:

11、步骤s1.1,使用mineru对知识库中的原始文档进行解析并提纯,得到纯文本内容;

12、步骤s1.2,通过正则表达式识别纯文本内容中的html表格和latex数学公式,并将html表格和latex数学公式替换为唯一占位符后得到受保护文本。

13、进一步地,步骤s2具体为:

14、步骤s2.1,设定递归字符文本分割器分割时的最大块长度为700字符数,相邻块重叠长度为120字符数;

15、步骤s2.2,利用设定好的递归字符文本分割器,对每个所述受保护文本,按预设分隔符列表的优先级顺序选择有效分隔符,并分割每个所述受保护文本;

16、步骤s2.3,对所有受保护文本分割完成后,将所有受保护文本中的占位符还原为的html表格和latex数学公式,得到多个语义完整的文本块;

17、步骤s2.4,采用预训练的嵌入模型将所有文本块转换为多维向量。

18、进一步地,步骤s2.2中预设分隔符列表的优先级顺序为:

19、第一优先级:三个连续换行,表示强段落分隔的分隔符:"\n\n\n";

20、第二优先级:两个连续换行,表示标准段落分隔的分隔符:"\n\n";

21、第三优先级:按优先级由高到低顺序排列的markdown标题分隔符:"\n# "、"\n##"、"\n### "、"\n#### "、"\n##### "、"\n######;

22、第四优先级:按优先级由高到低顺序排列的常见分隔符:"\n"、"。",、","、" "、""。

23、进一步地,步骤s3具体为:

24、步骤s3.1,定义文本块的数量为n,当n≥预设阈值时,选择faiss向量数据库的ivf索引作为所述目标索引类型;当n<预设阈值时,选择faiss向量数据库的平面索引作为所述目标索引类型;

25、步骤s3.2,当选择ivf索引作为所述目标索引类型时,计算ivf索引的聚类中心数,设置检索时扫描聚类数,完成对ivf索引的构建;

26、当选择平面索引作为所述目标索引类型时,指定向量维度和距离度量方式,完成对平面索引的构建。

27、进一步地,步骤s3.1中的预设阈值为10000。

28、进一步地,步骤s3.2中所述ivf索引的具体构建过程为:

29、计算ivf索引的基础聚类中心数,并设置最大允许聚类数,确保每个基础聚类中心数至少包含30个向量;

30、根据基础聚类中心数和最大允许聚类数,计算得到最终聚类中心数;

31、设置检索时扫描聚类数的参数,并利用faiss向量数据库中的indexivfflat函数,设置ivf索引中的函数参数quantizer为faiss.indexflatip,dimension为输入向量维度,nlist为所述最终聚类中心数,距离度量方式为faiss.metric_inner_product,完成ivf索引的训练和建立。

32、进一步地,步骤s4具体为:

33、步骤s4.1,将所述多维向量及其对应的受保护文本存储至所述向量索引;

34、步骤s4.2,以连续存储方式将所述向量索引保存至本地磁盘,形成可离线加载的rag知识库。

35、进一步地,步骤s5具体为:

36、步骤s5.1,获取用户问题,并通过命名实体识别算法或关键词提取算法获取所述用户问题中的关键字集合;

37、步骤s5.2,使用所述嵌入模型将所述用户问题转换为查询向量,并在rag知识库中执行余弦相似度检索,召回与所述查询向量相似度最高的多个文本块;

38、步骤s5.3,对召回的多个文本块使用预训练的重排模型进行相关性打分,得到候选文本块;

39、步骤s5.4,从所述候选文本块中筛选出包含所述关键字集合中至少一个关键字的文本块作为最终上下文;

40、步骤s5.5,将所述最终上下文与所述用户问题拼接,输入至预训练的大语言模型,生成回答,完成基于结构化内容保护与混合检索的检索增强生成。

41、进一步地,步骤s5.3中的重排模型为bge-reranker-v2-m3模型。

42、与现有技术相比,本发明具有的有益技术效果如下:

43、(1)本发明通过结构化内容保护预处理避免了传统切分方式造成的结构化内容断裂问题,为后续检索与生成环节提供了完整、有效的上下文信息基础,并根据文本块数量动态的构建向量索引,兼顾了检索效率与召回率,结合知识库存储与混合检索协同,保证了语义层面的相关性,又通过关键词显式约束避免了语义漂移的漏召回,显著提升了召回的稳定性与相关性,最终基于召回的高质量上下文生成回答,有效降低了大语言模型产生事实性错误的概率,提升了问答系统的准确性与鲁棒性;

44、(2)本发明通过将结构化内容替换为占位符后再进行切分,切分完成后还原占位符的处理方式,使得html表格和latex数学公式等结构化元素在文本切分过程中得以完整保留,不因切分操作而断裂或丢失关键信息,从而保证了文本块内部语义的完整性和连贯性,从根本上解决了传统rag系统在处理技术文档时结构化内容易破坏的技术问题;

45、(3)本发明通过向量相似度检索、重排模型打分与关键词筛选的三级检索机制,实现了语义层面的广泛召回,保证不遗漏语义相关的候选文本块,同时提升了召回结果与用户真实意图的对齐程度,召回率显著提升。