本技术公开了一种处理代码的方法以及代码处理模型的训练方法、装置、电子设备及存储介质,涉及数据处理,具体涉及语言处理等人工智能领域。
背景技术:
1、在文本生成模型大行其道的时代,代码生成在其中扮演了至关重要的作用,同时代码生成的好坏即准确性也是评估模型效果的核心要素。如何获取模型生成代码的准确性是一个极具挑战性的问题。
技术实现思路
1、本技术提供了一种处理代码的方法以及代码处理模型的训练方法、装置、电子设备及存储介质,以提高模型生成代码的代码处理的准确性。
2、根据本技术的第一方面,提供了一种处理代码的方法,包括:
3、获取模型生成代码和所述模型生成代码对应的代码获取请求;
4、基于所述模型生成代码和所述代码获取请求,生成提示词结构;其中,所述提示词结构包括实现多维度顺序推理判定的多个步骤;
5、通过将所述提示词结构输入训练好的第一模型中,基于所述多个步骤处理所述模型生成代码,得到代码处理结果。
6、在一些实现方式中,所述通过将所述提示词结构输入训练好的第一模型中,基于所述多个步骤处理所述模型生成代码,得到代码处理结果,包括:
7、获取所述模型生成代码和所述代码获取请求的相关性信息;
8、在所述相关性信息满足预设条件时,获取所述模型生成代码与所述代码获取请求的结论性信息;
9、基于所述结论性信息,获取所述模型生成代码的准确度信息;
10、在所述相关性信息不满足所述预设条件时,基于所述相关性信息,获取所述模型生成代码的准确度信息。
11、在一些实现方式中,所述基于所述模型生成代码和所述代码获取请求,生成提示词结构;包括:
12、根据语法错误描述、应用程序接口api知识信息、语言描述中的至少一项以及所述代码获取请求和所述模型生成代码,生成所述提示词结构;
13、其中,所述语法错误描述是基于所述模型生成代码的语言类型对所述模型生成代码进行语法检测获取的;
14、所述api知识信息是基于从所述模型生成代码中提取的相关api名进行检索获取的;
15、所述语言描述是基于所述模型生成代码的语言类型获取的。
16、在一些实现方式中,所述通过将所述提示词结构输入训练好的第一模型中,基于所述多个步骤处理所述模型生成代码,得到代码处理结果,包括:
17、获取所述模型生成代码和所述代码获取请求的相关性信息;
18、在所述相关性信息满足预设条件时,基于所述语法错误描述、所述api知识信息、所述语言描述中的至少一项,获取所述模型生成代码与所述代码获取请求的结论性信息;
19、基于所述结论性信息,获取所述模型生成代码的准确度信息;
20、在所述相关性信息不满足所述预设条件时,基于所述相关性信息,获取所述模型生成代码的准确度信息。
21、在一些实现方式中,所述语法错误描述的获取方法;包括:
22、从语法检查工具集中选择与所述语言类型对应的目标语法检测工具;
23、通过所述目标语法检测工具对所述模型生成代码进行语法检测,得到语法错误描述。
24、在一些实现方式中,所述api知识信息的获取方法;包括:
25、基于所述相关api名,在api信息库中进行检索,得到api知识信息;其中,所述api信息库中存储有多种api的知识信息。
26、在一些实现方式中,所述语言描述的获取方法,包括:
27、从语言相关提示词库中,获取与所述语言类型对应的语言描述;其中,所述语言相关提示词库用于存储多种语言类型的语言描述。
28、在一些实现方式中,所述方法还包括:
29、通过语言分类器对所述模型生成代码进行类型识别,得到所述模型生成代码的语言类型。
30、根据本技术的第二方面,提供了一种代码处理模型的训练方法,包括:
31、获取多个代码获取请求;并将所述多个代码获取请求均输入代码生成模型,得到所述多个代码获取请求分别对应的多个模型生成代码;
32、基于所述多个代码获取请求和对应的所述多个模型生成代码,生成多个提示词结构;其中,所述提示词结构为第一方面所述的提示词结构;
33、将所述多个提示词结构均输入第二模型,得到所述多个提示词结构分别对应的多个准确度数据;其中,所述第二模型具有代码处理能力;
34、将所述多个提示词结构和对应的多个准确度数据构成多个训练样本;
35、通过所述多个训练样本训练第一模型,得到代码处理模型。
36、根据本技术的第三方面,提供了一种处理代码的装置,包括:
37、信息获取模块,用于获取模型生成代码和所述模型生成代码对应的代码获取请求;
38、提示词生成模块,用于基于所述模型生成代码和所述代码获取请求,生成提示词结构;其中,所述提示词结构包括实现多维度顺序推理判定的多个步骤;
39、代码处理模块,用于通过将所述提示词结构输入训练好的第一模型中,基于所述多个步骤处理所述模型生成代码,得到代码处理结果。
40、在一些实现方式中,所述代码处理模块,具体用于:
41、获取所述模型生成代码和所述代码获取请求的相关性信息;
42、在所述相关性信息满足预设条件时,获取所述模型生成代码与所述代码获取请求的结论性信息;
43、基于所述结论性信息,获取所述模型生成代码的准确度信息;
44、在所述相关性信息不满足所述预设条件时,基于所述相关性信息,获取所述模型生成代码的准确度信息。
45、在一些实现方式中,所述提示词生成模块,具体用于:
46、根据语法错误描述、应用程序接口api知识信息、语言描述中的至少一项以及所述代码获取请求和所述模型生成代码,生成所述提示词结构;
47、其中,所述语法错误描述是语法判定单元基于所述模型生成代码的语言类型对所述模型生成代码进行语法检测获取的;
48、所述api知识信息是事实信息检索单元基于从所述模型生成代码中提取的相关api名进行检索获取的;
49、所述语言描述是语言描述获取单元基于所述模型生成代码的语言类型获取的代码获取请求。
50、在一些实现方式中,所述代码处理模块,具体用于:
51、获取所述模型生成代码和所述代码获取请求的相关性信息;
52、在所述相关性信息满足预设条件时,基于所述语法错误描述、所述api知识信息、所述语言描述中的至少一项,获取所述模型生成代码与所述代码获取请求的结论性信息;
53、基于所述结论性信息,获取所述模型生成代码的准确度信息;
54、在所述相关性信息不满足所述预设条件时,基于所述相关性信息,获取所述模型生成代码的准确度信息。
55、在一些实现方式中,所述语法判定单元,具体用于:
56、从语法检查工具集中选择与所述语言类型对应的目标语法检测工具;
57、通过所述目标语法检测工具对所述模型生成代码进行语法检测,得到语法错误描述。
58、在一些实现方式中,所述事实信息检索单元,具体用于:
59、基于所述相关api名,在api信息库中进行检索,得到api知识信息;其中,所述api信息库中存储有多种api的知识信息。
60、在一些实现方式中,所述语言描述获取单元,具体用于:
61、从语言相关提示词库中,获取与所述语言类型对应的语言描述;其中,所述语言相关提示词库用于存储多种语言类型的语言描述。
62、在一些实现方式中,所述装置还包括语言类型识别单元,具体用于:
63、通过语言分类器对所述模型生成代码进行类型识别,得到所述代码的语言类型。
64、根据本技术的第四方面,提供了一种代码处理模型的训练装置,包括:
65、信息获取模块,用于获取多个代码获取请求;并将所述多个代码获取请求均输入代码生成模型,得到所述多个代码获取请求分别对应的多个模型生成代码;
66、提示词生成模块,用于基于所述多个代码获取请求和对应的所述多个模型生成代码,生成多个提示词结构;其中,所述提示词结构为第一方面所述的提示词结构;
67、模型能力获取模块,用于将所述多个提示词结构均输入第二模型,得到所述多个提示词结构分别对应的多个准确度数据;其中,所述第二模型具有代码处理能力;
68、样本构建模块,用于将所述多个提示词结构和对应的多个准确度数据构成多个训练样本;
69、模型训练模块,用于通过所述多个训练样本训练第一模型,得到代码处理模型。
70、根据本技术的第五方面,提供了一种电子设备,包括:
71、至少一个处理器;以及
72、与所述至少一个处理器通信连接的存储器;其中,
73、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面或者第二方面所述的方法。
74、根据本技术的第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行第一方面或者第二方面所述的方法。
75、根据本技术的第五方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面或者第二方面所述方法的步骤。
76、根据本技术的技术解决了模型生成代码评估成本高及可能引起的数据泄漏问题,提高了模型生成代码的代码处理的准确性。
77、应当理解,本部分所描述的内容并非旨在标识本技术的实施例的关键或重要特征,也不用于限制本技术的范围。本技术的其它特征将通过以下的说明书而变得容易理解。