System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,尤其涉及一种基于大语言模型rag框架的关键字召回优化方法及系统。
技术介绍
1、大型语言模型(llm,large language model)通过深度学习技术训练而得,在自然语言处理领域展现出了强大的语言理解和文本生成能力。然而,在面对具体的问题时,尤其是需要根据外部世界精确信息的情况下,其输出结果可能受限于内在参数化的知识库,导致其结果不尽如人意。为了克服这一局限性,研究者们开发了检索增强生成(rag,retrieval augmented generation)框架。该技术通过从私有知识库文档中检索信息,将其融入提示指令中,使得大型语言模型能够更精准地回答问题。这为模型提供了额外的上下文知识填充,从而缓解大模型回答不准确问题的困境。
2、目前rag采用的多路召回策略,即采用不同的技术方案检索相似的知识库内容,最后再合并到一起,以提升文档召回的质量。现在采用向量数据库(milvus)检索和关键字数据库(elasticsearch)检索两种召回策略组合。
3、然而,目前针对关键字的检索召回,未考虑不同词性的分词所占权重不同的情况,而导致的大语言模型rag框架检索召回的结果准确性差。
技术实现思路
1、针对大语言模型rag框架的关键字检索召回结果准确率差的问题,本专利技术提供了一种基于大语言模型rag框架的关键字召回优化方法及系统。
2、为实现上述目的,本专利技术采用以下技术方案:
3、本专利技术第一个方面公开了
4、步骤s1:获取用户的提问q1;
5、步骤s2:优化大语言模型llm,获得优化后大语言模型n-llm;
6、步骤s3:根据q1形成提示词prompt-1;
7、步骤s4:n-llm根据提示词prompt-1对q1进行划分,获得q1的分词及对应的分词权重,形成集合q2;
8、步骤s5:遍历集合q2,将集合q2中不同词性的分词以不同的权重拼接检索条件并在关键字数据库elasticsearch中进行检索,并将检索结果按照相似度由高到低进行排序,获取相似度前a的上下文,形成集合c1;
9、步骤s6:将q1在向量数据库milvus中进行检索,并将检索结果按照相似度由高到低进行排列,获取相似度前a的上下文,形成集合c2;
10、步骤s7:将集合c1、集合c2进行组合,获取前a的上下文,形成集合c3;
11、步骤s8:根据q1、集合c3生成提示词prompt-2;
12、步骤s9:n-llm根据提示词prompt-2进行推理,并将推理结果反馈给用户。
13、优选地,所述步骤s2,具体包括:
14、步骤s201:构建生成问题的提示词prompt-3,并通过提示词prompt-3使llm生成n条问题;
15、步骤s202:构建对单个问题进行分词并返回对应分词权重的提示词prompt-4,并通过提示词prompt-4使llm生成n条问题的分词及对应的分词权重;
16、步骤s203:对n条问题、分词和分词权重进行筛选,对质量不高的数据进行优化完善,形成高质量的n条问题、分词和分词权重;
17、步骤s204:通过高质量的n条问题、分词和分词权重,对llm进行优化,形成n-llm。
18、优选地,步骤s5中所述相似度,其计算公式为:
19、score=tf×idf
20、其中,tf(term frequency)表示查询中的词在文档中出现的频率,idf(inversedocument frequency)表示包含查询词的文档的逆文档频率。
21、优选地,步骤s7中,集合c1和集合c2通过穿插的方式进行组合;
22、更优选地,所述穿插方式具体为,从集合c1中取出第1条放在集合c3的第1位,从集合c2中取出第1条放在集合c3的第2位,从集合c1中取出第2条放在集合c3的第3位,以此类推将集合c1和集合c2中的上下文交替放入集合c3。
23、优选地,所述提示词prompt-1、prompt-2、prompt-3或prompt-4可以是一个问题、一句话、一段文本,或者是任务性质决定的任何形式的输入,用于引导大语言模型生成相关的输出。
24、本专利技术第二个方面公开了一种基于大语言模型rag框架的关键字召回优化系统,具体包括如下模块:
25、用户提问获取模块,用于获取用户的提问q1;
26、llm优化模块,与所述用户提问模块连接,用于优化大语言模型llm,获得优化后的llm,形成n-llm;
27、第一提示词生成模块,与所述llm优化模块和用户提问模块连接,用于根据q1生成提示词prompt-1;
28、第一问题分词处理模块,与所述提示词生成模块和llm优化模块连接,用于通过n-llm将q1进行分词并对每个词进行权重分配,形成集合q2;
29、关键字数据库检索处理模块,与所述第一问题分词处理模块连接,用于对集合q2进行遍历,将集合q2中不同词性的分词以不同的权重拼接检索条件并在关键字数据库elasticsearch中进行检索,并将关键字数据库elasticsearch的检索结果按照相似度由高到低进行排序,获取相似度前a的上下文,形成集合c1;
30、向量数据库检索处理模块,与所述关键字数据库检索处理模块连接,用于将q1在向量数据库milvus中进行检索,并将向量数据库milvus的检索结果按照相似度由高到低进行排序,获取相似度前a的上下文,形成集合c2;
31、组合模块,与所述关键字数据库检索处理模块和所述向量数据库检索处理模块连接,用于将集合c1、集合c2进行组合,获取前a个上下文,形成集合c3;
32、第二提示词生成模块,与所述组合模块连接,用于根据q1、集合c3形成提示词prompt-2;
33、推理及结果反馈模块,与所述第二提示词生成模块连接,用于n-llm根据提示词prompt-2进行推理,并将推理结果反馈给用户。
34、优选地,所述各个功能模块之间相互隔离。
35、优选地,所述llm优化模块,具体包括如下子模块:
36、第三提示词生成子模块,用于构建生成问题的提示词prompt-3,通过提示词prompt-3使llm生成n条问题;
37、第二问题分词处理子模块,与所述第三提示词生成子模块连接,用于构建对单个问题进行分词并返回对应分词权重的提示词prompt-4,并通过提示词prompt-4使llm生成n条问题的分词及对应的分词权重;
38、筛选优化子模块,与所述第一问题分词处理子模块连接,用于对n条问题、分词和分词权重进行筛选,对质量不高的数据进行优化完善,形成高质量的n条问题、分词和分词权重本文档来自技高网...
【技术保护点】
1.一种基于大语言模型RAG框架的关键字召回优化方法,其特征在于,具体包括如下步骤:
2.根据权利要求1所述的一种基于大语言模型RAG框架的关键字召回优化方法,其特征在于,所述步骤S2,具体包括:
3.根据权利要求1所述的一种基于大语言模型RAG框架的关键字召回优化方法,其特征在于,步骤S5中所述相似度,其计算公式为:
4.根据权利要求1所述的一种基于大语言模型RAG框架的关键字召回优化方法,其特征在于,步骤S7中,集合C1和集合C2通过穿插的方式进行组合。
5.根据权利要求4所述的一种基于大语言模型RAG框架的关键字召回优化方法,其特征在于,所述穿插方式具体为,从集合C1中取出第1条放在集合C3的第1位,从集合C2中取出第1条放在集合C3的第2位,从集合C1中取出第2条放在集合C3的第3位,以此类推将集合C1和集合C2中的上下文交替放入集合C3。
6.根据权利要求2所述的一种基于大语言模型RAG框架的关键字召回优化方法,其特征在于,所述提示词Prompt-1、Prompt-2、Prompt-3或Prompt-4为一个问
7.一种基于大语言模型RAG框架的关键字召回优化系统,其特征在于,具体包括如下模块:
8.根据权利要求7所述的一种基于大语言模型RAG框架的关键字召回优化系统,其特征在于,所述LLM优化模块,具体包括如下子模块:
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质有计算机程序,所述计算机程序被处理器执行时实现如权利要求1~6任一项所述的一种基于大语言模型RAG框架的关键字召回优化方法。
10.一种装置,其特征在于,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序所述处理器执行所述计算机程序时实现如权利要求1~6任一项所述的一种基于大语言模型RAG框架的关键字召回优化方法。
...【技术特征摘要】
1.一种基于大语言模型rag框架的关键字召回优化方法,其特征在于,具体包括如下步骤:
2.根据权利要求1所述的一种基于大语言模型rag框架的关键字召回优化方法,其特征在于,所述步骤s2,具体包括:
3.根据权利要求1所述的一种基于大语言模型rag框架的关键字召回优化方法,其特征在于,步骤s5中所述相似度,其计算公式为:
4.根据权利要求1所述的一种基于大语言模型rag框架的关键字召回优化方法,其特征在于,步骤s7中,集合c1和集合c2通过穿插的方式进行组合。
5.根据权利要求4所述的一种基于大语言模型rag框架的关键字召回优化方法,其特征在于,所述穿插方式具体为,从集合c1中取出第1条放在集合c3的第1位,从集合c2中取出第1条放在集合c3的第2位,从集合c1中取出第2条放在集合c3的第3位,以此类推将集合c1和集合c2中的上下文交替放入集合c3。
6.根据权利要求2所述的一种基于大语言模型rag框架的关...
【专利技术属性】
技术研发人员:徐永超,
申请(专利权)人:上海岩芯数智人工智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。