System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及辅助检索,尤其涉及一种基于大模型的非线性数据的数据库构建方法及装置。
技术介绍
1、当前许多ai工具主要依赖文字提示prompt与用户进行线性、单向的沟通方式。用户若想在后期迭代阶段对已有设计进行精确修改,必须对每个细节重新进行文字描述。而这种纯文本描述的交互方式不够直观,用户为了让大模型llm(large language model)理解复杂修改点常需输入冗长的指令描述,否则llm可能产出与预期不符的结果,导致用户不断进行重复、繁琐的解释,用户与llm间的沟通成本过高,影响迭代效率和准确性。
2、除此之外,现有智能交互工具不支持与llm进行非线性迭代交互,“非线性迭代”指用户与llm的多轮交互过程并不总是沿着线性的时间顺序前进,而是常常需要“回溯到之前状态”或“探索并行分支”,即用户可能希望在不破坏已有对话上下文的基础上,对过往生成的中间结果进行重新调整、局部修改或在多个分支结果中切换。现有工具以线性聊天为主,无法有效支持这种多分支、多路径的动态对话管理。当非线性上下文被强行嵌入线性的对话历史中时,用户难以清晰告诉llm该使用哪一个之前的中间产物作为新起点,而llm也难以从长而杂乱的对话历史中正确提取出相关信息进行生成。使得用户在多轮、多分支的llm交互中难以高效管理上下文,上下文构建不完整,导致模型理解偏差或者简单叠加线性历史记录或依赖单次rag检索,导致上下文信息冗余、丢失或片面,影响llm在复杂场景下的回答准确性。
技术实现思路
1、本公开提供了一种
2、根据本申请的第一方面,提供了一种基于大模型的非线性数据的数据库构建方法,所述方法包括:
3、在初始图状结构中选择节点输入用户的请求数据,利用rag系统检索生成所述请求数据的检索结果;其中,每个节点表示一次用户输入与大模型输出的对话轮次;
4、基于所述检索结果和所述请求数据利用大模型生成所述请求数据的答复数据;
5、将所述请求数据、所述答复数据及所述检索结果写入新的节点,确定已经存在的节点中与所述新的节点关联的最近节点,以所述最近节点作为所述新的节点的父节点,形成分支路径;
6、将新的节点存储至数据库;其中,所有分支路径组成树状结构。
7、在一可实施方式中,每个节点还包括:
8、唯一标识、上一级节点的引用关系、时间戳和业务标签;
9、所述检索结果包括文档id、摘要信息、来源信息及嵌入向量id。
10、在一可实施方式中,所述利用rag系统检索生成所述请求数据的检索结果,包括:
11、基于用户的请求数据确定关联的父节点;所述关联的父节点为父节点中请求数据、答复数据以及检索结果与所述请求数据具有相似度;
12、计算所述请求数据及所述父节点中的请求数据、答复数据以及检索结果的相似度;
13、基于所述相似度确定文本片段作为本次用户的请求数据的检索结果。
14、在一可实施方式中,所述利用大模型生成所述请求数据的答复数据,包括:
15、从数据库中获取选择节点的信息及父节点链路;
16、从所述选择节点向上遍历父节点链路,获取预设数量的上一级节点或达到对话数据数量;
17、基于所述预设数量的上一级节点或达到对话数据数量提取用户的历史输入数据和大模型的历史答复数据,生成历史上下文;
18、基于所述用户的请求数据、历史上下文、选择节点的信息构建promp文本;
19、所述promp文本输入所述大模型中,生成答复数据。
20、在一可实施方式中,在构建promp文本之前,还包括:
21、对所述用户的请求数据、历史上下文、选择节点的信息进行数据清洗。
22、在一可实施方式中,所述从所述选择节点向上遍历父节点链路之后,还包括
23、在信息量缺失时,调用rag系统获取补充资料。
24、在一可实施方式中,所述确定已经存在的节点中与所述新的节点的关联的最近节点,包括:
25、判断所述新的节点的上一级节点是否为本次对话的关联节点;
26、如果所述上一级节点非所述新的节点的关联节点,则重新确定剩余已经存在的节点中与所述新的节点关联的最近节点。
27、在一可实施方式中,在写入新的节点之前,还包括:
28、通过大模型对用户的请求数据和上一级节点中信息进行校验,如果校验结果显示上下文不相关,则向用户发出添加更多信息的提示信息。
29、在一可实施方式中,所述数据库采用图数据库或用于存储文档的数据库。
30、根据本申请的第二方面,提供了一种基于大模型的非线性数据的数据库构建装置,包括:
31、数据检索模块,用于在初始图状结构中选择节点输入用户的请求数据,利用rag系统检索生成所述请求数据的检索结果;其中,每个节点表示一次用户输入与大模型输出的对话轮次;
32、数据生成模块,用于基于所述检索结果和所述请求数据利用大模型生成所述请求数据的答复数据;
33、路径生成模块,用于将所述请求数据、所述答复数据及所述检索结果写入新的节点,确定已经存在的节点中与所述新的节点关联的最近节点,以所述最近节点作为所述新的节点的父节点,形成分支路径;
34、节点存储模块,用于将新的节点存储至数据库;其中,所有分支路径组成树状结构。
35、根据本申请的第三方面,提供了一种电子设备,包括:
36、至少一个处理器;以及
37、与所述至少一个处理器通信连接的存储器;其中,
38、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请所述的方法。
39、根据本申请的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请所述的方法。
40、根据本申请的第五方面,提供了一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时实现本申请所述的方法。
41、利用本申请技术方案,本申请用户可从图状数据结构中选择不同话题路径,从而获取选中节点及其关联的历史上下文,结合实时检索增强生成rag检索结果,将历史信息与新检索内容进行整合,形成精确、完整的上下文输入给大模型llm,从而解决了复杂对话中的信息丢失和冗余问题,确保llm在分支或回溯场景中提供高质量、准确的回答。
42、应当理解,本部分所描述的数据并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
本文档来自技高网...【技术保护点】
1.一种基于大模型的非线性数据的数据库构建方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,每个节点还包括:
3.根据权利要求1所述的方法,其特征在于,所述利用RAG系统检索生成所述请求数据的检索结果,包括:
4.根据权利要求1所述的方法,其特征在于,所述利用大模型生成所述请求数据的答复数据,包括:
5.根据权利要求4所述的方法,其特征在于,在构建Promp文本之前,还包括:
6.根据权利要求4所述的方法,其特征在于,所述从所述选择节点向上遍历父节点链路之后,还包括
7.根据权利要求1所述的方法,其特征在于,所述确定已经存在的节点中与所述新的节点的关联的最近节点,包括:
8.根据权利要求1所述的方法,其特征在于,在写入新的节点之前,还包括:
9.根据权利要求1所述的方法,其特征在于,
10.一种基于大模型的非线性数据的数据库构建装置,其特征在于,所述装置包括:
【技术特征摘要】
1.一种基于大模型的非线性数据的数据库构建方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,每个节点还包括:
3.根据权利要求1所述的方法,其特征在于,所述利用rag系统检索生成所述请求数据的检索结果,包括:
4.根据权利要求1所述的方法,其特征在于,所述利用大模型生成所述请求数据的答复数据,包括:
5.根据权利要求4所述的方法,其特征在于,在构建promp文本之前,还包括:...
【专利技术属性】
技术研发人员:贾承斌,艾青,蔡锦森,莫倩,张传文,王继伟,
申请(专利权)人:北京网智天元大数据科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。