System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及大语言模型,具体涉及一种基于rag框架下向量召回优化策略的知识问答方法和装置。
技术介绍
1、大型语言模型(llm)是通过深度学习技术训练得到的自然语言处理模型,具有强大的语言理解和生成能力。然而,由于其知识仅限于接受过的训练数据,因此,其处理不在训练集中的问题时表现不尽如人意。为了克服这一挑战,出现了一种被称为“检索增强生成”的生成方法,检索增强生成简称rag(全称为retrieval augmented generation)。该技术通过从私有知识库文档中检索信息,将其插入到提示指令中,使大型语言模型能够更准确地回答问题,为模型提供额外的上下文知识填充,从而缓解大模型回答不准确问题的困境。
2、进一步来讲,有关大型语言模型(llm)的概念,其指的是通过深度学习技术在大规模语料库上进行训练的自然语言处理模型。这类模型通过学习语言结构和语义信息,能够执行多种自然语言处理任务。在传统的大型语言模型中,其性能受限于仅基于训练数据进行推理,因此在面对未见过的问题时可能表现不佳。
3、现有技术中,目前rag结合llm通常采用将私有文档内容通过向量嵌入模型转换成向量,并通过向量相似检索的方式从向量数据库中检索出topk个最相似的候选文档内容。尽管这种方式通用性较强且成本较低,但在实际场景中整体的检索召回率和准确率并不理想。
技术实现思路
1、本申请提供一种基于rag框架下向量召回优化策略的知识问答方法和装置,以解决现有技术检索召回率和准确率的效果不够理想
2、根据本申请的一方面,一种实施例提供了一种基于rag框架下向量召回优化策略的知识问答方法,包括:
3、基于构建的知识库,实现用户问答;
4、其中,所述基于构建的知识库,实现用户问答包括:
5、问题q1通过嵌入向量模型生成向量值qe1;其中,所述问题q1由用户输入;
6、向量值qe1在向量库中检索语意相似的多个小块文本段落数组pk1,其中,同时查出的还有每个小块父级的大块段落id p2;
7、小块文本段落数组pk1按照父级大块段落id p2聚合,并累加语意相似度生成数组pk2;
8、根据pk2的语意相似pk2.s1倒序排列,保留k1条内容生成数组pk3;通过倒叙排列语义相似度pk2.s1召回最相似的大块文本段;
9、大文本段落数组pk3作为参考知识库,并与用户输入的q1共同组成新的提示文本prompt1;
10、将prompt1输入大语言模型,并得到答案。
11、一种实施例中,所述累加语意相似度生成数组pk2包括:
12、累加同一父级大块段落下的小块段落语意相似度生成数组pk2;
13、其中,数组pk2中包含父级大块文本id p2和关联的小块相似度的累加语义相似度pk2.s1。
14、一种实施例中,pk2.s1值越大代表语义相似度越高,用于生成后续的大模型提示文本。
15、一种实施例中,所述大文本段落数组pk3作为参考知识库包括:
16、大文本段落数组pk3中的大块id p2在非关系型数据库中查询对应的大块段落文本作为参考知识库上下文。
17、一种实施例中,所述知识库的构建方法包括:
18、基于不同类型的文档提取文本内容c1;
19、提取出的文本通过正则表达式,根据第一设定规则生成若干文本段p1,并通过雪花算法生成的唯一段落id p2;
20、p1和p2持久化至非关系型数据库中,或通过数据库存储;
21、p1通过正则表达式,根据第二设定规则生成若干小块文本段p1.c1;
22、p1.c1通过向量模型生成向量e1,并把e1、p1.c1和生成小块文本的父级大块文本唯一标识p2存入向量数据库。
23、一种实施例中,所述根据设定规则生成若干文本段p1为根据段落、空格、换行、符号和文本长度l1中的至少一种规则生成若干文本段p1;和/或,
24、所述根据第二设定规则生成若干小块文本段p1.c1为根据段落、空格、换行、符号和文本长度l2中的至少一种规则生成若干小块文本段p1.c1。
25、一种实施例中,所述非关系型数据库设为elasticsearch;和/或,
26、所述数据库设为mongodb或redis。
27、根据本申请的一方面,一种实施例提供了一种基于rag框架下向量召回优化策略的知识问答装置,包括:
28、知识库构建模块,用于构建知识库;和/或,
29、用户问答模块,用于基于构建的知识库,实现用户问答;
30、其中,所述知识库构建模块包括:
31、提取模块,用于基于不同类型的文档提取文本内容c1;
32、第一生成模块,用于提取出的文本通过正则表达式,根据第一设定规则生成若干文本段p1,并通过雪花算法生成的唯一段落id p2;
33、持久化模块,用于p1和p2持久化至非关系型数据库中,或通过数据库存储;
34、第二生成模块,用于p1通过正则表达式,根据第二设定规则生成若干小块文本段p1.c1;和
35、存入模块,用于p1.c1通过向量模型生成向量e1,并把e1、p1.c1和生成小块文本的父级大块文本唯一标识p2存入向量数据库;
36、其中,所述用户问答模块包括:
37、第三生成模块,用于问题q1通过嵌入向量模型生成向量值qe1;其中,所述问题q1由用户输入;
38、检索模块,用于向量值qe1在向量库中检索语意相似的多个小块文本段落数组pk1,其中,同时查出的还有每个小块父级的大块段落id p2;
39、聚合模块,用于小块文本段落数组pk1按照父级大块段落id p2聚合,并累加语意相似度生成数组pk2;
40、召回模块,用于根据pk2的语意相似pk2.s1倒序排列,保留k1条内容生成数组pk3;通过倒叙排列语义相似度pk2.s1召回最相似的大块文本段;
41、组成模块,用于大文本段落数组pk3作为参考知识库,并与用户输入的q1共同组成新的提示文本prompt1;和
42、处理模块,用于将prompt1输入大语言模型,并得到答案。
43、根据本申请的一方面,一种实施例提供了一种电子设备,包括:
44、存储器,和
45、处理器;
46、其中,所述存储器用于存储一条或多条计算机指令;所述一条或多条计算机指令被处理器执行,实现上述任意一项所述的基于rag框架下向量召回优化策略的知识问答方法。
47、根据本申请的一方面,一种实施例提供了一种可读存储介质,所述可读存储介质上存储有计算机指令;其中,所述计算机指令被处理器执行,实现上述任意一项所述的基于rag框架下向量召回优化策略的知识问答方法。本文档来自技高网...
【技术保护点】
1.一种基于RAG框架下向量召回优化策略的知识问答方法,其特征在于,包括:
2.根据权利要求1所述的一种基于RAG框架下向量召回优化策略的知识问答方法,其特征在于,所述累加语意相似度生成数组PK2包括:
3.根据权利要求1所述的一种基于RAG框架下向量召回优化策略的知识问答方法,其特征在于,PK2.S1值越大代表语义相似度越高,用于生成后续的大模型提示文本。
4.根据权利要求1所述的一种基于RAG框架下向量召回优化策略的知识问答方法,其特征在于,所述大文本段落数组PK3作为参考知识库包括:
5.根据权利要求1所述的一种基于RAG框架下向量召回优化策略的知识问答方法,其特征在于,所述知识库的构建方法包括:
6.根据权利要求5所述的一种基于RAG框架下向量召回优化策略的知识问答方法,其特征在于,所述根据设定规则生成若干文本段P1为根据段落、空格、换行、符号和文本长度L1中的至少一种规则生成若干文本段P1;和/或,
7.根据权利要求5所述的一种基于RAG框架下向量召回优化策略的知识问答方法,其特征在于,所述非关系型
8.一种基于RAG框架下向量召回优化策略的知识问答装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机指令;其中,所述计算机指令被处理器执行,实现权利要求1至7中任意一项所述的基于RAG框架下向量召回优化策略的知识问答方法。
...【技术特征摘要】
1.一种基于rag框架下向量召回优化策略的知识问答方法,其特征在于,包括:
2.根据权利要求1所述的一种基于rag框架下向量召回优化策略的知识问答方法,其特征在于,所述累加语意相似度生成数组pk2包括:
3.根据权利要求1所述的一种基于rag框架下向量召回优化策略的知识问答方法,其特征在于,pk2.s1值越大代表语义相似度越高,用于生成后续的大模型提示文本。
4.根据权利要求1所述的一种基于rag框架下向量召回优化策略的知识问答方法,其特征在于,所述大文本段落数组pk3作为参考知识库包括:
5.根据权利要求1所述的一种基于rag框架下向量召回优化策略的知识问答方法,其特征在于,所述知识库的构建方法包括:
6.根据权利要求5...
【专利技术属性】
技术研发人员:徐永超,
申请(专利权)人:上海岩芯数智人工智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。