九州官方网站 版权所有 2003-2023
-
您的位置:
- 网站首页
- > 九州(中国)科技有限公司官网
- > 鲸品堂
您的位置:
数据库方面:数据库中存在大量的存储过程、函数、动态SQL需要进行语法差异转换,并且调用链情况较为复杂,在存过、函数、动态SQL之间存在着互相调用的情况,耦合度比较高。
代码方面:祖传架构方面,老式集群模式的项目下代码工程多,工程中的技术框架经过很多轮的迭代,包含JDBC、MyBatis、FreeMarker、EJB、工厂模式等。业务实现方面,有大量的存过、函数调用,并且SQL的组装无处不在,有字符串拼接、StringBuffer、StringBuilder、mapper.xml、自定义XML等方式。
代码走查需仔细,否则范围难控制;
对于人员经验要求高,需要熟悉框架,能够识别、发现、解决问题;
大量的SQL和代码改造,具备高度经验化、高重复化的特征;
DDL转换场景:将Oracle数据库中的表、存储过程、函数、视图等DDL导出到文件中,文本扫描器扫描生成DDL转换任务,分配给研发人员进行审核后,就可以直接交给AI处理;
代码工程转换场景:上传或git拉取代码工程并托管,javaparser、文本扫描器会对代码工程做自动走查扫描,将需要处理的java类、mapper.xml文件等,作为任务,分配给研发人员,待审核后,直接交由AI处理。
模型选择、加载:需要分析场景任务选择合适的模型,将模型加载到计算环境中,以便进行后续的校准和交互;
样本数据准备:为了进行指令的校准,我们将需要问询的数据整理成样本数据;
指令示例:样本数据和特定的场景指令集,组合形成待校准指令集;
筛选指令:根据不同指令的响应,选择符合预期的指令作为场景的prompt。
初版设计思路为:扫描->AI处理->回写,验证后发现存在着准确性、及时率的一些问题,于是我们考虑使用半自动-人机交互模式来解决这些问题,流程优化为:扫描->任务审核->AI处理->任务校准->回写,并且提供差异比对和异常重送的功能,以提升交互准确率。