System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 软件代码生成方法、装置、电子设备及存储介质制造方法及图纸_技高网

软件代码生成方法、装置、电子设备及存储介质制造方法及图纸

技术编号:41376730 阅读:6 留言:0更新日期:2024-05-20 10:20
本申请涉及一种软件代码生成方法、装置、电子设备及存储介质,方法包括:接收用户输入的功能需求语言;利用预先训练的大语言模型,对所述功能需求语言进行解析,生成对应的前端需求代码;对所述前端需求代码进行解析,生成目标语法树;基于所述目标语法树,生成可编译执行的目标软件代码。由此可以实现提升软件开发效率,节约用户开发成本,提升用户体验。

【技术实现步骤摘要】

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


技术介绍

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、展示模块,用于在所述生成对应的前端需求代码之后,在所述对所述前端需求代码进行解析,生成目标语法树之前,基于所述前端需求代码,通过可视化界面展示所述前端本文档来自技高网...

【技术保护点】

1.一种软件代码生成方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述利用预先训练的大语言模型,对所述功能需求语言进行解析,生成对应的前端需求代码,包括:

3.根据权利要求2所述的方法,其特征在于,所述大语言模型通过以下方式生成所述提示信息:

4.根据权利要求3所述的方法,其特征在于,所述大语言模型通过以下方式生成所述前端需求代码:

5.根据权利要求1所述的方法,其特征在于,在所述生成对应的前端需求代码之后,在所述对所述前端需求代码进行解析,生成目标语法树之前,还包括:

6.根据权利要求1所述的方法,其特征在于,所述基于所述目标语法树,生成可编译执行的目标软件代码,包括:

7.根据权利要求1所述的方法,其特征在于,所述大语言模型通过以下方式训练得到:

8.一种软件代码生成装置,其特征在于,所述装置包括:

9.一种电子设备,其特征在于,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的软件代码生成程序,以实现权利要求1~7中任一项所述的软件代码生成方法。

10.一种存储介质,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1~7中任一项所述的软件代码生成方法。

...

【技术特征摘要】

1.一种软件代码生成方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述利用预先训练的大语言模型,对所述功能需求语言进行解析,生成对应的前端需求代码,包括:

3.根据权利要求2所述的方法,其特征在于,所述大语言模型通过以下方式生成所述提示信息:

4.根据权利要求3所述的方法,其特征在于,所述大语言模型通过以下方式生成所述前端需求代码:

5.根据权利要求1所述的方法,其特征在于,在所述生成对应的前端需求代码之后,在所述对所述前端需求代码进行解析,生成目标语法树之前,还包括:

6.根据权利要求1所述的...

【专利技术属性】
技术研发人员:苏雅迪
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:

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

1