基于共享向量与段落聚合的多租户知识库检索方法与流程
本发明属于自然语言处理与向量检索,尤其涉及基于共享向量与段落聚合的多租户知识库检索方法。
背景技术:
1、随着云计算与大语言模型技术的快速发展,基于自然语言交互的智能知识库检索技术已广泛应用于各类企业级saas服务场景,多租户架构成为企业知识管理与数据查询系统的主流部署模式。向量检索技术与大语言模型生成能力的深度融合,打通了非结构化业务知识与结构化数据库之间的查询链路,使用户可通过自然语言直接获取知识信息与业务数据。当前该领域技术持续向降低部署成本、提升检索精度、强化数据安全、适配多元业务场景的方向演进,多租户场景下的资源共享效率与数据隔离能力的平衡成为技术优化的核心方向。
2、现有多租户知识库检索方案多采用单租户独立向量索引架构,为每个租户单独构建并维护专属的向量检索索引。系统接收用户的自然语言查询请求后,在对应租户的独立索引内执行向量召回,基于召回的知识库文本内容构建提示词,送入大语言模型生成结构化查询语句,最终提交至租户对应数据库执行。部分方案采用固定长度规则对原始文本进行切分处理,同时依托通用语法规则对生成的查询语句进行基础合规性校验。
3、现有技术在多租户场景下索引构建与维护的整体资源开销较高,检索效率与召回全面性难以兼顾,文本切分方式导致知识单元语义完整性不足,影响向量检索的匹配精度。生成的结构化查询语句对不同数据库方言的适配能力有限,查询执行的安全管控能力不足,且索引架构无法根据租户业务规模与访问量级动态调整,系统整体的资源利用率与运行稳定性存在提升空间。
技术实现思路
1、本发明的目的在于提供基于共享向量与段落聚合的多租户知识库检索方法,旨在解决背景技术中确定的现有技术存在的技术问题。
2、本发明是这样实现的,基于共享向量与段落聚合的多租户知识库检索方法,所述方法包括:
3、接收目标租户的自然语言查询请求,通过大语言模型判断是否需要查询数据库,若否则返回自然语言回复,若是则进入检索流程;
4、获取目标租户的知识库原始文本与历史查询数据,将语义相关段落及查询-结构化语句配对聚合为带租户标识与知识类型标签的标准化知识单元;
5、构建全局共享分层聚类索引,包含全局层与挂载于全局层各节点下的各租户子树层,所述全局层由聚类中心节点及关联的全局知识单元构成,各租户子树层存储对应租户的知识单元向量及分页校验规则;
6、基于租户标识从索引的全局层与租户子树层执行两路独立检索,召回语义匹配的知识单元作为检索结果;
7、将检索结果按知识类型分格式注入,结合数据库表结构与脱敏样例数据构建提示词,送入大语言模型生成包含执行参数的结构化查询结果;
8、对结构化查询语句执行多方言分页强制校验,基于分页校验规则,按目标数据库的方言校验是否包含合规分页子句,校验通过后以参数化方式执行;
9、若执行失败,将失败信息连同原提示词回灌大语言模型重试,并在运行中监控租户索引数据量与查询频次,超预设阈值时将租户子树层的知识单元向量及分页校验规则分离为独立索引。
10、作为本发明更进一步的方案,所述接收目标租户的自然语言查询请求,通过大语言模型判断是否需要查询数据库,具体包括:
11、向大语言模型注入预设的查询数据库的函数工具,所述函数工具包含函数名称、函数描述及参数定义,所述函数描述用于告知大语言模型该工具用于执行数据库查询,所述参数定义包含数据库标识及查询条件占位符;
12、将自然语言查询请求作为用户消息送入所述大语言模型,由所述大语言模型基于所述函数工具自主决策是否调用函数工具;
13、若所述大语言模型返回工具调用结果且所述工具调用结果指示需要查询数据库,则判定为是并进入检索流程,若所述大语言模型返回自然语言回复且不包含工具调用指令,则判定为否并返回自然语言回复。
14、作为本发明更进一步的方案,所述将语义相关段落及查询-结构化语句配对聚合为带租户标识与知识类型标签的标准化知识单元,具体包括:
15、获取所述目标租户的知识库原始文本,对所述知识库原始文本提取标题层级与段落边界语义结构信息,并将所述知识库原始文本切分为初始文本片段集合,将所述初始文本片段集合中相邻的文本片段分别输入向量编码模型获取各自的第一片段向量与第二片段向量;
16、计算所述第一片段向量与所述第二片段向量之间的余弦相似度作为语义相似度,将所述语义相似度超过第一预设阈值的相邻文本片段合并为标准化知识单元,并生成对应的知识单元向量,并为所述标准化知识单元关联所述目标租户的租户标识及段落边界偏移量;
17、获取所述目标租户的历史查询数据,所述历史查询数据包含历史自然语言问题及对应的历史结构化查询语句,将所述历史自然语言问题输入向量编码模型获取问题向量;
18、按照所述问题向量与各标准化知识单元的知识单元向量之间的相似度,将所述历史自然语言问题及对应的历史结构化查询语句挂载至语义相似度最高的标准化知识单元下,为标准化知识单元的知识类型标签赋值为范例类,并将未挂载任何历史自然语言问题的标准化知识单元的知识类型标签赋值为术语类。
19、作为本发明更进一步的方案,所述构建全局共享分层聚类索引,具体包括:
20、对所有标准化知识单元的知识单元向量执行全局层次聚类,生成顶层聚类中心节点集合,每个顶层聚类中心节点包含中心向量及该节点覆盖的全局知识单元引用列表,所述全局知识单元为挂载至全局层的标准化知识单元,所述顶层聚类中心节点集合及各顶层聚类中心节点下的子节点层级构成全局层;
21、将各标准化知识单元的知识单元向量按照与各顶层聚类中心节点的向量空间距离分配至距离最近的顶层聚类中心节点下,并将标准化知识单元加入所述顶层聚类中心节点的全局知识单元引用列表;
22、当任一顶层聚类中心节点下的全局知识单元引用列表中的引用数量超过预设节点容量阈值时,对顶层聚类中心节点下的所有全局知识单元引用执行局部递归聚类,生成新的子层聚类节点;
23、基于各标准化知识单元关联的租户标识,在所述全局层的各聚类中心节点下将属于同一租户的标准化知识单元的知识单元向量组合为该租户的租户子树层,所述租户子树层存储为该租户的索引元数据记录,所述索引元数据记录包含所述租户标识、指向该租户所有知识单元向量所在聚类中心节点路径的引用列表以及各聚类中心节点路径下该租户的知识单元向量数量及分页校验规则;
24、获取所述目标租户的目标数据库的方言类型,根据所述方言类型从预设方言分页规则库中选取对应的分页校验规则,将所述分页校验规则写入所述目标租户的索引元数据记录中作为该租户的分页校验规则,所述分页校验规则包含该数据库方言对应的分页语法正则表达式及合规分页子句的结构要求。
25、作为本发明更进一步的方案,所述执行两路独立检索,召回语义匹配的知识单元作为检索结果,具体包括:
26、通过向量编码模型将所述自然语言查询请求转换为查询向量,基于目标租户的租户标识从各租户子树层中定位目标租户的索引元数据记录,并根据所述索引元数据记录中的引用列表提取所述目标租户的租户子树层作为第一路检索范围;
27、在所述第一路检索范围内计算所述查询向量与各知识单元向量之间的相似度,筛选相似度超过第二预设阈值的知识单元作为第一路召回集合;
28、以所述查询向量为起点在所述全局层的顶层聚类中心节点集合中检索距离最近的n个顶层聚类中心节点,以n个顶层聚类中心节点覆盖的全局知识单元引用列表作为第二路检索范围,在所述第二路检索范围内基于所述租户标识过滤出属于所述目标租户的滤出知识单元;
29、计算所述查询向量与滤出知识单元的知识单元向量之间的相似度,筛选相似度超过第二预设阈值的滤出知识单元作为第二路召回集合,将所述第一路召回集合与所述第二路召回集合合并后去重,得到召回知识单元集合。
30、作为本发明更进一步的方案,所述生成包含执行参数的结构化查询结果,具体包括:
31、从召回知识单元集合中取出知识类型标签为范例类的单元, 将其中挂载的历史自然语言问题及对应的历史结构化查询语句按预设的参考查询格式写入提示词的第一段落;
32、从召回知识单元集合中取出知识类型标签为术语类的单元, 将其中的标准化知识单元的文本内容按预设的业务知识格式写入提示词的第二段落;
33、获取目标数据库的数据库表结构及预设的脱敏样例数据,并将所述数据库表结构按预设的数据库模式格式写入提示词的第三段落,将所述脱敏样例数据按预设的数据样例格式写入提示词的第四段落;
34、将第一段落、第二段落、第三段落和第四段落组合形成完整提示词,并由所述大语言模型生成结构化查询结果,所述结构化查询结果包含结构化查询语句文本及执行参数。
35、作为本发明更进一步的方案,所述按目标数据库方言校验是否包含合规分页子句,具体包括:
36、接收大语言模型生成的结构化查询结果并提取结构化查询语句文本与执行参数,基于目标租户的租户标识定位对应租户子树层的索引元数据记录,并读取预存的分页校验规则与目标数据库的方言类型,作为本次分页校验的执行基准;
37、根据确认的目标数据库方言类型,基于分页校验规则中对应的分页语法正则表达式,对提取到的结构化查询语句文本进行全语句正则匹配,校验语句中是否包含符合所述分页语法正则表达式的分页子句,同时校验分页子句的参数占位符与执行参数中的分页参数是否一一对应;
38、若正则匹配检测到符合所述分页语法正则表达式的分页子句,且分页子句的结构符合分页校验规则中的合规分页子句的结构要求,则判定为分页校验通过,将执行参数逐一填入结构化查询语句文本的对应占位符中,生成参数化形式的可执行结构化查询语句,提交至目标数据库执行,执行成功则返回查询结果,执行失败则返回执行失败信息;
39、若经正则匹配未检测到符合所述分页语法正则表达式的分页子句,则判定为分页校验不通过,生成分页校验失败信息,将所述分页校验失败信息连同结构化查询语句文本一并返回至大语言模型,触发结构化查询语句的重新生成流程。
40、作为本发明更进一步的方案,所述将失败信息连同原提示词回灌大语言模型重试,并在运行中监控租户索引数据量与查询频,具体包括:
41、接收目标数据库返回的执行失败信息,提取失败原因描述与对应错误编码,将执行失败信息、结构化查询语句文本与原完整提示词组合为重试提示词,送入大语言模型重新生成结构化查询结果;
42、通过重新生成的结构化查询结果重复执行分页校验与数据库提交流程,若连续重试次数超过预设的重试次数阈值仍执行失败,则终止本次查询流程,向目标租户返回查询执行失败的提示信息,结束本次自然语言查询请求;
43、按预设的统计周期采集各租户的租户子树层内包含的知识单元向量总数量,以及各租户单位时间内的自然语言查询请求频次,分别与对应的预设阈值进行比对,判断是否超出阈值范围;
44、当任一租户的知识单元向量总数量与自然语言查询请求频次均超过对应预设阈值时,将该租户的租户子树层从全局共享分层聚类索引的对应挂载节点中完整剥离;
45、将剥离后的租户所有知识单元向量与分页校验规则独立组建为单租户专属索引,同时保留该租户知识单元向量在全局层的引用记录。
46、本发明的有益效果是:
47、本方案通过语义相似度聚合的方式形成标准化知识单元,保障每个知识单元具备完整的语义表达能力,有效提升向量检索的匹配精度。采用全局共享分层聚类索引结合租户子树层的架构设计,在实现多租户数据逻辑隔离的基础上共享全局语义聚类体系,大幅降低多租户场景下索引构建与维护的资源成本,同时支持索引容量的弹性扩展。
48、两路独立检索机制融合租户内检索的高效性与全局检索的全面性,显著提升检索召回的准确率与覆盖度。按知识类型分区组织提示词并结合数据库表结构与脱敏样例数据,提升结构化查询生成的业务适配性与语法合规性,多方言分页强制校验机制管控查询执行风险,保障数据库的稳定运行。
49、失败重试闭环提升查询执行的成功率,动态索引拆分机制可根据租户的业务规模与访问量级按需演进索引架构,平衡系统资源投入与性能体验,整体提升多租户知识库检索系统的运行效率、数据安全性与服务可用性,适配不同发展阶段租户的差异化业务需求。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com