本发明涉及大语言模型,具体来说是一种电力审计垂直领域的大语言模型生成式知识问答方法。
背景技术:
1、越来越多大语言模型(以下简称大模型)的出现,及其在各种任务(办公辅助、文章润色、客户服务、语言翻译等)中具有的显著表现,给人们的生活带来了极大的便利和工作效率的提升。然而,当具体到法律、医学、电网等特定领域时,这些大模型仍然面临着特定领域知识不足和利用这些知识来解决领域相关问题能力不足的挑战,这也正是各个行业都在训练垂直领域大模型的原因。
2、现阶段还没有电力行业大模型的出现,而想在电力行业下微调电力审计领域大模型存在更大的困难。由于在电力领域数据资料存在封闭性、复杂性、专业性和多样性等特征,即使给大模型提供一些检索的上下文信息和提示工程,也很难表现出色。特别是在电力审计场景中,需要根据用户问题同时满足数据分析和文档类文本问答功能时,很难用单一大模型能力去同时满足多种问答功能需求。
3、如何合理设计电力审计垂直领域大模型的系统架构,按什么流程进行电力审计垂直领域大模型的数据标注及训练,从而构建满足电力审计行业要求的电力审计垂直领域大模型,是目前较为关注的问题。
技术实现思路
1、本发明的目的是为了解决现有技术中尚无针对电力审计垂直领域的大语言模型的缺陷,提供一种电力审计垂直领域的大语言模型生成式知识问答方法来解决上述问题。
2、为了实现上述目的,本发明的技术方案如下:
3、一种电力审计垂直领域的大语言模型生成式知识问答方法,包括以下步骤:
4、11)电力审计垂直领域数据集的构建:获取通用领域的大语言模型数据集以及电力审计垂直领域资料,其中电力审计垂直领域资料通过自动化标注工具生成大语言模型训练的各类数据集;
5、12)构建大小语言模型协同架构:根据用户问题和电力审计复杂的场景,利用不同数据集训练具有不同能力的大小语言模型,将其分布在架构不同部分,共同构建大小语言模型协同架构;
6、13)大小语言模型协同架构的训练:基于各类数据集对大小语言模型协同架构进行训练,微调训练出不同的大小语言模型;
7、14)电力审计垂直领域大语言模型的推理问答:将用户输入问题时,送入大小语言模型协同架构,大小语言模型协同架构根据问题生成解答知识。
8、所述电力审计垂直领域数据集的构建包括以下步骤:
9、21)基于通用领域的大语言模型数据集和整理后的电力审计垂直领域资料作为数据集,构建电力审计垂直领域数据集;
10、其中,电力审计垂直领域资料包括待标注的结构化数据和非结构化数据,结构化数据从审计数据库中获取,包括营销审计模型和智能生成配网场景,非结构化数据包括审计方案、制度文件、审计报告;
11、22)电力审计垂直领域问答对训练集qa-gpt的快速生成:基于通用领域的大语言模型底座chatglm3-6b-128k,构建自动化标注工具,将电力审计垂直领域数据集快速生成电力审计垂直领域问答对训练集qa-gpt;
12、23)使用程序代码,将用户问题和各类prompt一一对应,生成用户意图识别数据集qp,各类prompt为数据分析、问答润色或角色扮演;
13、24)使用文本分割算法,将电力审计垂直领域资料中各类非结构化数据分割成txt文本文档,作为文本分割数据集text-split;
14、25)设置结构化和非结构化数据集的语料配比,语料配比为不同类型的语料样本之间的数量比例;
15、251)在非结构化数据集中,将qa-expert-text和qa-gpt-text数据集,即标注过的“审计领域问题-文本答案”数据集作为第一类数据集;
16、在非结构化数据集中,提取通用领域问答数据集中的问答对,即“通用领域问题-答案”数据集作为第二类数据集;
17、最后,将第一类数据集和第二类数据集按照7:3的数量比进行混合,获取最终的电力审计垂直领域非结构化数据问答对训练集qa-text;
18、252)在结构化数据集中,将qa-expert-sql和qa-gpt-sql数据集,即标注过的“问题-sql语句”数据集作为第一类数据集;
19、在结构化数据集中,只提取非结构化数据集qa-gpt-text和qa-expert-text中的问题,并将答案设置为空,即“审计领域问题-空回复”数据集作为第二类数据集;
20、在结构化数据集中,提取通用领域问答数据集中的问题,并将答案设置为空,即“通用领域问题-空回复”数据集作为第三类数据集;
21、最后,将第一类数据集、第二类数据集和第三类数据集按照5:3:2的数量比进行混合,获取最终的电力审计垂直领域结构化数据问答对训练集qa-sql。
22、所述构建大小语言模型协同架构包括以下步骤:
23、31)获取通用领域的开源大语言模型底座,包括两个大语言模型和一个小语言模型,两个大语言模型底座分别为codellama-7b和chinesellama-13b,小语言模型底座选择bert-base;
24、大语言模型底座codellama-7b在qa-sql数据集上进行微调训练,微调训练后生成大语言模型codellama-sql根据用户问题生成sql语句;
25、大语言模型底座chinesellama-13b在qa-text数据集上进行微调训练,微调训练后生成大语言模型chinesellama-text生成除sql语句以外的任何问题;
26、小语言模型底座bert-base在用户意识数据集qp上进行训练,微调训练后生成小语言模型bert-classify,用于根据用户问题意图自动选择prompt;
27、32)设定大小语言模型协同架构中,当输入问题时,经过系统架构三个组成部分,生成审计知识问答内容,
28、其中,大小语言模型协同架构中第一部分使用codellama-sql,将问题和固定的prompt-sql结合,生成sql语句,并将生成sql语句在审计数据库执行;
29、当在大小语言模型协同架构中第一部分sql语句有查询结果时,将用户问题输入大小语言模型协同架构中第二部分的bert-classify模型,输出问题的prompt和图表绘制指令;
30、当在大小语言模型协同架构中第一部分sql语句没有查询结果时,基于自动化标注工具中的rag系统,根据用户问题在电力审计知识向量库中检索到问题的文档内容,然后将检索到的文档内容和用户问题用prompt结合起来,输入到chinesellama-text中,生成回答结果;
31、当在大小语言模型协同架构中第二部分bert-classify模型输出prompt时,将用户问题、sql语句查询的结果和prompt输入到通用领域的大模型chinesellama-13b,生成数据分析内容;
32、当在大小语言模型协同架构中第二部分获得输出图表绘制指令时,执行图表绘制指令,调用图表绘制插件,将sql语句查询的结果绘制成图表,最后将图表和数据分析内容结合生成最终的回答结果。
33、所述大小语言模型协同架构的训练包括以下步骤:
34、41)基于codellama-7b大模型底座,使用lora方法在qa-sql数据集上微调训练,qa-sql数据集即电力审计垂直领域结构化数据问答对训练集qa-sql,生成微调训练后的大语言模型codellama-sql,在大小语言模型协同架构中第一部分用于根据用户问题生成sql语句;
35、42)基于bert-base小模型底座,在用户意识数据集qp上进行全量训练,训练后生成小语言模型bert-classify,在大小语言模型协同架构中第二部分用于根据用户问题选择合适的prompt;
36、43)基于chinesellama-13b大模型底座,在文档分割数据集text-split进行增量预训练,生成注入电力审计领域知识的预训练大模型chinesellama-pretrain;
37、44)基于预训练大模型chinesellama-pretrain,在qa-text数据集上进行sft微调训练,得到具有问答对话能力的大模型chinesellama-text。
38、电力审计垂直领域问答对训练集qa-gpt的快速生成包括以下步骤:
39、51)设定通用领域的大语言模型底座chatglm3-6b-128k作为预标注模型;
40、52)收集电力审计专家已标注的高质量问答对训练集qa-expert,高质量问答对训练集qa-expert包括非结构化数据问答对训练集qa-expert-text和结构化数据问答对训练集qa-expert-sql,用于微调预标注模型;
41、53)基于lora微调方法和高质量问答对训练集qa-exper微调预标注模型,获得pre-annotation-glm;
42、54)基于langchain大语言模型的开源开发框架构建检索增强生成系统,即rag系统;
43、541)构建自动化标注工具web前后端功能,自动化标注工具web前后端提供上传各类文档接口,并返回含有问答对的excel文件;
44、542)设定rag系统基于langchain开发框架解析并自动分割前后端传入的各类文档,并基于向量数据库方法构建电力审计知识向量库;
45、543)根据不同数据集类型构建不同的prompt模板,其分为两种prompt模板,即结构化数据集标注prompt-sql和非结构化数据集标注prompt-text;
46、544)利用rag系统中向量检索方法,根据用户问题检索电力审计知识向量库,将检索的可靠上下文信息结合数据集标注prompt模板,输入pre-annotation-glm大模型自动生成问答对,并返回给自动化标注工具web前后端;
47、55)利用自动标注工具构建问答对自动生成、问答对同义扩充和问答对润色三种自动标注功能;
48、551)构建问答对自动生成功能:基于自动化标注工具,在web前端上传电力审计资料,获得问答对excel文件qa-excel;
49、552)构建问答对同义扩充功能:基于自动化标注工具,在问答对文件qa-excel和高质量问答对训练集qa-expert通过编写和测试同义扩充prompt,对问答对中同一问题生成多条语义相同、风格不同的问题,并根据不同的问题和标准答案生成对应的问答对;
50、553)构建问答对润色功能:基于自动化标注工具,在高质量问答对训练集qa-expert、编写和测试润色prompt,实现对标准答案润色;
51、56)在电力审计资料中待标注的非结构化数据,基于自动化标注工具,上传待标注文档;
52、首先选择结构化数据集标注prompt-text的数据,根据数据中存在问题,选择合适的自动标注功能,获得电力审计垂直领域非结构化数据问答对训练集qa-gpt-text;
53、57)在电力审计资料待标注的结构化数据中,基于自动化标注工具,选择结构化数据集标注prompt-sql,根据业务问题生成sql语句;再选择自动化标注工具的问答对同义扩充功能,保持sql语句不变,生成用户问题多样化的数据集,获得电力审计垂直领域结构化数据问答对训练集qa-gpt-sql。
54、所述电力审计垂直领域大语言模型的推理问答包括以下步骤:
55、61)将用户问题输入大小语言模型协同架构;
56、62)若用户问题是咨询审计资料问题,则根据电力审计知识向量库检索到的内容,作为chinesellama-text上下文语境,回复用户问题,并给出答案所给出的文件;
57、63)若用户问题是审计数据问题,则根据用户问题生成sql语句和其指令,其中一条指令是在审计数据库中执行生成sql语句,另外一条指令将sql查询结果,结合用户问题和prompt提示工程经过大语言模型生成数据分析结果;若获取指令调用图表插件,将查询结果以图表形式和数据分析结果一起展示。
58、有益效果
59、本发明的一种电力审计垂直领域的大语言模型生成式知识问答方法,与现有技术相比构建了符合电力审计行业要求的电力审计垂直领域大语言模型,有效帮助模型融合电力审计领域专业知识,实现审计数据库智能查询分析与电力领域专业知识智能问答。
60、本发明通过构建大模型数据集自动标注工具,不仅提高数据标注效率,而且只需要适当的修改prompt提升工程,就能生成更符合电力审计行业相关的问答对数据,更重要的是提供了三种更丰富的标注功能,简单高效扩充和完善样本集。
1.一种电力审计垂直领域的大语言模型生成式知识问答方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种电力审计垂直领域的大语言模型生成式知识问答方法,其特征在于,所述电力审计垂直领域数据集的构建包括以下步骤:
3.根据权利要求1所述的一种电力审计垂直领域的大语言模型生成式知识问答方法,其特征在于,所述构建大小语言模型协同架构包括以下步骤:
4.根据权利要求1所述的一种电力审计垂直领域的大语言模型生成式知识问答方法,其特征在于,所述大小语言模型协同架构的训练包括以下步骤:
5.根据权利要求2所述的一种电力审计垂直领域的大语言模型生成式知识问答方法,其特征在于,电力审计垂直领域问答对训练集qa-gpt的快速生成包括以下步骤:
6.根据权利要求1所述的一种电力审计垂直领域的大语言模型生成式知识问答方法,其特征在于,所述电力审计垂直领域大语言模型的推理问答包括以下步骤: