当前位置: 首页 > 专利查询>之江实验室专利>正文

一种自适应规则引导的大语言模型生成制造技术

技术编号:39579716 阅读:8 留言:0更新日期:2023-12-03 19:30
本发明专利技术公开了一种自适应规则引导的大语言模型生成

【技术实现步骤摘要】
一种自适应规则引导的大语言模型生成SQL系统


[0001]本专利技术涉及数据库管理及应用领域,尤其涉及一种自适应规则引导的大语言模型生成
SQL

Structured Query Language
,结构化查询语言)系统


技术介绍

[0002]在数字化转型的大潮中,越来越多的业务和数据被上传到数据库中

如何对数据库进行使用和管理,对未掌握数据库技术相关知识的非技术人员形成挑战
。NL2SQL
(自然语言转结构化查询语言,
Natural Language to Structured Query Language
)技术可以在几秒钟内将自然语言查询转换为
SQL
查询,大大提高了查询效率

用户可以使用自然语言进行查询,而无需了解
SQL
语言的细节

这使得查询变得更加简单

直观和易于使用,提高了用户的满意度和体验

准确地编写
SQL
查询需要对数据库结构有深入的理解

但是,许多人不具备这种专业知识,因此可能会出现错误或缺乏完整性的查询
。NL2SQL
技术可以修正这些错误,从而能帮助非技术人员快速掌握数据库使用技术,极大降低学习成本

但是当前
NL2SQL
技术并不完善,生成
SQL
语句精度不理想

[0003]近来,大规模语言模型在很多生成任务上超过人类,引起广泛关注和讨论

在使用大规模语言模型生成
SQL
上,有两种途径:途径1,进行面向
NL2SQL
的模型精调

此途径尚有以下问题:大规模语言模型经精调后,可能会失去原有的多任务能力,仅能支持单项任务

[0004]途径2,基于规则引导的方法生成
SQL。
途径2有以下问题:(1)没有表结构信息注入,大规模语言模型生成的
SQL
语句正确率较低,现有
SQL
生成正确率较好的大规模语言模型通常在
100B
以上,
10B
左右的语言模型尚无法通过简单的表结构注入形成可用的
SQL
生成模型

[0005](2)模型支持输入长度有限,无法应对表字段非常多的数据库

[0006](3)规则引导无法自动完成,需要人工构建,且要求构建人员对数据库和应用场景了解较深


技术实现思路

[0007]针对现有技术的不足,本专利技术提出一种自适应规则引导的大语言模型生成
SQL
系统

[0008]具体技术方案如下:一种自适应规则引导的大语言模型生成
SQL
系统,包括:表结构构建模块

参考规则库构建模块

常用规则库

自适应规则构建模块

规则引导
SQL
生成模块;所述表结构构建模块用于列名标准化和列名字典构建,所述列名字典构建指将表名

列名和列数据类型合并转换为字典类型数据;所述列名标准化是对数据库中列名

表名的不规范形式进行的规范化处理;所述参考规则库构建模块,用于通过分析
SQL
生成机制以及
SQL
语法构建参考规则
库,根据
SQL
生成步骤,所述参考规则库构建模块划分为以下子模块:表和列名筛选子模块

列条件抽取子模块

合并表嵌套子模块
、SQL
片段生成子模块

校验子模块;所述常用规则库中包含实际业务场景中常用的
Text

SQL
的各个步骤和推理逻辑;所述自适应规则构建模块用于根据输入的
Text
查询语句,结合常用规则库,构建与
Text
查询语句匹配的自适应规则;所述规则引导
SQL
生成模块的输入为当前查询
Text
以及所述自适应规则,根据自适应规则,引导大语言模型逐步生成
SQL
语句

[0009]进一步地,还包括可视化结果展示模块,用于将根据输入的查询语句得到的数据表

各个模块生成的
SQL
片段

规则引导
SQL
生成模块生成的完整的
SQL
进行可视化显示

[0010]进一步地,所述表结构构建模块中,通过翻译工具进行列名标准化,所述翻译工具包括多语种词典

行业标准用语及手动总结的词汇映射表格,将列名非中文

不规范的表述转写为中文标准表述

[0011]进一步地,所述表和列名筛选子模块用于筛选使用的表和列名,具体为:根据用户输入的查询语句
Text
,通过大语言模型的匹配能力,选择数据库中对应的表和列;所述列条件抽取子模块用于提取查询语句
Text
的查询需求中针对各列的具体条件,具体是:使用大语言模型的语义理解能力,将
Text
中的查询需求转换为
SQL
的运算符

[0012]进一步地,所述合并表嵌套子模块用于在需要时合并表,并找出表之间的关联列名,具体是:基于大语言模型的上下文理解能力,判断筛选出的列条件是否需要跨表,并结合表结构知识,推理出合并表的
SQL
命令

[0013]进一步地,所述
SQL
片段生成子模块用于基于大语言模型的生成能力,将表和列名筛选子模块

列条件抽取子模块

合并表嵌套子模块得到的中间
SQL
片段按照
SQL
生成规则合并成完整的
SQL
查询语句

[0014]进一步地,所述校验子模块用于对
SQL
片段生成子模块得到的
SQL
查询语句进行语法校验和一致性校验;所述语法校验通过
SQL
命令在数据库中执行实际查询,基于是否报错评测语法是否正确;所述一致性校验用于评测系统对查询
Text
中混淆用语的理解能力,具体方法是:使用大语言模型引导生成一组与原查询
Text
含义一致的样本,再进行
SQL
生成,若生成的
SQL

SQL
片段生成子模块得到的
SQL
查询语句相同,则一致性好;未通过一致性本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种自适应规则引导的大语言模型生成
SQL
系统,其特征在于,包括:表结构构建模块

参考规则库构建模块

常用规则库

自适应规则构建模块

规则引导
SQL
生成模块;所述表结构构建模块用于列名标准化和列名字典构建,所述列名字典构建指将表名

列名和列数据类型合并转换为字典类型数据;所述列名标准化是对数据库中列名

表名的不规范形式进行的规范化处理;所述参考规则库构建模块,用于通过分析
SQL
生成机制以及
SQL
语法构建参考规则库,根据
SQL
生成步骤,所述参考规则库构建模块划分为以下子模块:表和列名筛选子模块

列条件抽取子模块

合并表嵌套子模块
、SQL
片段生成子模块

校验子模块;所述常用规则库中包含实际业务场景中常用的
Text

SQL
的各个步骤和推理逻辑;所述自适应规则构建模块用于根据输入的
Text
查询语句,结合常用规则库,构建与
Text
查询语句匹配的自适应规则;所述规则引导
SQL
生成模块的输入为当前查询
Text
以及所述自适应规则,根据自适应规则,引导大语言模型逐步生成
SQL
语句
。2.
根据权利要求1所述的自适应规则引导的大语言模型生成
SQL
系统,其特征在于,还包括可视化结果展示模块,用于将根据输入的查询语句得到的数据表

各个模块生成的
SQL
片段

规则引导
SQL
生成模块生成的完整的
SQL
进行可视化显示
。3.
根据权利要求1所述的自适应规则引导的大语言模型生成
SQL
系统,其特征在于,所述表结构构建模块中,通过翻译工具进行列名标准化,所述翻译工具包括多语种词典

行业标准用语及手动总结的词汇映射表格,将列名非中文

不规范的表述转写为中文标准表述
。4.
根据权利要求1所述的自适应规则引导的大语言模型生成
SQL
系统,其特征在于,所述表和列名筛选子模块用于筛选使用的表和列名,具体为:根据用户输入的查询语句
Text
,通过大语言模型的匹配能力,选择数据库中对应的表和列;所述列条件抽取子模块用于提取查询语句
Text
的查询需求中针对各列的具体条件,具体是:使用大语言模型的语义理解能力,将
Text
中的查询需求转换为
SQL
的运算符
。5.
根据权利要求1所述的自适应规则引导的大语言模型生成
SQL
系统,其特征在于,所述合并表嵌套子模块用于在需要时合并表,并找出表之间的关联列名,具体是:基于大语言模型的上下文理解能力,判断筛选出的列条件是否需要跨表,并结合表结构知识,推理出合并表的
SQL
命令
。...

【专利技术属性】
技术研发人员:丁锴董日达付村那崇宁
申请(专利权)人:之江实验室
类型:发明
国别省市:

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

1