软件代码生成方法、装置、电子设备及存储介质与流程

文档序号:38035707发布日期:2024-05-17 13:20阅读:11来源:国知局
软件代码生成方法、装置、电子设备及存储介质与流程

本技术涉及计算机软件,尤其涉及一种软件代码生成方法、装置、电子设备及存储介质。


背景技术:

1、目前,在对软件进行开发时,为了降低工作量,提高软件开发效率,并生成高质量的代码程序,开发人员一般通过低代码生成装置生成待开发软件的源代码。

2、现有技术中,用户在使用低代码平台进行软件开发时,一般通过视图拖拽的方式将所需的功能组件拖到对应的界面,低代码平台根据用户拖拽的功能组件生成对应的前端需求代码。

3、然而,这种方式需要用户熟悉平台所支持的功能组件、每个功能组件的配置项属性以及功能组件的使用规则等信息,这就导致用户需要付出一定的学习和应用成本用来熟悉低代码平台,尤其待开发的软件需要大量的功能需求时,对于用户来说则需要付出大量学习和应用成本,这不仅提高了工作量,降低了软件开发效率,而且影响用户体验。


技术实现思路

1、本技术提供了一种软件代码生成方法、装置、电子设备及存储介质,以解决现有技术中用户在进行软件开发时,需要付出大量学习和应用成本,这不仅提高了工作量,降低了软件开发效率,而且影响用户体验的技术问题。

2、第一方面,本技术提供了一种软件代码生成方法,所述方法包括:

3、接收用户输入的功能需求语言;

4、利用预先训练的大语言模型,对所述功能需求语言进行解析,生成对应的前端需求代码;

5、对所述前端需求代码进行解析,生成目标语法树;

6、基于所述目标语法树,生成可编译执行的目标软件代码。

7、作为一个可能的实现方式,所述利用预先训练的大语言模型,对所述功能需求语言进行解析,生成对应的前端需求代码,包括:

8、将所述功能需求语言输入预先训练的所述大语言模型,获取所述大语言模型输出的提示信息;

9、输出所述提示信息;

10、接收用户针对所述提示信息输入的应答语言;

11、将所述应答语言输入所述大语言模型,得到所述大语言模型输出的前端需求代码。

12、作为一个可能的实现方式,所述大语言模型通过以下方式生成所述提示信息:

13、接收所述功能需求语言;

14、对所述功能需求语言进行识别,得到所述功能需求语言对应的目标功能需求;

15、根据所述目标功能需求,从预设的组件库中确定初始功能组件;

16、根据所述初始功能组件生成与所述初始功能组件对应的提示信息。

17、作为一个可能的实现方式,所述大语言模型通过以下方式生成所述前端需求代码:

18、接收用户的应答语言;

19、对所述应答语言进行识别,得到所述应答语言对应的应答功能需求;

20、根据所述应答功能需求,从所述初始功能组件中确定所述应答功能需求对应的目标功能组件以及所述目标功能组件对应的目标属性;

21、生成所述目标功能组件和所述目标属性对应的前端需求代码。

22、作为一个可能的实现方式,在所述生成对应的前端需求代码之后,在所述对所述前端需求代码进行解析,生成目标语法树之前,还包括:

23、基于所述前端需求代码,通过可视化界面展示所述前端需求代码对应的功能组件;

24、在检测到用户针对所述功能组件的确认操作的情况下,执行所述对所述前端需求代码进行解析,生成目标语法树的步骤。

25、作为一个可能的实现方式,所述基于所述目标语法树,生成可编译执行的目标软件代码,包括:

26、根据所述目标语法树,生成所述目标软件代码的前端源代码;

27、获取与所述前端源代码对应的功能代码;

28、将所述前端源代码与所述功能代码进行合并,得到可编译执行的目标软件代码。

29、作为一个可能的实现方式,所述大语言模型通过以下方式训练得到:

30、获取用户不同功能需求的语言样本,以及所述语言样本对应的标准前端需求代码,所述语言样本包括功能需求语言样本和应答语言样本;

31、针对每一所述语言样本,将所述语言样本包括的功能需求语言样本输入预设的初始大语言模型,得到所述初始大语言模型输出的初始提示信息;其中,所述初始大语言模型包括预设的组件库,所述组件库包括多个功能组件,每个所述功能组件存在对应的功能属性;

32、将所述语言样本包括的应答语言样本输入所述初始大语言模型,得到所述初始大语言模型输出的初始前端需求代码;

33、确定所述标准前端需求代码和所述初始前端需求代码之间的损失值;

34、在所述损失值小于预设的损失值阈值的情况下,得到所述大语言模型。

35、第二方面,本技术实施例提供一种软件代码生成装置,所述装置包括:

36、接收模块,用于接收用户输入的功能需求语言;

37、第一解析模块,用于利用预先训练的大语言模型,对所述功能需求语言进行解析,生成对应的前端需求代码;

38、第二解析模块,用于对所述前端需求代码进行解析,生成目标语法树;

39、生成模块,用于基于所述目标语法树,生成可编译执行的目标软件代码。

40、作为一个可能的实现方式,所述第一解析模块,包括:

41、获取子模块,用于将所述功能需求语言输入预先训练的所述大语言模型,获取所述大语言模型输出的提示信息;

42、输出子模块,用于输出所述提示信息;

43、接收子模块,用于接收用户针对所述提示信息输入的应答语言;

44、输入子模块,用于将所述应答语言输入所述大语言模型,得到所述大语言模型输出的前端需求代码。

45、作为一个可能的实现方式,所述装置还包括:

46、第一生成模块,用于所述大语言模型通过以下方式生成所述提示信息:

47、接收所述功能需求语言;

48、对所述功能需求语言进行识别,得到所述功能需求语言对应的目标功能需求;

49、根据所述目标功能需求,从预设的组件库中确定初始功能组件;

50、根据所述初始功能组件生成与所述初始功能组件对应的提示信息。

51、作为一个可能的实现方式,所述装置还包括:

52、第二生成模块,用于所述大语言模型通过以下方式生成所述前端需求代码:

53、接收用户的应答语言;

54、对所述应答语言进行识别,得到所述应答语言对应的应答功能需求;

55、根据所述应答功能需求,从所述初始功能组件中确定所述应答功能需求对应的目标功能组件以及所述目标功能组件对应的目标属性;

56、生成所述目标功能组件和所述目标属性对应的前端需求代码。

57、作为一个可能的实现方式,所述装置还包括:

58、展示模块,用于在所述生成对应的前端需求代码之后,在所述对所述前端需求代码进行解析,生成目标语法树之前,基于所述前端需求代码,通过可视化界面展示所述前端需求代码对应的功能组件;

59、执行模块,用于在检测到用户针对所述功能组件的确认操作的情况下,执行所述对所述前端需求代码进行解析,生成目标语法树的步骤。

60、作为一个可能的实现方式,所述生成模块,具体用于:

61、根据所述目标语法树,生成所述目标软件代码的前端源代码;

62、获取与所述前端源代码对应的功能代码;

63、将所述前端源代码与所述功能代码进行合并,得到可编译执行的目标软件代码。

64、作为一个可能的实现方式,所述装置还包括:

65、训练模块,用于获取用户不同功能需求的语言样本,以及所述语言样本对应的标准前端需求代码,所述语言样本包括功能需求语言样本和应答语言样本;

66、针对每一所述语言样本,将所述语言样本包括的功能需求语言样本输入预设的初始大语言模型,得到所述初始大语言模型输出的初始提示信息;其中,所述初始大语言模型包括预设的组件库,所述组件库包括多个功能组件,每个所述功能组件存在对应的功能属性;

67、将所述语言样本包括的应答语言样本输入所述初始大语言模型,得到所述初始大语言模型输出的初始前端需求代码;

68、确定所述标准前端需求代码和所述初始前端需求代码之间的损失值;

69、在所述损失值小于预设的损失值阈值的情况下,得到所述大语言模型。

70、第三方面,本技术实施例提供一种电子设备,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的软件代码生成程序,以实现第一方面中任一项所述的软件代码生成方法。

71、第四方面,本技术实施例提供一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现第一方面中任一项所述的软件代码生成方法。

72、本技术实施例提供的技术方案,通过接收用户输入的功能需求语言,利用预先训练大语言模型,对上述功能需求语言进行解析,生成对应的前端需求代码,对上述前端需求代码进行解析,生成目标语法树,基于目标语法树,生成可编译执行的目标软件代码。这一技术方案,通过大语言模型对用户的功能需求进行自动解析并生成对应的前端需求代码,从而通过对前端需求代码进行解析,生成对应的软件代码,其无需用户熟悉平台所支持的功能组件、每个功能组件的配置项属性以及功能组件的使用规则等信息,实现了提升软件开发效率,节约用户开发成本,提升用户体验。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1