基于大语言模型的多工具调用链动态生成方法与流程
本发明涉及人工智能与自然语言处理,具体涉及一种基于大语言模型的多工具调用链动态生成方法。
背景技术:
1、随着大语言模型技术的快速发展,基于大语言模型的智能体系统逐渐成为研究热点。这类系统通过让大语言模型调用外部工具(如应用程序编程接口、数据库、计算引擎等)来扩展其能力边界,以完成更为复杂的任务。
2、目前,大语言模型调用外部工具的方式主要存在以下几种:
3、第一种是预设固定流程模式。传统智能体系统的工具调用流程通常是预先硬编码的,开发者需要手动编排工具调用顺序。当工具集合发生变化或遇到新的用户请求时,需要重新编写代码,缺乏灵活性。
4、第二种是单次调用模式。主流的大语言模型函数调用方案仅支持单次工具调用,无法处理需要多步协作的复杂任务。例如,当用户请求"分析销售数据并生成图表报告"时,需要依次调用数据查询、数据清洗、统计分析和图表生成等多个工具,单次调用无法满足需求。
5、第三种是静态编排模式。现有工作流引擎虽然支持多步骤编排,但流程是静态预定义的,无法根据用户输入的语义动态调整执行路径,也无法根据执行过程中的中间结果动态调整后续执行路径。
6、此外,学术界和工业界已提出一些多步工具调用方案,但仍存在明显不足:基于"思考-行动-观察"循环的逐步调用方式推理过程串行、效率低下,且缺乏全局规划能力;先规划再执行的模式在规划阶段不充分考虑工具间的数据依赖关系,生成的计划可能无效,同时缺乏动态调整机制;使用预定义的有向无环图描述工具调用关系的方式虽然能处理依赖关系,但无法动态生成新的调用链,扩展性差。
7、因此,亟需一种能够根据用户请求动态生成多工具调用链,并根据执行过程中的中间结果动态选择后续执行路径的方案。
技术实现思路
1、针对现有技术中多工具调用流程静态预定义、无法根据用户请求语义动态生成调用链且缺乏执行过程中动态路由能力的问题,本发明通过基于大语言模型的多工具调用链动态生成方法,实现了调用链的按需动态生成与自适应执行,提升了复杂任务的处理效率与执行可靠性。
2、为实现上述目的,本发明采用如下技术方案:
3、一种基于大语言模型的多工具调用链动态生成方法,包括:
4、接收用户自然语言请求,经大语言模型将所述请求分解为多个子任务,并为各子任务从工具集中匹配候选工具;
5、基于所述候选工具的输入输出依赖信息,识别各子任务间的数据依赖关系,动态生成由工具节点及数据流向构成的调用链,所述调用链为有向无环图形式;
6、按照所述调用链中各工具节点间的数据依赖关系依次调度执行,执行过程中将各工具节点的中间结果写入共享上下文,并根据所述中间结果在所述调用链中动态选择后续执行路径;
7、汇总各工具节点的输出结果,生成并返回最终执行结果。
8、上述方案通过大语言模型对用户请求进行语义分解,并基于候选工具的输入输出依赖信息动态生成有向无环图形式的调用链,使得调用链能够响应于当前请求的语义即时生成,无需预设固定流程;同时,执行过程中依据数据依赖关系调度节点,并将中间结果写入共享上下文供后续节点读取,实现了多工具协作任务的自动化执行与动态路由。
9、作为一种实施方式,所述经大语言模型将所述请求分解为多个子任务,并为各子任务从工具集中匹配候选工具,包括:
10、通过大语言模型对所述请求进行语义解析,得到多个子任务;
11、将各子任务的描述信息与工具集中各工具的功能描述文本进行语义相似度匹配,为各子任务召回候选工具;
12、所述动态生成由工具节点及数据流向构成的调用链,包括:
13、由大语言模型基于各候选工具的输入输出数据结构描述及依赖标签,分析各子任务间的数据依赖关系,生成由多个工具节点和有向边构成的有向无环图调用链;其中,每个工具节点包含工具标识符、输入映射函数和输出映射函数,所述有向边表示数据流向与前驱依赖关系。
14、作为一种实施方式,所述动态生成由工具节点及数据流向构成的调用链之后,还包括:
15、对生成的所述有向无环图调用链进行拓扑有效性验证,检查是否存在环以及各工具节点的依赖是否均已满足;
16、当验证不通过时,对所述调用链进行修正或重新生成。
17、作为一种实施方式,所述基于所述候选工具的输入输出依赖信息,识别各子任务间的数据依赖关系,包括:
18、各候选工具具有依赖标签;
19、在构建所述调用链时,通过以下匹配规则建立候选工具间的输入输出映射关系:
20、精确匹配规则,源工具的输出标签与目标工具的输入标签字符串完全一致时判定匹配命中;
21、泛化匹配规则,目标工具的输入标签包含通配符,且与具有相同前缀的源工具输出标签匹配时判定匹配命中;
22、组合匹配规则,目标工具的输入标签包含多个标签时,以and语义组合,每个输入标签均能在源工具的输出标签中找到匹配时判定匹配命中。
23、作为一种实施方式,所述方法还包括:
24、当所述精确匹配规则、泛化匹配规则及组合匹配规则均未命中时,在源工具与目标工具之间自动插入数据转换节点;
25、根据源工具的输出标签与目标工具的输入标签之间的差异确定转换逻辑,将源工具的输出数据格式转换为目标工具所需的输入数据格式后继续执行。
26、作为一种实施方式,所述按照所述调用链中各工具节点间的数据依赖关系依次调度执行,包括:
27、对所述调用链中的各工具节点进行拓扑排序,将无依赖关系的工具节点划分至同一批次并行执行;
28、每个工具节点执行完毕后,将输出结果以键值对形式写入共享上下文;
29、下游工具节点通过自身的输入映射函数从所述共享上下文中提取所需输入数据。
30、作为一种实施方式,所述调用链中包含条件节点;
31、所述根据所述中间结果动态选择后续执行路径,包括:
32、所述条件节点根据上游工具节点的中间结果对条件表达式进行评估,依据评估结果从所述调用链中已生成的下游执行分支中选择执行分支,使所述调用链的执行路径在运行时自适应变化;其中,所述条件节点仅进行前向分支选择,所述分支选择在所述调用链已生成的有向无环图拓扑范围内进行,不改变所述调用链的有向无环图拓扑结构。
33、作为一种实施方式,所述方法还包括:
34、当工具节点执行失败时,发起重试,重试次数可配置并采用指数退避策略;
35、重试仍失败时,判断当前工具节点是否为关键节点;
36、若为非关键节点,则执行优雅降级,使用缓存数据或默认值替代后继续执行;
37、若为关键节点,则触发saga补偿回滚(saga为分布式事务中的一种补偿模式),并在补偿回滚期间暂停所述调用链中其余工具节点的调度执行,按最近一次成功检查点之后已完成工具节点的逆序执行补偿操作以撤销副作用,所述补偿范围与所述最近一次成功检查点的边界一致;
38、基于检查点机制,在补偿完成后从最近一次成功的检查点断点续跑,检查点之前已完成工具节点的执行结果保持不变。
39、作为一种实施方式,所述汇总各工具节点的输出结果,生成并返回最终执行结果之后,还包括:
40、对本次执行结果进行质量评估,并将评估通过的调用链结构及对应的用户意图特征进行缓存;
41、当新请求的用户意图特征与已缓存记录的用户意图特征相似度超过设定阈值时,加载缓存调用链,对所述缓存调用链中的节点参数进行适应性调整后直接执行,而不再重新规划完整调用链。
42、作为一种实施方式,所述方法还包括:
43、对质量评估未通过的调用链,记录失败案例及失败原因,所述失败原因包括规划错误、执行错误或工具返回异常;
44、当失败案例积累数量达到预设批量阈值时,基于所述失败案例对大语言模型进行微调,并同步更新工具的描述语义索引,以提升后续候选工具召回的准确率与调用链规划质量。
45、本发明的有益效果为:本发明通过大语言模型对用户自然语言请求进行语义分解,并基于候选工具的输入输出依赖信息动态生成有向无环图形式的调用链,使得调用链能够根据请求语义即时生成,无需预设固定流程,从而适应不同场景和任务,降低开发和维护成本;通过将各工具节点的中间结果写入共享上下文,并依据数据依赖关系依次调度执行,实现了从意图解析到调用链执行的全流程自动化,智能体能够独立完成原本需要人工编排的多步骤复杂任务,提升任务处理效率;通过根据中间结果动态选择后续执行路径,使调用链的执行路径在运行时根据中间结果自适应调整,提升执行过程的稳定性与可靠性。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com