System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于融合感知RAG的开源协作个性化问答方法和系统技术方案_技高网

基于融合感知RAG的开源协作个性化问答方法和系统技术方案

技术编号:44499390 阅读:1 留言:0更新日期:2025-03-04 18:07
本申请涉及一种基于融合感知RAG的开源协作个性化问答方法和系统。方法包括:获取开发者提问,根据开发者提问从开源协作RAG基础知识库中检索,输出前K个最相关文本,构建相关文本集合;对开发者分别进行项目级环境感知、任务级环境感知、个体经验感知和个体技术专长感知,生成项目级环境感知语句、任务级环境感知语句、个体经验感知语句和个体技术专长感知语句;根据相关文本集合、项目级环境感知语句、任务级环境感知语句、个体经验感知语句和个体技术专长感知语句得到上下文,根据上下文和开发者提问构建提示词,将提示词输入大语言模型得到回答内容。采用本方法能够提供对提问者当前所处场景更有针对性和时效性的回答。

【技术实现步骤摘要】

本申请涉及智能问答,特别是涉及一种基于融合感知rag的开源协作个性化问答方法和系统。


技术介绍

1、随着开源软件项目的不断发展,越来越多的开发者参与到开源协作中。开源软件的协作模式可能存在特定的工作流程和贡献机制,这使得参与者必须掌握一定的开源协作知识,才能有效地进行代码贡献、问题解决、项目管理等活动。特别是对于开源新手来说,他们需要了解该项目的贡献文档、协同流程、所需遵循的标准等内容,以便能够顺利参与到项目中。

2、开发者通常需要通过人工浏览开源项目的文档或手册、参加讨论会、向社区请教等方式,来获取相关信息和指导。这些方式存在显著的时间成本高、效率低的问题。为了节省时间和提高效率,开发者们通常会求助于搜索引擎或智能问答工具。搜索引擎依赖关键词匹配,往往无法提供针对具体开发者需求的个性化答案,而且由于开源项目的协作内容和流程复杂多样,搜索引擎查询往往难以快速、准确地引导开发者找到最相关的内容。智能问答工具(如“文心一言”等)可以在一定程度上解答开发者的疑问,但它们缺乏对开发者个人背景和上下文的自动和实时感知能力,难以提供量身定制的答案,尤其是在开源协作流程、贡献标准等具体领域中。


技术实现思路

1、基于此,有必要针对上述技术问题,提供一种基于融合感知rag的开源协作个性化问答方法和系统。

2、一种基于融合感知rag的开源协作个性化问答方法,所述方法包括:

3、获取开发者提问,根据开发者提问从预先构建的开源协作rag基础知识库中检索,输出前k个最相关文本,构建相关文本集合;

4、对开发者分别进行实时的项目级环境感知和任务级环境感知,生成项目级环境感知语句和任务级环境感知语句;

5、对开发者分别进行个体经验感知和个体技术专长感知,生成个体经验感知语句和个体技术专长感知语句;

6、根据所述相关文本集合、项目级环境感知语句、任务级环境感知语句、个体经验感知语句和个体技术专长感知语句得到上下文,根据所述上下文和所述开发者提问构建提示词,将所述提示词输入大语言模型,得到回答内容。

7、在其中一个实施例中,还包括:所述开源协作rag基础知识库包括开源社区中的多源数据;所述多源数据包括社区文档数据、技术文档数据、代码文件数据和社区讨论数据。

8、在其中一个实施例中,还包括:判断开发者是否处于某个开源项目的主页,若不是,则跳过项目级环境感知;若开发者处于某个开源项目的主页,则获取开发者在当前开源项目的前序活动参与度,根据开源项目信息和所述前序活动参与度生成项目级环境感知语句。

9、在其中一个实施例中,还包括:判断开发者是否处于某个开发任务的讨论页面,若不是,则跳过任务级环境感知;若开发者处于某个开发任务的讨论页面,则根据开发任务信息生成项目级环境感知语句。

10、在其中一个实施例中,还包括:统计开发者在开源平台的历史活跃度,根据历史活跃度生成个体经验感知语句;所述历史活跃度包括开发者在开源平台的参与开源项目个数、提交代码贡献次数和开发任务提交次数。

11、在其中一个实施例中,还包括:统计开发者在软件开发上的技术专长信息,根据所述技术专长信息生成个体技术专长感知语句;所述技术专长信息包括使用最频繁的前k个编程语言集合和使用最频繁的前k个编程框架集合。

12、一种基于融合感知rag的开源协作个性化问答系统,所述系统包括:

13、提问检索模块,用于获取开发者提问,根据开发者提问从预先构建的开源协作rag基础知识库中检索,输出前k个最相关文本,构建相关文本集合;

14、环境感知模块,用于对开发者分别进行实时的项目级环境感知和任务级环境感知,生成项目级环境感知语句和任务级环境感知语句;

15、个体特征感知模块,用于对开发者分别进行个体经验感知和个体技术专长感知,生成个体经验感知语句和个体技术专长感知语句;

16、回答生成模块,用于根据所述相关文本集合、项目级环境感知语句、任务级环境感知语句、个体经验感知语句和个体技术专长感知语句得到上下文,根据所述上下文和所述开发者提问构建提示词,将所述提示词输入大语言模型,得到回答内容。

17、上述基于融合感知rag的开源协作个性化问答方法和系统,首先,基于开发者的项目级感知和任务级感知,系统能够准确识别开发者当前所处的开源项目和具体任务,从而生成与开发者当前情境高度相关的回答。其次,通过对开发者的个性经验和技术专长的感知,系统能够评估其技术水平、经验背景及熟悉的编程语言与框架,确保回答与其能力和需求相匹配,避免了通用且不适用的解答,将这些多维度信息与rag知识库检索结果结合,能够为大语言模型提供了一个更加丰富和精准的上下文,能够生成更加个性化且有效的答案。本专利技术实施例,有效提高了问答的相关性和实用性,同时避免了无关信息的干扰,大大减少了开发者查找信息的时间和精力,能够提升开源项目协作的效率和质量。

本文档来自技高网...

【技术保护点】

1.一种基于融合感知RAG的开源协作个性化问答方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述开源协作RAG基础知识库包括开源社区中的多源数据;所述多源数据包括社区文档数据、技术文档数据、代码文件数据和社区讨论数据。

3.根据权利要求1所述的方法,其特征在于,根据开发者提问进行项目级环境感知,生成项目级环境感知语句,包括:

4.根据权利要求1所述的方法,其特征在于,根据开发者提问进行任务级环境感知,生成任务级环境感知语句,包括:

5.根据权利要求1所述的方法,其特征在于,根据开发者提问进行个体经验感知,生成个体经验感知语句,包括:

6.根据权利要求1所述的方法,其特征在于,根据开发者提问进行个体技术专长感知,生成个体技术专长感知语句,包括:

7.一种基于融合感知RAG的开源协作个性化问答系统,其特征在于,所述系统包括:

8.根据权利要求7所述的系统,其特征在于,所述开源协作RAG基础知识库包括开源社区中的多源数据;所述多源数据包括社区文档数据、技术文档数据、代码文件数据和社区讨论数据。

9.根据权利要求7所述的系统,其特征在于,根据开发者提问进行项目级环境感知,生成项目级环境感知语句,包括:

10.根据权利要求7所述的系统,其特征在于,根据开发者提问进行任务级环境感知,生成任务级环境感知语句,包括:

...

【技术特征摘要】

1.一种基于融合感知rag的开源协作个性化问答方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述开源协作rag基础知识库包括开源社区中的多源数据;所述多源数据包括社区文档数据、技术文档数据、代码文件数据和社区讨论数据。

3.根据权利要求1所述的方法,其特征在于,根据开发者提问进行项目级环境感知,生成项目级环境感知语句,包括:

4.根据权利要求1所述的方法,其特征在于,根据开发者提问进行任务级环境感知,生成任务级环境感知语句,包括:

5.根据权利要求1所述的方法,其特征在于,根据开发者提问进行个体经验感知,生成个体经验感知语句,包括:

【专利技术属性】
技术研发人员:李志星袁远王涛邢建英谢徐超宋振龙张根魏登萍周桐庆蒋句平吴秋霖
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1