对大模型进行微调制造技术

技术编号:39801770 阅读:7 留言:0更新日期:2023-12-22 02:32
本说明书实施例披露一种对大模型进行微调的方法及装置,一种生成

【技术实现步骤摘要】
对大模型进行微调、生成SQL语句的方法及装置


[0001]本说明书一个或多个实施例涉及自然语言处理
,尤其涉及一种对大模型进行微调的方法及装置

一种生成
SQL
语句的方法及装置

一种计算机可读存储介质,以及一种计算设备


技术介绍

[0002]大语言模型
(Large Language Model
,简称
LLM)
一般是指使用多个不同领域的大量文本数据训练的机器学习模型,可以生成自然语言文本或理解自然语言文本的语义

预训练
(Pretrain)
后的
LLM
可以直接用于,或者在微调
(Finetune)
后用于处理特定领域的自然语言任务,比如说,智能问答,具体如:根据用户针对数据库查询进行的提问,生成对应的结构化查询语言
(Structured Query Language
,简称
SQL)
语句

[0003]然而,目前当用户采用中文提问时,基于
LLM
回答
SQL
语句的任务性能有限

因此,需要一种改进后的方案,可以满足实际应用中的更高要求,包括支持用户以纯中文形式提出
SQL
生成问题,并回答出准确的
SQL
语句等


技术实现思路

[0004]本说明书实施例描述一种对大模型进行微调的方法及装置,以及一种生成
SQL
语句的方法及装置,可以满足实际应用中的更高要求

[0005]根据第一方面,提供一种对大模型进行微调的方法

该方法包括:
[0006]生成训练样本,其包括具有预定格式的提示文本以及与所述提示文本对应的回答文本,其中所述提示文本中包括中文查询语句,该中文查询语句所查询的数据库表的元信息以及对元信息的中文注解;所述回答文本包括所述中文查询语句对应的
SQL
语句

利用多个所述训练样本对预训练的大模型进行微调,得到微调后的大模型,用于生成与用户输入的目标查询语句对应的目标
SQL
语句

[0007]在一个实施例中,所述元信息包括多个信息项,所述中文注解包括对各个信息项的注解项;所述预定格式指示提示文本中的内容按以下顺序排列:所述中文查询语句

多对信息项

注解项

[0008]在一个具体的实施例中,所述提示文本还包括生成
SQL
语句任务的任务名称,所述预定格式还指示将所述任务名称排列在所述中文查询语句之前

[0009]在一个实施例中,其中生成训练样本,包括:获取所述中文查询语句和对应的
SQL
语句;基于所述
SQL
语句包含的表名,从数据库系统中提取该表名所对应数据库表的元信息,以及所述元信息的中文注解;利用所述中文查询语句
、SQL
语句,以及提取的所述元信息和中文注解,构建所述训练样本

[0010]在一个实施例中,其中生成训练样本,包括:基于数据库系统,对针对训练样本配置的模板进行自动填充,生成所述训练样本

[0011]在一个具体的实施例中,所述模板包括针对所述中文查询语句配置的第一子模


针对所述元信息和中文注解配置的第二子模板,以及针对所述
SQL
语句配置的第三子模板;其中,对针对训练样本配置的模板进行自动填充,包括:根据对所述第一子模板的各个槽位配置的填充规则,自动确定数据填充至对应槽位;基于填充至所述第一子模板的数据和所述数据库系统,自动填充所述第二子模板和第三子模板

[0012]在一个更具体的实施例中,所述第一子模板包含第一槽位;其中,根据对所述第一子模板的各个槽位配置的填充规则,自动确定数据填充至对应槽位,包括:根据所述第一槽位的填充规则中包含的数据类别,基于所述数据库系统确定该数据类别下的数据以填充所述第一槽位

[0013]进一步,在一个例子中,基于所述数据库系统确定该数据类别下的数据以填充所述第一槽位,包括:基于所述数据库系统确定该数据类别下的多个原始数据;从所述多个原始数据中择一填充至所述第一槽位,或者,将其中一个原始数据的别名填充至所述第一槽位

[0014]在一个更具体的例子中,所述数据类别为表名类

列名类

或具有预定数据类型的字段值类

[0015]在另一个例子中,所述第一子模板包含第二槽位,所述模板的配置信息中包括针对所述第二槽位配置的多个候选槽值;其中,根据对所述第一子模板的各个槽位配置的填充规则,自动确定数据填充至对应槽位,包括:根据所述第二槽位的填充规则,从所述多个候选槽值中择一填充至所述第二槽位

[0016]在又一个例子中,所述第一子模板包含第三槽位;其中,根据对所述第一子模板的各个槽位配置的填充规则,自动确定数据填充至对应槽位,包括:根据所述第三槽位的填充规则中包含的数据类型,随机生成该数据类型下的数据,填充至所述第三槽位

[0017]在一个更具体的例子中,所述数据类型为数值类型或日期类型

[0018]在再一个例子中,所述第一子模板包括必选部分,并随机包括可选部分;所述可选部分的组成单元包括第四槽位

第五槽位和第六槽位,各自的填充规则依次指示填充逻辑运算符的中文描述

针对预定数据类型的操作符

针对所述预定数据类型的操作数

[0019]在一个更具体的例子中,在根据对所述第一子模板的各个槽位配置的填充规则,自动确定数据填充至对应槽位之前,所述方法还包括:随机确定是否在所述第一子模板中添加所述可选部分;在确定出添加的情况下,确定添加的可选部分中所述组成单元的数量,以及,在所述第三子模板中增加与该拼接的可选部分对应的模板内容

[0020]在还一个例子中,基于填充至所述第一子模板的数据和所述数据库系统,自动填充所述第二子模板和第三子模板,包括:基于填充至所述第一子模板的数据所指示的表名,从数据库系统中提取该表名所对应数据库表的元信息,以及该元信息的中文注解,填充至第二子模板;基于所述第一子模板和第三子模板之间的槽位映射关系,根据填充至所述第一子模板的各个槽位的数据确定填充到所述第三子模板中对应槽位的数据

[0021]根据第二方面,提供一种生成
SQL
语句的方法

该方法包括:
[0022]接收用户输入的目标查询语句;基于所述目标查询语句,以及其所查询数据表的元信息和对元信息的中文本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种对大模型进行微调的方法,包括:生成训练样本,其包括具有预定格式的提示文本以及与所述提示文本对应的回答文本,其中所述提示文本中包括中文查询语句,该中文查询语句所查询的数据库表的元信息以及对元信息的中文注解;所述回答文本包括所述中文查询语句对应的
SQL
语句;利用多个所述训练样本对预训练的大模型进行微调,得到微调后的大模型,用于生成与用户输入的目标查询语句对应的目标
SQL
语句
。2.
根据权利要求1所述的方法,其中,所述元信息包括多个信息项,所述中文注解包括对各个信息项的注解项;所述预定格式指示提示文本中的内容按以下顺序排列:所述中文查询语句

多对信息项

注解项
。3.
根据权利要求2所述的方法,其中,所述提示文本还包括生成
SQL
语句任务的任务名称,所述预定格式还指示将所述任务名称排列在所述中文查询语句之前
。4.
根据权利要求1所述的方法,其中,生成训练样本,包括:获取所述中文查询语句和对应的
SQL
语句;基于所述
SQL
语句包含的表名,从数据库系统中提取该表名所对应数据库表的元信息,以及所述元信息的中文注解;利用所述中文查询语句
、SQL
语句,以及提取的所述元信息和中文注解,构建所述训练样本
。5.
根据权利要求1所述的方法,其中,生成训练样本,包括:基于数据库系统,对针对训练样本配置的模板进行自动填充,生成所述训练样本
。6.
根据权利要求5所述的方法,其中,所述模板包括针对所述中文查询语句配置的第一子模板

针对所述元信息和中文注解配置的第二子模板,以及针对所述
SQL
语句配置的第三子模板;其中,对针对训练样本配置的模板进行自动填充,包括:根据对所述第一子模板的各个槽位配置的填充规则,自动确定数据填充至对应槽位;基于填充至所述第一子模板的数据和所述数据库系统,自动填充所述第二子模板和第三子模板
。7.
根据权利要求6所述的方法,其中,所述第一子模板包含第一槽位;其中,根据对所述第一子模板的各个槽位配置的填充规则,自动确定数据填充至对应槽位,包括:根据所述第一槽位的填充规则中包含的数据类别,基于所述数据库系统确定该数据类别下的数据以填充所述第一槽位
。8.
根据权利要求7所述的方法,其中,基于所述数据库系统确定该数据类别下的数据以填充所述第一槽位,包括:基于所述数据库系统确定该数据类别下的多个原始数据;从所述多个原始数据中择一填充至所述第一槽位,或者,将其中一个原始数据的别名填充至所述第一槽位
。9.
根据权利要求7或8所述的方法,所述数据类别为表名类

列名类

或具有预定数据类型的字段值类
。10.
根据权利要求6所述的方法,其中,所述第一子模板包含第二槽位,所述模板的配置信息中包括针对所述第二槽位配置的多个候选槽值;其中,根据对所述第一子模板的各个槽位配置的填充规则,自动确定数据填充至对应槽位,包括:
根据所述第二槽位的填充规则,从所述多个候选槽值中择一填充至所述第二槽位
。11.
根据权利要求6所述的方法,其中,所述第一子模板包含第三槽位;其中,根据对所述第一子模板的各个槽位配置的填充规则,自动确定数据填充至...

【专利技术属性】
技术研发人员:叶文滔孙先先
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:

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

1