一种基于契约驱动的OpenAPI到MCP工具生成方法
本技术涉及服务计算与接口,更,涉及一种基于契约驱动的openapi到mcp工具生成方法。
背景技术:
1、随着大模型技术的发展,基于自然语言交互的智能代理逐渐应用于业务自动化、数据查询、流程编排等场景。为了使语言模型能够调用外部服务,模型上下文协议(modelcontext protocol,mcp)被提出用于规范语言模型与外部工具之间的信息交互方式。与此同时,开放api规范(openapi specification,oas)作为一种描述web接口结构、请求参数、响应格式以及安全认证信息的标准化接口描述方式,被广泛应用于服务接口定义和接口管理领域。现有技术中,通常基于openapi规范解析接口路径、请求方法、参数定义、响应信息以及安全配置,并根据解析结果构建面向语言模型调用的工具描述,使语言模型能够通过工具调用机制访问外部服务
2、但是,现有的openapi到mcp工具生成方法大都采用接口字段直接映射方式,由于缺少面向代理消费者的服务能力重构机制,造成生成工具难以同时满足模型理解、参数规划以及执行治理需求的问题。
技术实现思路
1、针对现有技术的至少一个缺陷或改进需求,本发明提供了一种基于契约驱动的openapi到mcp工具生成方法,从而解决现有的openapi到mcp工具生成方法大都采用接口字段直接映射方式,容易造成生成工具难以同时满足模型理解、参数规划以及执行治理需求的问题。
2、为实现上述目的,按照本发明的第一个方面,提供一种基于契约驱动的openapi到mcp工具生成方法,该方法包括:
3、s1、解析openapi规范,提取每个api操作的操作信息,并蒸馏得到服务契约;所述服务契约至少包括操作意图、业务输入参数、认证参数以及风险信息的标准化描述;
4、s2、对所述服务契约中的认证参数进行凭据解耦处理,将所述认证参数从模型可见输入模式中移除,并生成用于工具执行阶段提供认证信息的执行可见认证元数据;
5、s3、根据所述服务契约中的风险信息生成机器可读的风险元数据,所述风险元数据至少包括表示执行前需要用户确认的确认需求标记;
6、s4、以所述服务契约、所述执行可见认证元数据和所述风险元数据作为约束生成mcp工具定义,其中,所述mcp工具定义中的模型可见输入模式排除所述认证参数,工具描述包括与所述风险元数据对应的描述信息;对生成的所述mcp工具定义执行一致性验证,并依据一致性验证结果对所述mcp工具定义进行修正处理;
7、s5、获取语言模型基于所述mcp工具定义输出的调用参数,根据预设执行策略对所述调用参数进行处理,并生成对应的工具执行请求
8、进一步地,所述解析openapi规范,包括:
9、解析openapi规范中的路径信息、请求方法信息、参数信息、请求体信息、响应信息以及安全信息;
10、对路径信息中的引用对象进行展开处理;
11、对路径级参数与操作级参数进行合并处理;
12、对参数信息进行统一表示处理;
13、生成与各api操作对应的操作标识
14、进一步地,所述蒸馏得到服务契约,包括:
15、根据操作标识、路径信息、请求方法信息、参数信息、请求体信息、响应信息以及安全信息生成调用信息;
16、根据调用信息生成操作意图;
17、根据参数信息和请求体信息生成业务输入参数;
18、根据安全信息生成认证参数;
19、根据调用信息中的操作类型和操作语义生成风险信息;
20、根据响应信息生成响应内容信息;
21、根据操作意图、业务输入参数、认证参数、风险信息以及响应内容信息组合得到服务契约。
22、进一步地,对所述服务契约中的认证参数进行凭据解耦处理,包括:
23、识别服务契约中的认证参数;
24、将认证参数从业务输入参数对应的数据集中分离;
25、根据认证参数生成执行可见认证元数据;
26、根据业务输入参数生成模型可见输入模式,其中,模型可见输入模式包括业务输入参数且不包括认证参数。
27、进一步地,根据所述服务契约中的风险信息生成机器可读的风险元数据,包括:
28、根据风险信息生成风险等级;
29、根据风险信息生成副作用标识;
30、根据风险信息生成风险依据;
31、根据风险等级、副作用标识以及风险依据生成确认需求标记;
32、根据风险等级、副作用标识、风险依据以及确认需求标记生成风险元数据。
33、进一步地,所述生成mcp工具定义,包括:
34、将模型可见输入模式写入mcp工具定义;
35、根据操作意图和响应内容信息生成工具描述;
36、将执行可见认证元数据关联至mcp工具定义;
37、根据风险元数据生成工具描述中的风险描述内容;
38、根据包括模型可见输入模式、工具描述、执行可见认证元数据以及风险元数据的mcp工具定义生成目标mcp工具定义。
39、进一步地,对所述mcp工具定义执行一致性验证,并依据一致性验证结果对mcp工具定义进行修正处理,包括:
40、验证模型可见输入模式与业务输入参数之间的一致性;
41、验证工具描述与操作意图之间的一致性;
42、验证执行可见认证元数据与认证参数之间的一致性;
43、验证风险元数据与风险信息之间的一致性;
44、验证mcp工具定义对应的调用规划一致性;
45、根据一致性验证结果修正mcp工具定义。
46、进一步地,所述根据预设执行策略对调用参数进行处理,并生成对应的工具执行请求,包括:
47、获取语言模型基于mcp工具定义输出的调用参数;
48、根据模型可见输入模式过滤调用参数;
49、根据执行可见认证元数据向过滤后的调用参数中添加认证参数;
50、根据风险元数据判断确认需求标记对应的确认条件;
51、根据添加认证参数后的调用参数以及确认条件生成工具执行请求。
52、按照本发明的第二个方面,还提供了一种基于契约驱动的openapi到mcp工具生成设备,其包括至少一个处理单元以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述计算机程序被所述处理单元执行时,使得所述处理单元执行上述任一项所述基于契约驱动的openapi到mcp工具生成方法的步骤。
53、按照本发明的第三个方面,还提供了一种存储介质,其存储有可由访问认证设备执行的计算机程序,当所述计算机程序在访问认证设备上运行时,使得所述访问认证设备执行上述任一项所述基于契约驱动的openapi到mcp工具生成方法的步骤。
54、总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
55、(1)本发明提供的基于契约驱动的openapi到mcp工具生成方法,通过将openapi规范中的api操作信息蒸馏为包含操作意图、业务输入参数、认证参数以及风险信息的服务契约,并基于服务契约、执行可见认证元数据和风险元数据约束生成mcp工具定义,进而将面向接口描述的服务信息转换为面向语言模型代理消费的结构化工具表示,从而改善了现有的openapi到mcp工具生成方法大都采用接口字段直接映射方式,由于缺少面向代理消费者的服务能力重构机制,造成生成工具难以同时满足模型理解、参数规划以及执行治理需求的问题。
56、(2)本发明提供的基于契约驱动的openapi到mcp工具生成方法,通过对服务契约中的认证参数进行凭据解耦处理,将认证参数从模型可见输入模式中移除,并生成用于工具执行阶段提供认证信息的执行可见认证元数据,进而将业务输入参数与认证信息进行分离管理,从而改善了现有面向语言模型代理的服务调用方式大都将接口认证信息与业务参数共同暴露,由于模型可见输入中包含认证相关字段,造成认证信息容易进入代理参数规划流程的问题。
57、(3)本发明提供的基于契约驱动的openapi到mcp工具生成方法,通过根据服务契约中的风险信息生成机器可读的风险元数据,并基于风险元数据处理语言模型输出的调用参数生成工具执行请求,进而使服务操作对应的风险约束能够参与工具执行流程,从而改善了现有mcp工具生成方式大都仅描述工具名称和输入参数,由于缺少与服务操作风险对应的执行约束信息,造成代理调用高风险服务操作时缺少有效治理依据的问题。
58、(4)本发明提供的基于契约驱动的openapi到mcp工具生成方法,将认证和风险策略前移至服务工具设计阶段,将服务治理约束落实到执行边界,使mcp工具生成从面向开发者的接口描述转化为面向语言模型代理消费的结构化、可治理的服务工具表示。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com