本申请涉及大模型技术、计算机,具体而言,涉及一种代码修复方法、电子设备及计算机可读存储介质。
背景技术:
1、在软件开发领域,代码项目的维护和更新是持续进行的过程。日常代码项目开发场景中,开发人员会根据项目经理提出的需求或用户反馈的缺陷,对项目进行修改。这个过程涉及到分析需求、定位代码、修改代码以及生成变更形式等步骤,是软件开发中不可或缺的环节。
2、目前,开发人员在进行代码项目修改时,会采用已有的代码模型分析代码修改需求,生成修改后的代码文件。但是,用户若想采纳该修改后的代码文件,只能基于修改后的代码文件手动在对应代码文件中进行修改,因此增加了用户的工作量和复杂度,导致代码项目的维护和更新的效率较低。
3、针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
1、本申请实施例提供了一种代码修复方法、电子设备及计算机可读存储介质,以至少解决相关技术中代码模型只能生成代码文件,用户无法直接采纳该代码文件,导致人工成本高、代码项目维护和更新的效率低的技术问题。
2、根据本申请实施例的一个方面,提供了一种代码修复方法,包括:获取初始代码文件和修改需求,其中,修改需求为对初始代码文件的修改需求;基于修改需求采用目标代码修复模型对初始代码文件进行代码修复,得到代码变更文件;其中,目标代码修复模型为基于修改建议文件对初始代码修复模型进行训练后得到,修改建议文件用于指示将初始代码文件样本中的指定代码片段修改为目标代码片段,代码变更文件用于表示目标代码文件与初始代码文件之间的代码差异,目标代码文件为对初始代码文件进行代码修复后得到。
3、根据本申请实施例的另一方面,还提供了一种代码修复方法,包括:通过第一应用程序编程接口获取代码修复请求;通过第二应用程序编程接口返回代码修复响应;其中,代码修复请求中携带的请求数据包括:初始代码文件和修改需求,代码修复响应中携带的响应数据包括:代码变更文件,修改需求为对初始代码文件的修改需求,代码变更文件为基于修改需求采用目标代码修复模型对初始代码文件进行代码修复后得到,目标代码修复模型为基于修改建议文件对初始代码修复模型进行训练后得到,修改建议文件用于指示将初始代码文件样本中的指定代码片段修改为目标代码片段,代码变更文件用于表示目标代码文件与初始代码文件之间的代码差异,目标代码文件为对初始代码文件进行代码修复后得到。
4、根据本申请实施例的另一方面,还提供了一种代码修复方法,包括:获取当前输入的代码修复对话请求;响应于代码修复对话请求,返回代码修复对话回复;其中,代码修复对话请求中携带的请求数据包括:初始代码文件和修改需求,代码修复对话回复中携带的信息包括:代码变更文件,修改需求为对初始代码文件的修改需求,代码变更文件为基于修改需求采用目标代码修复模型对初始代码文件进行代码修复后得到,目标代码修复模型为基于修改建议文件对初始代码修复模型进行训练后得到,修改建议文件用于指示将初始代码文件样本中的指定代码片段修改为目标代码片段,代码变更文件用于表示目标代码文件与初始代码文件之间的代码差异,目标代码文件为对初始代码文件进行代码修复后得到;在图形用户界面内展示代码变更文件。
5、根据本申请实施例的另一方面,还提供了一种模型训练方法,包括:获取初始代码文件样本和修改需求样本,其中,修改需求样本为对初始代码文件样本的修改需求;基于初始代码文件样本和修改需求样本生成修改建议文件,其中,修改建议文件用于指示将初始代码文件样本中的指定代码片段修改为目标代码片段;基于修改建议文件对初始代码修复模型进行训练,得到代码变更文件,其中,代码变更文件用于表示目标代码文件样本与初始代码文件样本之间的代码差异,目标代码文件样本为对初始代码文件样本进行代码修复后得到;基于代码变更文件生成目标代码修复模型。
6、根据本申请实施例的另一方面,还提供了一种电子设备,包括:存储器,存储有可执行程序;处理器,用于运行程序,其中,程序运行时执行任意一项上述的代码修复方法或执行任意一项上述的模型训练方法。
7、根据本申请实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的可执行程序,其中,在可执行程序运行时控制计算机可读存储介质所在设备执行任意一项上述的代码修复方法或执行任意一项上述的模型训练方法。
8、根据本申请实施例的另一方面,还提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现任意一项上述的代码修复方法或执行任意一项上述的模型训练方法。
9、在本申请实施例中,通过获取初始代码文件和对初始代码文件的修改需求,然后基于修改需求采用目标代码修复模型对初始代码文件进行代码修复,从而得到用于表示目标代码文件与初始代码文件之间的代码差异的代码变更文件,其中,目标代码文件为对初始代码文件进行代码修复后得到,目标代码修复模型为基于修改建议文件对初始代码修复模型进行训练后得到,修改建议文件用于指示将初始代码文件样本中的指定代码片段修改为目标代码片段,由此达到了基于代码变更文件高效快速地对待修复的代码文件进行修复的目的,使用户可以直接采纳该代码变更文件的代码修改方式来解决已有项目中存在的缺点,从而实现了提高代码修复的效率、加速整个项目开发的过程同时节省人力的技术效果,进而解决了相关技术中代码模型只能生成代码文件,用户无法直接采纳该代码文件,导致人工成本高、代码项目维护和更新的效率低的技术问题。
10、容易注意到的是,上面的通用描述和后面的详细描述仅仅是为了对本申请进行举例和解释,并不构成对本申请的限定。
1.一种代码修复方法,其特征在于,包括:
2.根据权利要求1所述的代码修复方法,其特征在于,所述基于所述修改需求采用目标代码修复模型对所述初始代码文件进行代码修复,得到代码变更文件包括:
3.根据权利要求2所述的代码修复方法,其特征在于,所述基于所述修改需求从所述初始代码文件中确定候选代码片段包括:
4.根据权利要求3所述的代码修复方法,其特征在于,所述基于所述检索请求和所述需求翻译文本对所述初始代码文件进行检索,得到所述候选代码片段包括:
5.根据权利要求4所述的代码修复方法,其特征在于,所述基于所述检索请求和所述需求翻译文本对所述分段代码片段进行检索,得到所述候选代码片段包括:
6.根据权利要求5所述的代码修复方法,其特征在于,所述基于所述检索请求确定所述分段代码片段与所述需求翻译文本之间的相关性数值包括:
7.根据权利要求2所述的代码修复方法,其特征在于,所述基于所述修改计划和所述候选代码片段生成所述修改建议文件包括:
8.根据权利要求7所述的代码修复方法,其特征在于,所述方法还包括:
9.根据权利要求2-8中任一项所述的代码修复方法,其特征在于,所述基于所述修改建议文件生成所述代码变更文件包括:
10.根据权利要求1所述的代码修复方法,其特征在于,所述方法还包括:
11.一种代码修复方法,其特征在于,包括:
12.一种代码修复方法,其特征在于,包括:
13.一种模型训练方法,其特征在于,包括:
14.一种电子设备,其特征在于,包括:
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的可执行程序,其中,在所述可执行程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至12中任意一项所述的代码修复方法或执行权利要求13所述的模型训练方法。
16.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序在被处理器执行时实现权利要求1至12中任意一项所述的代码修复方法或执行权利要求13所述的模型训练方法。