代码生成方法及相关设备与流程

摘要: 本申请涉及数据处理,尤其涉及代码生成方法及相关设备。背景技术:1、在相关技术中,当前,ai辅助代码生成技术在主流开源框架下已广泛应用,通过自然语言描述、可视化拖...
代码生成方法及相关设备与流程

本申请涉及数据处理,尤其涉及代码生成方法及相关设备。

背景技术:

1、在相关技术中,当前,ai辅助代码生成技术在主流开源框架下已广泛应用,通过自然语言描述、可视化拖拽或设计稿解析等方式生成前端代码。然而,企业级开发中常采用定制化技术栈,其语法规范、组件调用方式及业务约束具有高度特殊性,通用ai工具无法理解此类定制化规则,导致生成代码不符合项目规范。同时,企业积累的自定义组件库和公共函数库等业务知识难以被ai复用,生成代码仍需大量人工修改。此外,现有工具多生成单一文件,缺乏多技术文件协同生成能力,且质量保障主要依赖静态检查,缺乏与实际渲染引擎结合的动态验证手段。

技术实现思路

1、本申请的主要目的在于提供一种代码生成方法及相关设备,旨在解决使大语言模型遵循定制化技术栈规范生成可直接使用的代码的技术问题。

2、为实现上述目的,本申请提出一种代码生成方法,所述的代码生成方法包括:

3、响应于代码生成指令,获取非结构化的代码生成需求;

4、对所述非结构化的代码生成需求进行处理,生成结构化需求描述;

5、基于所述结构化需求描述和预设知识库,使用预设大模型生成代码,得到目标代码,其中,所述预设知识库包含代码强制规范,所述代码强制规范用于约束预设大模型,以使预设大语言模型输出的代码符合代码强制规范。

6、在一实施例中,所述基于所述结构化需求描述和预设知识库,使用预设大模型生成代码,得到目标代码的步骤,还包括:

7、基于所述结构化需求和预设提示词模版,构建提示词;

8、基于所述提示词和预设知识库,使用预设大模型生成代码,得到初始代码;

9、对所述初始代码进行规范校验;

10、若所述初始代码符合规范,将所述初始代码设定为目标代码;若所述初始代码校验不符合规范,对所述初始代码执行自动纠错操作,以生成符合规范的目标代码。

11、在一实施例中,所述对所述初始代码进行规范校验的步骤,还包括:

12、基于代码生成需求,从组件库中选取目标组件;

13、基于所述目标组件和所述初始代码,执行渲染操作,以对所述初始代码进行规范校验,其中,若渲染成功,则确定所述初始代码符合规范,若渲染失败,则确定所述初始代码不符合规范。

14、在一实施例中,所述对所述初始代码执行自动纠错操作,以生成符合规范的目标代码的步骤,还包括:

15、获取渲染失败日志;

16、基于所述渲染失败日志,确定渲染失败原因;

17、基于所述渲染失败原因,对所述提示词进行优化,得到优化后的提示词;

18、基于优化后提示词和预设知识库,返回基于所述提示词和预设知识库,使用预设大模型生成代码,得到初始代码的步骤,直至初始代码符合规范,将符合规范的初始代码设定为目标代码。

19、在一实施例中,所述对所述初始代码执行自动纠错操作,以生成符合规范的目标代码的步骤之后,还包括:

20、基于所述渲染失败原因,更新样本数据集;

21、基于更新后的样本数据集,对所述预设大模型进行迭代优化。

22、在一实施例中,所述非结构化的代码生成需求包括设计稿、示意图和源码,所述对所述非结构化的代码生成需求进行处理,生成结构化需求描述的步骤,还包括:

23、若所述非结构化的代码生成需求为设计稿,基于mcp服务解析所述设计稿的结构,以提取ui元素布局和样式信息,基于ui元素布局和样式信息,生成结构化需求描述;

24、若所述非结构化的代码生成需求为示意图,使用预设大模型对所述示意图进行识别,以将所述示意图转化为结构化需求描述;

25、若所述非结构化的代码生成需求为源码,对所述源码进行解析,以提取业务逻辑和样式结构,基于业务逻辑和样式结构,生成结构化需求描述。

26、在一实施例中,所述基于所述结构化需求描述和预设知识库的步骤之前,还包括:

27、获取预设技术栈的代码强制规范,所述代码强制规范包括代码语法约束、编码风格约束、命名约束和接口调用约束;

28、获取公共函数库和组件库,所述公共函数库包含通用功能函数,所述组件库包含可复用界面组件;

29、将所述代码强制规范、所述公共函数库和所述组件库按照预设格式进行结构化封装,生成预设知识库。

30、此外,为实现上述目的,本申请还提出一种代码生成装置,所述代码生成装置包括:

31、获取模块,所述获取模块用于响应于代码生成指令,获取非结构化的代码生成需求;

32、数据处理模块,所述数据处理模块用于对所述非结构化的代码生成需求进行处理,生成结构化需求描述;

33、生成模块,所述生成模块用于基于所述结构化需求描述和预设知识库,使用预设大模型生成代码,得到目标代码,其中,所述预设知识库包含代码强制规范,所述代码强制规范用于约束预设大模型,以使预设大语言模型输出的代码符合代码强制规范。

34、此外,为实现上述目的,本申请还提出一种代码生成设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如上文所述的代码生成方法的步骤。

35、此外,为实现上述目的,本申请还提出一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文所述的代码生成方法的步骤。

36、此外,为实现上述目的,本申请还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如上文所述的代码生成方法的步骤。

37、本申请提出的一个或多个技术方案,至少具有以下技术效果:

38、本申请公开了一种代码生成方法及相关设备,涉及数据处理技术领域,与相关技术中,企业级开发中常采用定制化技术栈,其语法规范、组件调用方式及业务约束具有高度特殊性,通用ai工具无法理解此类定制化规则,导致生成代码不符合项目规范相比,在本申请中,首先,响应于代码生成指令,获取非结构化的代码生成需求,然后,对所述非结构化的代码生成需求进行处理,生成结构化需求描述,最后,基于所述结构化需求描述和预设知识库,使用预设大模型生成代码,得到目标代码,其中,所述预设知识库包含代码强制规范,所述代码强制规范用于约束预设大模型,以使预设大语言模型输出的代码符合代码强制规范。

39、可以理解的是,本申请通过将代码强制规范前置封装于预设知识库中,使大模型在生成阶段即受规范约束,直接输出符合定制化技术栈要求的目标代码,避免事后大量修复,解决了通用ai工具无法适配企业定制化规范的问题,显著减少人工干预。

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

2.如权利要求1所述的代码生成方法,其特征在于,所述基于所述结构化需求描述和预设知识库,使用预设大模型生成代码,得到目标代码的步骤,还包括:

3.如权利要求2所述的代码生成方法,其特征在于,所述对所述初始代码进行规范校验的步骤,还包括:

4.如权利要求2所述的代码生成方法,其特征在于,所述对所述初始代码执行自动纠错操作,以生成符合规范的目标代码的步骤,还包括:

5.如权利要求4所述的代码生成方法,其特征在于,所述对所述初始代码执行自动纠错操作,以生成符合规范的目标代码的步骤之后,还包括:

6.如权利要求1所述的代码生成方法,其特征在于,所述非结构化的代码生成需求包括设计稿、示意图和源码,所述对所述非结构化的代码生成需求进行处理,生成结构化需求描述的步骤,还包括:

7.如权利要求1所述的代码生成方法,其特征在于,所述基于所述结构化需求描述和预设知识库的步骤之前,还包括:

8.一种代码生成设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如权利要求1至7中任一项所述的代码生成方法的步骤。

9.一种存储介质,其特征在于,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的代码生成方法的步骤。

10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的代码生成方法的步骤。