本发明涉及软件开发,具体涉及一种微调大模型驱动的领域模型自动化构建系统。
背景技术:
1、领域模型作为对领域内概念类或现实世界中对象的可视化表示,是软件开发中不可或缺的一环。然而,传统的领域模型构建方法主要依赖于手动分析和设计,这一过程不仅耗时费力,还容易因为人为因素导致遗漏或出错。为了改进这一状况,开始探索利用自然语言处理技术(nlp)来辅助领域模型的构建,除此之外,为了进一步提高软件开发的效率和质量,人们开始尝试将简单文本直接转化为uml图,例如使用pl antuml插件。这种技术通过编写uml图生成插件所需的代码,来生成uml图。虽然这种方法在一定程度上简化了uml图的生成过程,但由于需要额外学习插件的代码语言,而不是直接通过人类文字语言生成uml图,仍存在较多的不便。
2、现有技术在将自然语言转化为领域模型、便捷生成uml图以及应用开源大模型方面均存在不足,包括理解不准确、生成效率低、泛化能力有限以及特定领域适应性差等。
技术实现思路
1、为了解决上述现有技术中存在的问题,本发明提供了一种微调大模型驱动的领域模型自动化构建系统,解决现有技术无法配合开发人员的需要简单快捷地生成领域模型的技术问题。
2、一种微调大模型驱动的领域模型自动化构建系统,包括代码生成模块、uml图生成模块及交互页面,
3、所述代码生成模块用于根据自然语言描述生成类图代码,
4、所述uml图生成模块用于根据类图代码生成uml类图,
5、所述连接模块用于在代码生成模块与交互页面之间、uml图生成模块与交互页面之间传输信息,
6、所述交互页面用于获取自然语言描述、类图代码及uml图生成模块生成的uml类图。
7、进一步地,所述代码生成模块包括代码生成模型和训练模块,所述代码生成模型用于将文字需求转化为类图代码,所述训练模块用于构建代码数据集及代码测试集,利用代码数据集对目标大语言模型进行训练并利用代码测试集测试最终获取代码生成模型,所述代码数据集中每条数据包括输入指令和输出内容,所述输入指令为某一领域的详细文字需求,所述输出内容为与详细文字需求对应的类图代码。
8、进一步地,所述代码数据集的构建过程包括:
9、获取多个领域软件系统的需求规格说明书从中提取各个领域软件系统的文字需求,所述多个领域包括医疗、餐饮、电商、教育、金融、旅游、项目管理、社交媒体;将文字需求转化为初步类图代码,按代码规范调整初步类图代码并生产初步的uml图,按照规定标准对初步的uml图进行调整得到严谨的uml图,将严谨的uml图反推为准确的类图代码,最后将准确的类图代码与文字需求对应组成代码数据集。
10、进一步地,所述代码生成模型的训练过程包括:
11、选择目标大语言模型,利用co l ab和uns l oth框架对目标大语言模型微调,再使用openai的tr iton对模型的计算过程进行重写得到初步代码生成模型。
12、进一步地,所述代码生成模型的测试过程包括:
13、制作代码测试集,所述代码测试集仅包括文字需求,所述文字需求与代码数据集中的输入指令均不相同,将测试集分别输入训练前的目标大语言模型以及训练后的初步代码生成模型,以同时进行需求文本转uml图代码的操作,基于模型微调结果对比表对二者的输出结果进行对比,再对模型微调结果对比表数据进行分析判断初步代码生成模型的代码生成效果,若效果不佳则通过训练模块补充代码数据集对初步代码生成模型进行再训练直到初步代码模型获取预期的代码生成效果,将其作为代码生成模型。
14、进一步地,所述模型微调结果对比表的指标包括:代码直接可用率、精确率、召回率、f1得分、模型大小及推理时间。
15、进一步地,所述交互页面包括模型切换框、文字需求输入框、类图代码输出框、类图代码输入框、uml图输出框,所述文字需求输入框、类图代码输出框与代码生成模块传输信息,所述类图代码输入框、uml图输出框与uml图生成模块传输信息。
16、进一步地,还包括连接模块,所述连接模块用于在代码生成模块与交互页面之间传输信息。
17、进一步地,所述连接模块包括ol l ama,所述ol l ama用于将代码生成模块部署在本地。
18、进一步地,使用方法如下:
19、步骤1:在本地部署的多个模型中选择需要的模型;
20、步骤2:通过交互界面输入领域文字需求到代码生成模块,代码生成模块生成相应类图代码反馈到交互页面;
21、步骤3:对相应类图代码进行适当调整通过交互页面将其输入到uml图生成模块,uml图生成模块生成uml类图并反馈到交互页面。
22、本发明的有益效果包括:
23、a.实现了从需求文本到uml图的快速构建:本发明打破了不同领域间的技术壁垒,降低了软件开发人员和用户之间的沟通成本,将生成uml技术和大语言模型有机地结合起来
24、b.对于领域模型构建的准确性有较大提升。
1.一种微调大模型驱动的领域模型自动化构建系统,其特征在于,包括代码生成模块、uml图生成模块及交互页面,
2.根据权利要求1所述的一种微调大模型驱动的领域模型自动化构建系统,其特征在于,所述代码生成模块包括代码生成模型和训练模块,所述代码生成模型用于将文字需求转化为类图代码,所述训练模块用于构建代码数据集及代码测试集,利用代码数据集对目标大语言模型进行训练并利用代码测试集测试最终获取代码生成模型,所述代码数据集中每条数据包括输入指令和输出内容,所述输入指令为某一领域的详细文字需求,所述输出内容为与详细文字需求对应的类图代码。
3.根据权利要求2所述的一种微调大模型驱动的领域模型自动化构建系统,其特征在于,所述代码数据集的构建过程包括:
4.根据权利要求2所述的一种微调大模型驱动的领域模型自动化构建系统,其特征在于,所述代码生成模型的训练过程包括:
5.根据权利要求4所述的一种微调大模型驱动的领域模型自动化构建系统,其特征在于,所述代码生成模型的测试过程包括:
6.根据权利要求5所述的一种微调大模型驱动的领域模型自动化构建系统,其特征在于,所述模型微调结果对比表的指标包括:代码直接可用率、精确率、召回率、f1得分、模型大小及推理时间。
7.根据权利要求1所述的一种微调大模型驱动的领域模型自动化构建系统,其特征在于,所述交互页面包括模型切换框、文字需求输入框、类图代码输出框、类图代码输入框、uml图输出框,所述文字需求输入框、类图代码输出框与代码生成模块传输信息,所述类图代码输入框、uml图输出框与uml图生成模块传输信息。
8.根据权利要求1所述的一种微调大模型驱动的领域模型自动化构建系统,其特征在于,还包括连接模块,所述连接模块用于在代码生成模块与交互页面之间传输信息。
9.根据权利要求8所述的一种微调大模型驱动的领域模型自动化构建系统,其特征在于,所述连接模块包括ollama,所述ollama用于将代码生成模块部署在本地。
10.根据权利要求1-9任一项所述的一种微调大模型驱动的领域模型自动化构建系统,其特征在于,使用方法如下: