System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,特别是涉及一种代码大模型微调数据生成方法、多智能体系统、装置、计算机设备和计算机可读存储介质。
技术介绍
1、随着计算机技术的发展,出现了一种利用代码大模型辅助代码编写和调试的技术,代码大模型可以帮助理解代码的语义,从而为用户提供代码建议,帮助找出代码中的错误,并提供修复建议。此外,代码大模型也可以用于自动化编程任务,例如自动化代码生成和代码重构。可见,代码大模型技术可以有效提高开发效率、降低错误率、并帮助用户更好地解决问题。
2、代码大模型投入使用前,通常需要经过预训练和微调步骤,可以是先通过大规模的数据集进行预训练,然后在特定的代码任务上进行微调,以提高代码大模型在特定场景下的性能。然而,目前用于代码大模型微调所使用的数据中,数据质量较低,因此微调得到的代码大模型可靠性较低。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够提高微调得到的代码大模型可靠性的代码大模型微调数据生成方法、多智能体系统、装置、计算机设备、计算机可读存储介质和计算机程序产品。
2、第一方面,本申请提供了一种代码大模型微调数据生成方法,包括:
3、从预先构建的目标代码库中,获取代码种子数据;
4、将所述代码种子数据输入预先构建的多智能体系统中的第一智能体,通过所述第一智能体生成与所述代码种子数据匹配的第一描述提示词;
5、将所述第一描述提示词输入所述多智能体系统中的第二智能体,通过所述第二智能体生成与所述第一描述提
6、获取所述待执行代码数据的代码执行测试结果,在所述代码执行测试结果表征执行通过的情况下,将所述待执行代码数据作为用于对预训练的代码大模型进行微调的微调数据。
7、在其中一个实施例中,所述多智能体系统还包括:第三智能体;所述获取所述待执行代码数据的代码执行测试结果之后,还包括:在所述代码执行测试结果表征执行不通过的情况下,获取所述待执行代码数据的错误信息;将所述错误信息输入所述第三智能体,通过所述第三智能体生成与所述错误信息匹配的代码修改意见;将所述代码修改意见以及所述错误信息输入所述第一智能体,通过所述第一智能体以及所述第二智能体,生成与所述代码修改意见匹配的代码数据,作为新的待执行代码数据,并返回执行获取所述待执行代码数据的代码执行测试结果的步骤,直到所述代码执行测试结果表征执行通过,或者所述待执行代码数据的执行次数达到预设次数阈值。
8、在其中一个实施例中,所述将所述代码修改意见以及所述错误信息输入所述第一智能体,通过所述第一智能体以及所述第二智能体,生成与所述代码修改意见匹配的代码数据,包括:将所述代码修改意见以及所述错误信息输入所述第一智能体,通过所述第一智能体基于所述代码修改意见以及所述错误信息,生成第二描述提示词;将所述第二描述提示词输入所述第二智能体,生成与所述第二描述提示词匹配的代码数据,作为所述代码修改意见匹配的代码数据。
9、在其中一个实施例中,所述方法还包括:在所述执行次数达到所述预设次数阈值的情况下,取消将所述待执行代码数据作为所述微调数据。
10、在其中一个实施例中,所述从预先构建的目标代码库中,获取代码种子数据之前,还包括:获取原始代码库中包含的各原始代码数据;将所述原始代码数据输入预先构建的大语言模型,通过所述大语言模型得到各所述原始代码数据的代码质量评分;将所述代码质量评分满足预先设定的质量评分阈值的原始代码数据作为目标代码数据,利用各所述目标代码数据构建所述目标代码库。
11、第二方面,本申请还提供了一种多智能体系统,包括:第一智能体以及第二智能体;其中,
12、所述第一智能体,用于从预先构建的目标代码库中,获取代码种子数据,并生成与所述代码种子数据匹配的第一描述提示词;将所述第一描述提示词输入所述第二智能体;
13、所述第二智能体,用于生成与所述第一描述提示词匹配的待执行代码数据;所述待执行代码数据用于在所述待执行代码数据的代码执行测试结果表征执行通过的情况下,将所述待执行代码数据作为用于对预训练的代码大模型进行微调的微调数据。
14、在其中一个实施例中,多智能体系统,还包括:第三智能体;其中,所述第三智能体,用于接收在代码执行测试结果表征执行不通过的情况下,所述待执行代码数据的错误信息,并生成与所述错误信息匹配的代码修改意见;将所述代码修改意见以及所述错误信息输入所述第一智能体;所述第一智能体,还用于基于所述代码修改意见以及所述错误信息,生成第二描述提示词;将所述第二描述提示词输入所述第二智能体;所述第二智能体,还用于生成与所述第二描述提示词匹配的代码数据,作为所述代码修改意见匹配的代码数据;所述代码修改意见匹配的代码数据用于作为新的待执行代码数据,并在所述待执行代码数据的代码执行测试结果表征执行通过的情况下,将所述待执行代码数据作为用于对预训练的代码大模型进行微调的微调数据。
15、第三方面,本申请还提供了一种代码大模型微调数据生成装置,包括:
16、代码种子获取模块,用于从预先构建的目标代码库中,获取代码种子数据;
17、描述提示生成模块,用于将所述代码种子数据输入预先构建的多智能体系统中的第一智能体,通过所述第一智能体生成与所述代码种子数据匹配的第一描述提示词;
18、执行代码生成模块,用于将所述第一描述提示词输入所述多智能体系统中的第二智能体,通过所述第二智能体生成与所述第一描述提示词匹配的待执行代码数据;
19、执行结果获取模块,用于获取所述待执行代码数据的代码执行测试结果,在所述代码执行测试结果表征执行通过的情况下,将所述待执行代码数据作为用于对预训练的代码大模型进行微调的微调数据。
20、第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面任一项实施例所述方法的步骤,
21、第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一项实施例所述方法的步骤,
22、第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面任一项实施例所述方法的步骤,
23、上述代码大模型微调数据生成方法、多智能体系统、装置、计算机设备、计算机可读存储介质和计算机程序产品,通过从预先构建的目标代码库中,获取代码种子数据;将代码种子数据输入预先构建的多智能体系统中的第一智能体,通过第一智能体生成与代码种子数据匹配的第一描述提示词;将第一描述提示词输入多智能体系统中的第二智能体,通过第二智能体生成与第一描述提示词匹配的待执行代码数据;获取待执行代码数据的代码执行测试结果,在代码执行测试结果表征执行通过的情况下,将待执行代码数据作为用于对预训练的代码大模型进行微调的微调数据。本申请可以从预先构建本文档来自技高网...
【技术保护点】
1.一种代码大模型微调数据生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述多智能体系统还包括:第三智能体;所述获取所述待执行代码数据的代码执行测试结果之后,还包括:
3.根据权利要求2所述的方法,其特征在于,所述将所述代码修改意见以及所述错误信息输入所述第一智能体,通过所述第一智能体以及所述第二智能体,生成与所述代码修改意见匹配的代码数据,包括:
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1至4任一项所述的方法,其特征在于,所述从预先构建的目标代码库中,获取代码种子数据之前,还包括:
6.一种多智能体系统,其特征在于,包括:第一智能体以及第二智能体;其中,
7.根据权利要求6所述的多智能体系统,其特征在于,还包括:第三智能体;其中,
8.一种代码大模型微调数据生成装置,其特征在于,所述装置包括:
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
...【技术特征摘要】
1.一种代码大模型微调数据生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述多智能体系统还包括:第三智能体;所述获取所述待执行代码数据的代码执行测试结果之后,还包括:
3.根据权利要求2所述的方法,其特征在于,所述将所述代码修改意见以及所述错误信息输入所述第一智能体,通过所述第一智能体以及所述第二智能体,生成与所述代码修改意见匹配的代码数据,包括:
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1至4任一项所述的方法,其特征在于,所述从预先构建的目标代码库中,获取代码种子...
【专利技术属性】
技术研发人员:高郡若,程立智,王俊琳,赵媛,
申请(专利权)人:天翼云科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。