一种基于三层混合架构的IDEAgentSkills高精度检索系统的制作方法
本发明属于人工智能,具体涉及一种基于三层混合架构的ide agentskills高精度检索系统。
背景技术:
1、随着ai辅助编程工具的普及,agentskills技能库已成为现代软件开发中公共组件模块化开发的核心支撑。在智慧高速等复杂业务场景下,技能库规模动辄数百乃至数千个,如何实现对skills的高效精准检索直接决定了开发效率。然而,现有检索技术在本地资源约束下存在一个难以调和的矛盾:纯关键词检索虽然速度快、资源消耗低,但无法识别语义等价但表述不同的 skills,导致检索精度严重不足;纯语义向量全量检索虽然能够理解语义含义,但当skills 规模扩展至千级时,内存占用和推理延迟会呈线性增长态势,远超ide 插件可接受的范围。
2、这种矛盾在实际应用中的具体表现是:当开发人员输入“数据库分页查询”时,纯关键词匹配只能命中包含“分页”和“查询”字面词的 skills,而将功能等价但描述为“数据列表分段加载”或“大规模记录集偏移获取”的skills 遗漏,由此导致 mrr 指标大幅下降。同时,skills 数量从几百增长到几千时,全量向量检索的内存占用会随之大幅增加,检索延迟也急剧攀升,两个关键指标均突破 ide 插件的资源上限。
3、现有技术方案试图通过两种路径解决这一问题,但均未能取得整体最优。第一类方案采用 skillshub 类中央仓库,仅提供基础关键词搜索接口,完全缺乏语义理解能力,当技能库规模超过一定数量后 mrr 指标急剧下降。第二类方案依托云端向量数据库构建语义索引,虽然精度较高,但存在代码数据上传云端带来的知识产权泄露风险、网络往返延迟导致开发体验下降、以及无法支持离线使用等核心缺陷。由此造成的后果是:现有技术方案在检索精度、响应速度、资源消耗和隐私保护这四个维度上无法取得平衡,无法满足高速公路等场景下工程代码对本地化、高精度、低延迟 skills 检索的迫切需求。
技术实现思路
1、本技术实施例提供一种基于三层混合架构的ide agent skills高精度检索系统,旨在解决现有技术中检索精度不足、规模扩展困难、资源消耗过高以及数据隐私保护不足的技术问题。
2、本技术实施例第一方面提供一种基于三层混合架构的ide agent skills高精度检索系统,包括:
3、第一层元数据倒排索引模块,用于构建全量skills元数据的轻量倒排索引,接收用户输入的查询字符串,通过字段加权bm25评分模型计算关键词匹配相关性得分,并在预设时间内将全量候选集缩减至预设数量范围内的候选skills;
4、第二层轻量语义向量检索模块,用于接收第一层输出的候选skills集合,对候选skills的预计算语义向量进行近似最近邻检索,计算查询向量与候选向量的余弦相似度,并在预设时间内输出语义相关度排序的候选skills子集;
5、第三层综合评分融合模块,用于接收第一层输出的关键词得分和第二层输出的语义相似度,对两路得分进行加权线性融合计算,生成最终综合排序结果并输出top预设数量的检索结果。
6、进一步地,作为本发明的一种实施方式,第一层元数据倒排索引模块包括文本预处理单元、索引构建单元和评分计算单元;
7、文本预处理单元用于对每个skill的原始元数据进行中文分词处理、英文小写化处理、停用词过滤处理和英文词干提取处理;
8、索引构建单元用于通过全文检索引擎的batch接口批量写入全部skill文档,构建包含name字段、description字段、tags字段、language字段和frameworks字段的倒排索引,其中name字段和description字段采用中英文混合分词器进行分词,tags字段、language字段和frameworks字段采用精确匹配分词器进行分词;
9、评分计算单元用于通过字段加权bm25评分公式计算查询词项与各索引字段的相关性得分,其中name字段的权重系数高于description字段的权重系数,tags字段的权重系数设置为中等数值。
10、进一步地,作为本发明的一种实施方式,字段加权bm25评分公式的具体实现方式为:
11、
12、其中q为查询词项集合,t为单个查询词项,f为索引字段,为字段权重系数,为词频统计值,为逆文档频率统计值,为词频饱和系数,b为字段长度归一化系数,为被检索skill在字段f中的内容,为字段在全库中的平均词数。
13、进一步地,作为本发明的一种实施方式,第一层元数据倒排索引模块还包括条件组合过滤单元,用于通过布尔逻辑查询接口实现and、or、not三种逻辑操作符的组合嵌套,过滤条件包括language字段必须匹配指定编程语言、tags字段必须包含指定标签且不包含已弃用标记。
14、进一步地,作为本发明的一种实施方式,第二层轻量语义向量检索模块包括嵌入模型单元、向量存储单元和相似度计算单元;
15、嵌入模型单元用于通过本地轻量嵌入模型对用户输入的查询文本进行实时编码,生成查询语义向量,其中嵌入模型采用基于bert架构的中文语义向量嵌入模型,包含多层transformer encoder,隐藏层维度为适中数值,参数量控制在较小范围内,模型文件大小为几十mb量级;
16、向量存储单元用于存储在索引构建阶段预计算的各skill的description字段和usage_examples字段的语义向量,采用分层可导航小世界近似最近邻算法构建索引结构,并通过标量量化技术将32位浮点向量压缩为8位无符号整数,压缩率达到4比1;
17、相似度计算单元用于计算归一化查询向量与归一化候选向量的余弦相似度,由于预计算候选向量已做归一化处理,余弦相似度计算退化为向量内积运算。
18、进一步地,作为本发明的一种实施方式,分层可导航小世界近似最近邻算法的参数配置包括:每个节点在各层的最大邻居数设置为适中数值,构建阶段的搜索宽度设置为较大数值,查询阶段的搜索宽度设置为中等数值,检索复杂度达到对数级别。
19、进一步地,作为本发明的一种实施方式,标量量化压缩的具体实现步骤包括:
20、第一步遍历全量向量集合统计每个维度的最小值和最大值;
21、第二步对每个维度计算缩放因子和零点偏移,计算公式为,;
22、第三步用缩放因子和零点偏移将每个浮点值映射成8位无符号整数并限制在有效范围内,公式为;
23、第四步在检索时将8位整数值还原成浮点近似值用于距离计算,还原公式为。
24、进一步地,作为本发明的一种实施方式,第三层综合评分融合模块包括归一化处理单元、加权融合单元和自适应优化单元;
25、归一化处理单元用于将第一层输出的bm25得分除以当前候选集中bm25得分的最大值,实现归一化处理;
26、加权融合单元用于通过加权线性融合公式计算最终综合排序分:,其中α和β为权重系数,默认设置为相等数值,支持使用者根据实际使用效果进行调整配置;
27、自适应优化单元用于定期收集用户对检索结果的采纳情况数据,以平均倒数排名达到最优为目标,通过梯度下降算法自动优化权重系数的取值。
28、进一步地,作为本发明的一种实施方式,自适应优化单元的梯度下降算法具体实现方式为:
29、定义损失函数为负倒数排名损失,通过对连续的排序分差值求导来近似排名梯度,对于采纳结果和排在采纳结果前面的非采纳结果构造配对集合,计算偏导数后按梯度下降规则更新权重系数,并检查权重和为1的约束进行归一化投影,同时将权重系数限制在预设的合理区间内。
30、进一步地,作为本发明的一种实施方式,三层模块之间的数据传递采用同步阻塞模式执行,第二层必须等待第一层完成后才能启动,第三层必须等待第二层完成后才能启动,三层串行执行的总延迟控制在较低范围内,内存峰值控制在适中数值。
31、进一步地,作为本发明的一种实施方式,系统还包括增量索引更新模块,用于在新增skill或修改现有skill时执行第一层索引段写入操作、第二层向量图插入操作和标记删除策略,通过写时复制机制保障数据一致性。
32、本发明的有益效果:
33、本发明通过三层递进式混合检索架构实现了检索精度、响应速度、资源消耗和隐私保护四个维度的整体优化,第一层元数据倒排索引层利用轻量倒排索引在几十毫秒内将全量候选集缩减至top50范围,第二层轻量语义向量检索层对缩减后的候选集进行语义向量检索避免全量计算开销,第三层综合评分融合层通过加权融合机制充分发挥关键词匹配和语义理解两种检索方式的互补优势,使得平均倒数排名指标显著提升,同时内存占用控制在适中数值范围内满足了ide插件的本地资源约束要求;
34、本发明采用本地部署的轻量嵌入模型和全文检索引擎,所有索引数据和向量数据均存储在客户端本地,无需将代码数据上传至云端,彻底消除了数据泄露风险和网络延迟问题,实现了代码相关数据的本地化处理需求,能够在离线环境下正常运行,为智慧高速公路等需要高度定制化和本地化的工程代码快速高效模块化开发场景提供了有效的技术解决方案。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com