一种基于意图识别的企业数据服务动态组装方法及系统与流程

摘要: 本发明涉及企业数据服务与人工智能,具体涉及一种基于意图识别的企业数据服务动态组装方法及系统。背景技术:1、随着企业信息化建设的深入,企业内部通常部署有多个业务系...
一种基于意图识别的企业数据服务动态组装方法及系统与流程

本发明涉及企业数据服务与人工智能,具体涉及一种基于意图识别的企业数据服务动态组装方法及系统。

背景技术:

1、随着企业信息化建设的深入,企业内部通常部署有多个业务系统,例如企业资源计划系统(erp)、运输管理系统(tms)、仓储管理系统(wms)、制造执行系统(mes)、办公自动化系统(oa)等。这些系统通常由不同的软件供应商开发,各自独立运行,数据相互隔离。当企业需要实现不同系统之间的数据查询和交换时,传统方式是由技术人员为每两个系统之间的具体数据需求开发定制化的接口。例如,当外部合作伙伴需要查询某个订单的物流状态时,需要开发一个专用接口,该接口从物流系统中获取数据并以约定的格式返回。这种点对点的接口开发模式存在重复开发严重、响应速度慢、安全管控困难等问题:多个调用方即使需求相似,也常因数据格式、字段命名、权限要求不同而需各自开发,既有接口难以复用;从需求提出到接口上线的周期较长,难以响应业务变化;接口散落在各个系统中,缺乏统一管理,难以控制谁在调用、调用了什么数据。为解决上述问题,业界先后出现了企业服务总线(esb)、集成平台即服务(ipaas)以及 api 网关等技术。这类技术通过统一的接入、协议转换、流量管控与鉴权,在一定程度上降低了对接成本、提升了接口复用率。然而,这类技术仍然存在以下不足:其一,其对外暴露的仍是“接口”而非“能力”,调用方需要事先了解接口的地址、参数与返回结构,跨接口的组合查询仍需人工开发组合接口;其二,其鉴权粒度通常停留在“能否调用该接口”的工具级,对于同一接口在不同调用方下应返回哪些数据行、应暴露哪些字段,缺乏统一的、可配置的管控手段,往往需要业务系统自行实现,改造成本高。近年来,随着大语言模型(llm)的发展,出现了基于函数调用(function calling)的智能助手技术,即通过自然语言理解用户意图,从预定义的工具集合中选择合适的函数并调用。该技术使调用方无需了解接口细节即可发起查询,并具备一定的多工具编排能力。然而,现有的函数调用技术主要面向通用任务处理,在应用于企业多系统数据服务场景时仍存在如下亟待解决的问题:

2、(1)工具生成不可控带来的越权风险。通用函数调用技术中,调用计划由大语言模型生成,而大语言模型的输出具有不确定性和不可控性,无法保证所生成的调用计划不超出调用方的数据权限边界。在企业数据场景下,这意味着一次看似正常的自然语言查询,可能返回调用方本不应接触的数据行或字段,造成数据越权访问。这是现有通用函数调用技术未解决的核心问题。

3、(2)企业已有接口难以转化为可用工具。企业已有的 http 查询接口形态各异,如何将其注册为可供大语言模型理解与调用的工具,并保证工具描述的准确性,是落地的前提。

4、(3)工具描述质量直接影响匹配准确率。工具文字描述是大语言模型选择工具的唯一依据,描述含糊、存在歧义或与其他工具重叠,会导致错误调用。

5、(4)缺乏字段级安全管控与审计。返回数据中的敏感字段若不加控制即随自然语言查询结果外泄,且调用过程缺少留痕,难以满足合规追溯要求。

技术实现思路

1、【本发明所称“调用方”的定义】本发明所称“调用方”,指发起数据查询请求的一方,包括企业内部系统、企业外部系统以及企业内部业务人员,不限定为外部系统。所述调用方通过两类不同的调用入口发起查询:内部系统与外部系统通过 api 调用入口发起查询,内部业务人员通过网页对话界面(聊天查询入口)发起查询;所述两类入口为两种相互独立的调用接口,流量天然分流,无需在流程中设置“判断入口类型”的路由节点。

2、一、本发明要解决的技术问题

3、本发明要解决的技术问题是:在通过自然语言驱动大语言模型调用企业已有接口的过程中,大语言模型生成的调用计划具有不可控性,无法保证其不超出调用方的数据权限边界;同时企业各业务系统数据相互隔离、改造成本高,难以通过逐一改造业务系统的方式实现统一管控。为此,提供一种基于意图识别的企业数据服务动态组装方法,在无需业务系统针对具体工具编写或改动数据权限相关业务逻辑代码的前提下,对自然语言驱动的接口调用施加工具级、数据行级、字段级三层强制约束,并留痕可审计。

4、技术方案

5、本发明所称“动态组装”,是指根据每一次自然语言查询请求的意图,动态地从已注册工具集合中确定待调用的工具及其组合关系、动态地组装各工具的接口参数、并动态地将各工具的返回数据组装为统一查询结果的过程;其既包括单一工具的情形,也包括多个工具编排组合的情形。一种基于意图识别的企业数据服务动态组装方法,包括以下步骤:

6、步骤 s1:将多个业务系统的查询接口,通过纯配置方式注册为工具;其中,所述纯配置方式包括配置接口地址、请求方法、认证信息、参数映射关系和响应映射关系,且所述注册过程不涉及对所述业务系统的业务代码的修改。

7、步骤 s2:为每个工具配置文字描述,并为调用方角色配置字段权限规则;其中,所述工具采用提交-审核-调优-确认的生效机制,即工具在提交后需经审核,审核通过后需经调优,并在确认通过后方可生效;在简化实施的情形下,所述工具亦可不经所述审核与所述调优,而仅经确认后即处于已生效状态;未处于已生效状态的工具不参与后续的匹配。所述审核与所述调优的对象为工具整体,包括其文字描述、参数映射关系、响应映射关系及认证信息,而非仅限于文字描述。

8、步骤 s2-1:为调用方角色分配被授权的工具,并为所述调用方角色配置数据范围表达式;其中,所述数据范围表达式用于限定该角色可访问的数据行范围,且所述数据范围表达式与所述调用方角色相关联;所述数据范围表达式存在两种挂接方式:角色级,即不关联任何具体工具,对所述角色被授权的任一工具均适用;工具级,即关联到所述角色被授权的工具中的特定工具,仅对所关联的工具适用。

9、所述数据范围表达式与所述调用方角色相关联,存在两种挂接方式:方式一(角色级,工具无关):该表达式以调用方角色为配置对象、不关联任何具体工具,同一角色无论通过哪一个被授权的工具发起查询,均适用同一数据范围表达式,新增工具或对既有工具进行调整时无需针对该工具重新配置或标注数据权限,从根本上避免了逐个接口配置方式下“新工具漏配权限”所产生的行级管控真空;方式二(工具级,逐工具配置):所述数据范围表达式分别关联到所述角色被授权的各工具,针对每一工具分别配置对应的数据范围表达式,在该工具被匹配并用于执行数据查询行为时由本系统将该工具对应的数据范围表达式附加到该工具的数据查询行为中。两种方式在“由本系统强制执行、不依赖大语言模型对数据权限的判断、业务系统无需针对具体工具编写或改动数据权限相关的业务逻辑代码”上完全一致;方式二是兼容既有逐接口权限体系的迁移路径。

10、步骤 s3:接收调用方提出的自然语言查询请求。

11、步骤 s4:识别所述自然语言查询请求的查询意图,基于所述查询意图和所述文字描述,从当前调用方被授权的且处于已生效状态的工具集合中匹配目标工具;其中,所述被授权的工具集合由所述当前调用方对应的角色确定,且仅处于已生效状态的工具被纳入可匹配的工具集合,未处于已生效状态的工具不参与匹配。

12、步骤 s5:将所述自然语言查询请求中的关键信息映射为所述目标工具对应的接口参数。

13、其中,所述步骤 s4 的匹配目标工具、所述步骤 s5 的映射接口参数这两项中的至少一项由大语言模型执行。

14、【大语言模型的介入时机】本发明支持两类调用入口,大语言模型的介入时机根据所述调用入口类型确定:对于 api 调用入口,调用方通常以结构化或半结构化方式传入关键字段,系统优先基于预设规则库进行匹配——当调用方传入的关键字段命中预设规则库时,基于所述规则库确定目标工具,并由所述大语言模型根据所述目标工具的描述将所述关键字段映射为接口参数;当未命中所述规则库时,调用所述大语言模型执行工具匹配和参数映射中的至少一项。对于聊天查询入口,调用方以自由自然语言提出查询、无结构化关键字段传入,故直接调用所述大语言模型执行查询意图识别、目标工具匹配和关键信息抽取中的至少一项。

15、【调用计划缓存】在 api 调用入口下,系统可将首次由大语言模型生成的调用计划进行缓存;当接收到与已缓存调用计划相同或相似意图的后续查询请求时,复用所述调用计划中的目标工具标识与工具调用顺序,并由所述大语言模型依据所述调用计划中的参数映射规则将所述后续查询请求的关键字段映射为接口参数,从而跳过由大语言模型执行工具匹配的步骤、但仍由大语言模型完成参数映射。所述调用计划至少包括目标工具标识、工具调用顺序以及参数映射规则。由此,在重复或近似意图的场景下,可显著减少大语言模型的推理开销,降低推理延迟与 token 成本。

16、步骤 s6:在调用所述目标工具对应的业务系统接口之前,根据所述当前调用方对应的角色信息获取该角色对应的数据范围表达式,将所述数据范围表达式中的动态变量替换为所述当前调用方的上下文取值后,作为数据过滤条件写入本次调用的执行上下文;由本系统在所述业务系统接口执行数据查询行为时,自动将该数据过滤条件附加到该数据查询行为中;其中,所述附加由本系统强制执行,不依赖大语言模型对数据权限的判断,且所述业务系统无需针对所述目标工具编写或改动数据权限相关的业务逻辑代码。

17、步骤 s7:调用所述目标工具对应的业务系统接口获取返回数据,并根据所述响应映射关系对所述返回数据进行解析,得到结构化数据。

18、步骤 s8:根据所述字段权限规则,对所述结构化数据进行字段级过滤;其中,所述脱敏处理根据当前调用方对应的角色动态匹配脱敏策略,对于具有完整数据权限的调用方,敏感字段按原文返回,对于权限受限的调用方,敏感字段按对应的脱敏策略进行处理。

19、步骤 s9:将处理后的数据返回给所述调用方。

20、进一步地,当所述自然语言查询请求涉及多个工具时,所述方法还包括:识别所述自然语言查询请求涉及的多个目标工具及其调用顺序,生成包含所述多个目标工具及所述多个目标工具之间参数依赖关系的调用计划;对所述调用计划中的每一个待调用工具,均执行所述步骤 s6 的数据范围表达式注入;调用第一个目标工具并获取第一返回数据;从所述第一返回数据中提取关键字段值;根据所述调用计划所确定的参数依赖关系,以所述关键字段值填充下一个待调用工具的接口参数;依次调用后续工具;将多个工具的返回数据进行整合,形成统一的查询结果返回。

21、进一步地,所述调用计划中的参数依赖关系来源于预先配置的字段级关联关系;所述字段级关联关系在所述工具的注册阶段配置,至少包括来源工具标识、来源字段名和目标工具参数名,并进一步包括值映射规则和取值转换规则中的至少一项,随所属工具的工具配置一并提交,并在所述工具经确认处于已生效状态时随之生效;在执行所述调用计划之前,对所述参数依赖关系进行校验,检查其引用的来源字段名是否存在于所述来源工具的响应映射关系中、其目标工具参数名是否存在于所述目标工具的参数结构定义中,校验不通过的终止执行且不发起对下一个待调用工具的接口调用。

22、进一步地,所述字段权限规则包括字段白名单和脱敏规则;所述字段白名单用于限定不同调用方角色可见的返回字段范围;所述脱敏规则定义至少一种脱敏策略,所述脱敏处理根据所述当前调用方对应的角色动态匹配对应的脱敏策略:对于具有完整数据权限的调用方,所述敏感字段按原文返回,对于权限受限的调用方,所述敏感字段按其所匹配的脱敏策略进行处理;所述字段权限规则根据所述当前调用方的角色信息动态匹配。

23、进一步地,所述数据范围表达式包含动态变量,所述动态变量在实际调用时被替换为当前调用方的上下文变量,所述上下文变量包括组织标识、部门标识、用户标识中的至少一项;所述数据范围表达式采用受限变量白名单进行解析,仅允许引用预先登记的变量,不解析或执行除所述预先登记的变量以外的任意脚本或表达式。

24、进一步地,如图 5 所示,所述步骤 s4 采用逐级缩小候选工具集合的多级筛选方式:第一级,规则预筛。根据预设的关键词与映射规则,对所述当前调用方被授权的工具集合进行匹配,得到第一候选工具集合;当匹配结果为空时,将所述第一候选工具集合设为所述被授权的工具集合;该级筛选不调用大语言模型,可在毫秒级完成,将候选范围由全部被授权工具缩小至数量较小的一个集合。

25、第二级,向量检索。判断所述第一候选工具集合中的工具数量是否大于预定数量阈值(如 10 个);当大于所述预定数量阈值时,对所述第一候选工具集合中的各工具分别计算所述自然语言查询请求的语义向量与各工具文字描述的语义向量之间的相似度,按相似度由高至低选取预定数量的工具,得到第二候选工具集合,并以所述第二候选工具集合作为待精确选择的候选工具集合;当所述第一候选工具集合中的工具数量不大于所述预定数量阈值时,跳过所述第二级向量检索,将所述第一候选工具集合直接作为所述待精确选择的候选工具集合;该级筛选同样不调用大语言模型,可在毫秒级完成。

26、第三级,大语言模型精确选择。将所述自然语言查询请求连同所述待精确选择的候选工具集合中各工具的文字描述与参数结构定义组织为提示词输入大语言模型,由所述大语言模型从所述待精确选择的候选工具集合中确定目标工具并生成调用计划;其中,所述提示词中仅包含所述待精确选择的候选工具集合中各工具的文字描述与参数结构定义,不包含所述被授权的工具集合中其余工具的描述,使所述大语言模型的选择范围被限定在所述待精确选择的候选工具集合之内;最后对所述调用计划进行合法性校验,校验通过后执行。

27、上述多级筛选方式具有两方面技术意义:其一,前述确定性筛选级(至少包括第一级规则预筛,且在候选工具数量较多时还包括第二级向量检索)均为不调用大语言模型的确定性筛选,因而将大语言模型的决策空间由全部被授权工具压缩至经确定性筛选后的候选集合,即便大语言模型输出有误,其可选范围亦已被限定,从而降低误选无关或未授权工具的概率;其二,由于仅将最终候选集合(即待精确选择的候选工具集合)提交大语言模型,提示词长度与推理开销显著降低,在典型配置下,大语言模型的输入长度可由万级 token降至千级 token。

28、进一步地,作为上述匹配方式的替换实施方式,所述步骤 s4 也可采用语义匹配度召回的方式且不调用大语言模型:预先对所述被授权的工具集合中各工具的文字描述计算语义向量并存入向量索引;对所述自然语言查询请求计算语义向量,通过相似度计算得到所述自然语言查询请求与各工具文字描述的语义匹配度;选取语义匹配度高于预设阈值且最高的工具作为所述目标工具;当各工具的语义匹配度均低于所述预设阈值时,返回未匹配到可用工具的提示信息,且不发起任何接口调用。上述两种匹配方式可以择一使用,也可以结合使用。

29、进一步地,所述步骤 s5 具体包括:根据所述目标工具的参数结构定义确定需提取的参数名称与类型;使用大语言模型结合所述参数结构定义进行信息抽取,仅输出符合结构的键值对;对抽取结果进行结构校验,校验不通过则拦截,不发起接口调用;当所述查询请求中未包含必要参数时,判定为参数缺失,返回要求补充的提示,不发起接口调用;其中,所述必要参数是指所述目标工具的参数结构定义中标记为必填的参数。

30、进一步地,在调用所述业务系统接口之前,还根据所述目标工具的参数规则对映射后的接口参数进行校验,其中所述参数规则包括取值范围、枚举值和必填性中的至少一项,校验不通过时终止调用并返回错误提示,不向所述业务系统接口发起请求。

31、进一步地,所述方法还包括:对每次自然语言查询请求记录原始自然语言请求内容、匹配到的目标工具、实际调用的接口参数、返回数据摘要、调用耗时和处理状态,形成可供审计的调用日志。

32、本发明还提供一种基于意图识别的企业数据服务动态组装系统,包括:工具注册模块、工具生效管理模块、接收模块、授权管理模块、工具匹配模块、参数映射模块、权限注入模块、执行模块、输出处理模块,以及多工具编排模块。

33、上述各模块可以由软件、硬件或软硬件结合的方式实现;各模块的划分是为了便于描述其各自所执行的功能,不构成对实现方式的限定,各模块在物理上可以位于同一计算设备中,也可以分布于多个计算设备中。

34、三、本发明的关键改进

35、本发明的一个关键改进在于:数据范围过滤条件并非由大语言模型生成或判断,而是在大语言模型确定目标工具后,由本系统根据调用方角色强制注入执行上下文,并在数据访问层自动追加,从而实现权限控制与智能调用的解耦,从根本上避免大语言模型调用计划不可控导致的数据越权风险。

36、(注:本句中“在数据访问层自动追加”为所述附加行为的典型实现方式之一,并非对实现层级的限定,其完整含义见下述第(3)点。)具体而言,该关键改进包含以下三层含义:(1)权限判断主体的转移。在通用函数调用技术中,调用什么工具、传什么参数、查哪些数据,均由大语言模型的输出决定,权限边界寄生于模型的判断之中。本发明将数据权限的判断与执行从大语言模型中剥离出来,交由系统依据预先配置的角色—数据范围表达式确定,大语言模型仅参与“选工具、抽参数”,不参与“定边界”。

37、(2)注入位置的不可绕过多。所述数据过滤条件并非作为普通接口参数交由业务系统自行处理,而是写入本次调用的执行上下文,由系统在所述业务系统接口执行数据查询行为时自动附加。由于其作用于数据查询行为本身,无论业务系统采用何种技术实现,均无法跳过该附加过程,也不因大语言模型输出的调用计划内容不同而改变。

38、(3)附加方式的开放性。在本发明中,“附加到数据查询行为中”泛指在数据查询过程中引入该数据过滤条件的各种实现方式,包括但不限于:在数据访问层生成数据查询语句时追加过滤条件、通过持久化框架拦截器改写查询、通过请求头或远程调用上下文透传过滤条件、以查询参数形式下传等。也就是说,该附加行为并不限定于特定的实现层级或特定的技术实现手段。

39、四、有益效果

40、与现有技术相比,本发明具有以下有益效果:(1)实现自然语言驱动下的强制权限兜底。通过在接口调用执行前,将角色对应的数据范围表达式作为数据过滤条件写入执行上下文,并由系统在所述业务系统接口执行数据查询行为时自动附加该过滤条件,使得即便大语言模型生成的调用计划越界,超范围数据也在数据查询环节被拦截。该附加过程由系统强制执行,不依赖大语言模型的判断,且业务系统无需针对具体工具编写或改动数据权限相关的业务逻辑代码即获得行级管控能力,从根本上解决了通用函数调用技术在企业数据场景下的越权风险。其中,“数据范围过滤条件不由大语言模型生成或判断,而是由系统依据调用方角色强制注入执行上下文并自动附加到数据查询行为中”构成本发明区别于公知函数调用技术的核心特征:公知技术中权限边界依附于大语言模型的输出,而本发明使权限控制与智能调用解耦,将不可信的调用意图约束在确定的数据边界之内。

41、(2)形成工具级、行级、字段级的三层管控。工具级通过角色与工具的绑定限定可调用范围;行级通过数据范围表达式限定可访问的数据行;字段级通过字段白名单与脱敏规则限定可暴露的字段,并按当前调用方角色动态匹配脱敏策略:对于具有完整数据权限的调用方,敏感字段按原文返回;对于权限受限的调用方,敏感字段按所对应的脱敏策略进行处理。三层约束相互独立又层层收窄,任一层的疏漏均不会导致整体失控。

42、其中,行级管控所依据的数据范围表达式以调用方角色为配置对象,包括角色级(工具无关,对任一被授权工具自动生效)与工具级(逐工具分别配置,仅对所关联工具生效)两种挂接方式;两种方式的权限约束均通过本系统强制注入执行,业务系统无需针对具体工具编写或改动数据权限相关的业务逻辑代码。与常规数据权限机制相比,本发明的实质性区别在于组合了两点:其一,零代码改造——常规机制(如在每个数据访问方法上逐个标注权限范围的注解/切面,或在每张数据表上单独绑定行级安全策略)需将权限范围写入业务系统代码或数据库对象,新增接口或新注册工具时必须重新编写或标注权限配置,一旦漏配即形成行级管控真空;而本发明通过中台侧强制注入,业务系统无需针对该工具编写或改动任何数据权限相关的业务逻辑代码,新增工具时无需重新配置或标注数据权限,从根本上避免了新增接口漏配权限所产生的行级管控真空;其二,随大语言模型选定的目标工具自动强制注入——权限约束作用于数据查询行为本身,与智能调用解耦,不依赖于大语言模型对数据权限的判断。由此,在角色级(工具无关)挂接方式下,本发明进一步消除了新增工具漏配权限的真空,这是逐接口/逐表配置类常规方案所不具备的;工具级(逐工具)挂接方式则作为兼容既有按接口配置权限体系的迁移路径。

43、(3)实现零代码的跨接口编排。前序工具返回结果中的关键字段按预先配置的字段级关联关系自动填充为后续工具入参,完成跨系统数据组装,无需人工开发组合接口;其中,跨系统的字段级关联关系由配置人员在工具注册阶段配置并随工具一并审核生效,不由大语言模型推断,并在执行前经校验确认,从而避免在字段命名不一致或取值域不一致的场景下因字段对应错误导致的组装失败或错误输出;且每个待调用工具均独立执行权限注入,避免编排过程中出现权限真空。

44、(4)提升工具匹配准确率并降低错误调用。通过工具的提交-审核-调优-确认机制,确保生效工具的文字描述与接口配置均经过审核把关与专业调优;通过逐级缩小候选集合的多级筛选,将大语言模型的选择范围限定在经确定性筛选后的少量相关工具之内,降低误选概率;通过参数结构定义约束抽取结果并进行结构校验,避免无效调用。

45、(5)压缩大语言模型的决策空间与推理开销。多级筛选中的确定性筛选级(至少包括规则预筛,候选数量较多时还包括向量检索)均为不调用大语言模型的确定性筛选,可在毫秒级完成,将候选工具由全部被授权工具逐级缩小至若干个最相关工具后,方提交大语言模型作最终选择。由此,一方面大语言模型的提示词长度大幅缩短,推理开销与响应时延显著下降;另一方面大语言模型的可选范围被限定,其输出不可控性所带来的影响面被限制在经确定性筛选的集合之内。

46、(6)降低接入与维护成本。工具注册由编码开发转为配置化操作,无需针对每个工具进行定制化的接口开发,显著降低了人力投入与交付周期;新增工具、调整字段权限规则或数据范围表达式均通过配置完成,无需再次改动业务系统。

47、(7)全链路可审计。记录原始请求、匹配工具、实际参数、返回摘要、耗时与状态,满足合规追溯要求。

48、(8)降低大语言模型的推理开销。在 api 调用入口下,通过缓存首次生成的调用计划,后续相同或相似意图的请求可直接复用其中的目标工具标识与调用顺序,跳过由大语言模型执行工具匹配的步骤,但仍由大语言模型依据缓存的参数映射规则完成参数映射,从而降低推理延迟、token 成本和并发压力。