System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及大语言模型,尤其涉及一种海量信息下基于大语言模型的知识库问答方法及装置。
技术介绍
1、知识问答是指,用户向机器提出指令,由机器针对用户提出的指令给出对应的答复内容的过程。
2、传统的知识问答一般是基于知识库或知识图谱来检索用户的指令,找到知识库中或知识图谱中匹配的答案,并输出给用户。近年来,伴随着人工智能技术的发展,尤其是大语言模型的提出,通过将大语言模型与知识问答相结合,可以大大提升知识问答的准确性。其中,大语言模型(large language model,llm)是指基于transformer结构的深度神经网络模型,其具备超强的语义理解及多轮对话能力,常见的大语言模型如gpt系列以及其它企业研发的大语言模型等。
3、如何在基于大语言模型实现海量信息下的知识库问答,以提升知识问答的效率和准确性,是本领域技术人员亟需解决的问题。
技术实现思路
1、本专利技术的目的在于提供一种海量信息下基于大语言模型的知识库问答的实现方法及装置,能够基于大语言模型,准确地实现海量信息下的知识库问答。
2、为实现上述目的,本专利技术采用以下技术方案:
3、第一个方面,本申请提供一种海量信息下基于大语言模型的知识库问答方法,包括:
4、获取用户的查询问题,在知识库检索模块中检索出与查询问题相关的n个知识片段,其中,n为大于等于1的整数;
5、根据大语言模型支持的最大输入长度l,将检索到的n个知识片段进行分组,每个分
6、将每个分组的信息分别通过prompt a封装后输入给预配置的大语言模型,得到大语言模型输出的所有与所述查询问题语义相关的m个知识片段,其中,m为小于或等于n的整数,且包括prompt a在内的每一个分组的字符长度都小于或等于l;
7、从m个知识片段中选择相似度最高的前top k个知识片段,其中,k为大于或等于1的整数;将前top k个知识片段通过prompt b封装后输入给预配置的大语言模型,得到大语言模型输出的对应所述查询问题的答复内容。
8、在一种优选实施例中,所述大语言模型包括但不限定于gpt系列、llama系列、glm、baichuan、bloom语言模型。
9、在一种优选实施例中,知识库检索模块使用elasticsearch或milvus向量库,通过关键词匹配或向量相似度实现检索。
10、在一种优选实施例中,所述获取用户的查询问题,在知识库检索模块中检索出与查询问题相关的n个知识片段,包括如下步骤:
11、接收用户输入的查询问题;
12、对所述查询问题进行分词处理得到多个词语,以及去除所述多个词语中的停用词,并将余下的词语作为关键词;
13、将所述关键词进行预处理以得到所述关键词对应的特征向量;
14、将所述特征向量与知识库中的各文本进行相似度计算,得到q个匹配度分数值,q为大于或等于n的整数;以及
15、对多个匹配度分数值,按照分数进行排序,选择匹配度分数值最高的n个知识片段作为所述关键词对应的知识片段。
16、在一种优选实施例中,所述将每个分组的信息分别通过prompt a封装后输入给预配置的大语言模型,包括如下步骤:
17、获取预配置的第一知识提示指令模板;
18、将用户的查询问题、以及所述分组的信息填充至所述第一知识提示指令模板中,得到编辑后的第一知识提示指令;
19、将第一知识提示指令输入给预配置的大语言模型。
20、在一种优选实施例中,所述将相似度最高的前top k个知识片段通过prompt b封装后输入给预配置的大语言模型,包括如下步骤:
21、获取预配置的第二知识提示指令模板;
22、将用户的查询问题、以及前top k个知识片段填充至所述第二知识提示指令模板中,得到编辑后的第二知识提示指令;
23、将第二知识提示指令输入给预配置的大语言模型。
24、第二个方面,本申请提供一种海量信息下基于大语言模型的知识库问答装置,包括:
25、获取模块,被配置为获取用户的查询问题;
26、知识库检索模块,被配置为检索出与查询问题相关的n个知识片段,其中,n为大于等于1的整数;
27、分组模块,被配置为根据大语言模型支持的最大输入长度l,将检索到的n个知识片段进行分组,每个分组的字符长度都小于或等于l;
28、第一问答交互模块,被配置为将每个分组的信息分别通过prompt a封装后输入给预配置的大语言模型,得到大语言模型输出的所有与所述查询问题语义相关的m个知识片段,其中,m为小于或等于n的整数,且包括prompt a在内的每一个分组的字符长度都小于或等于l;
29、第二问答交互模块,被配置为从m个知识片段中选择相似度最高的前top k个知识片段,其中,k为大于或等于1的整数;以及将前top k个知识片段通过prompt b封装后输入给预配置的大语言模型,得到大语言模型输出的对应所述查询问题的答复内容。
30、在一种优选实施例中,所述知识库检索模块被配置为使用elasticsearch或milvus向量库,通过关键词匹配或向量相似度实现检索。
31、第三个方面,本申请提供一种知识库问答设备,包括:
32、存储器,用于存储程序;
33、处理器,用于执行所述程序,实现如第一个方面所述的一种海量信息下基于大语言模型的知识库问答方法的各个步骤。
34、第四个方面,本申请还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如第一个方面所述的一种海量信息下基于大语言模型的知识库问答方法的各个步骤。
35、与现有技术相比,本专利技术的技术方案具有以下有益效果:
36、本申请提供一种海量信息下基于大语言模型的知识库问答方法及装置,先通过知识库检索模块召回与用户的查询问题相关的n个知识片段,再将用户的查询问题和n个知识片段作为提示指令prompt a提供给大语言模型,充分利用大语言模型的文本理解能力,对该查询问题进行理解和回复,得到与查询问题语义相关的m个知识片段,实现了粗排检索。在m个知识片段中再筛选出相似度最高的前top k个知识片段,作为提示指令prompt b提供给大语言模型,进一步进行精排检索,从而得到针对用户的查询问题的答复内容。本申请能够基于大语言模型,实现海量信息下的知识库问答,不受限于大语言模型输入长度的限制,大语言模型基于提示指令prompt a和提示指令prompt b更有利于生成准确的对应所述查询问题的答复内容。
本文档来自技高网...【技术保护点】
1.一种海量信息下基于大语言模型的知识库问答方法,其特征在于,包括:
2.根据权利要求1所述的一种海量信息下基于大语言模型的知识库问答方法,其特征在于,所述大语言模型包括GPT系列、LLaMA系列、GLM、Baichuan、Bloom语言模型。
3.根据权利要求1所述的一种海量信息下基于大语言模型的知识库问答方法,其特征在于,知识库检索模块使用Elasticsearch或Milvus向量库,通过关键词匹配或向量相似度实现检索。
4.根据权利要求1所述的一种海量信息下基于大语言模型的知识库问答方法,其特征在于,所述获取用户的查询问题,在知识库检索模块中检索出与查询问题相关的N个知识片段,包括如下步骤:
5.根据权利要求1所述的一种海量信息下基于大语言模型的知识库问答方法,其特征在于,所述将每个分组的信息分别通过Prompt A封装后输入给预配置的大语言模型,包括如下步骤:
6.根据权利要求1所述的一种海量信息下基于大语言模型的知识库问答方法,其特征在于,所述将相似度最高的前Top K个知识片段通过Prompt B封装后输入
7.一种海量信息下基于大语言模型的知识库问答装置,其特征在于,包括:
8.根据权利要求7所述的一种海量信息下基于大语言模型的知识库问答装置,其特征在于,所述知识库检索模块被配置为使用Elasticsearch或Milvus向量库,通过关键词匹配或向量相似度实现检索。
9.一种知识库问答设备,其特征在于,包括:
10.一种存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1~6任一项所述的一种海量信息下基于大语言模型的知识库问答方法的各个步骤。
...【技术特征摘要】
1.一种海量信息下基于大语言模型的知识库问答方法,其特征在于,包括:
2.根据权利要求1所述的一种海量信息下基于大语言模型的知识库问答方法,其特征在于,所述大语言模型包括gpt系列、llama系列、glm、baichuan、bloom语言模型。
3.根据权利要求1所述的一种海量信息下基于大语言模型的知识库问答方法,其特征在于,知识库检索模块使用elasticsearch或milvus向量库,通过关键词匹配或向量相似度实现检索。
4.根据权利要求1所述的一种海量信息下基于大语言模型的知识库问答方法,其特征在于,所述获取用户的查询问题,在知识库检索模块中检索出与查询问题相关的n个知识片段,包括如下步骤:
5.根据权利要求1所述的一种海量信息下基于大语言模型的知识库问答方法,其特征在于,所述将每个分组的信息分别通过prompt a...
【专利技术属性】
技术研发人员:杨华,
申请(专利权)人:上海岩芯数智人工智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。