应用构建方法、装置、电子设备及存储介质制造方法及图纸

技术编号:25755643 阅读:29 留言:0更新日期:2020-09-25 21:05
本申请公开了应用构建方法、装置、电子设备及存储介质,涉及人工智能领域。具体实现方案为:获取应用的服务编排文件;基于所述服务编排文件确定应用的执行程序;其中,所述服务编排文件包括针对应用拆解得到的至少一个任务所对应的以下内容至少之一:任务之间传递的数据的格式的相关信息;任务之间传递的数据的语法转换的相关信息;任务之间的逻辑处理的相关信息;任务所要使用的模型的相关信息。

【技术实现步骤摘要】
应用构建方法、装置、电子设备及存储介质
本申请涉及计算机
,尤其涉及人工智能领域。
技术介绍
人工智能系统中的业务应用,存在多种构建方式,最终大多体现为若干个独立的服务。人工智能应用的构建的处理中,由于其工程化实现往往不符合现有大数据编程范式,导致所有AI应用拆解出来的任务都是自定义任务,进而使得AI应用的编排代价较高。
技术实现思路
本公开提供了一种应用构建方法、装置、电子设备及存储介质。根据本公开的第一方面,提供了一种应用构建方法,所述方法包括:获取应用的服务编排文件;基于所述服务编排文件确定应用的执行程序;其中,所述服务编排文件包括针对应用拆解得到的至少一个任务所对应的以下内容至少之一:任务之间传递的数据的格式的相关信息;任务之间传递的数据的语法转换的相关信息;任务之间的逻辑处理的相关信息;任务所要使用的模型的相关信息。根据本公开的第二方面,提供了一种应用构建装置,所述装置包括:信息获取模块,用于获取应用的服务编排文件;处理模块,用于基于所述服务编排文件确定应用的执行程序;其中,所述服务编排文件包括针对应用拆解得到的至少一个任务所对应的以下内容至少之一:任务之间传递的数据的格式的相关信息;任务之间传递的数据的语法转换的相关信息;任务之间的逻辑处理的相关信息;任务所要使用的模型的相关信息。根据本公开的第三方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,<br>所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述方法。根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行上述方法。在本专利技术的实施例中,通过服务编排文件对应用所拆分得到的多个任务及其之间的逻辑关系、数据相关参数进行定义,从而可以保持整个工作流中的各个任务的数据处理能够互相兼容;并且由于只需要定义任务的数据相关参数以及任务的逻辑关系,就能够得到该应用的执行程序,无需应用开发者关注工程化实现,降低了AI应用的编排代价,还可以提升编排效率。应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。附图说明附图用于更好地理解本方案,不构成对本申请的限定。其中:图1是根据本申请实施例的应用构建方法流程示意图;图2是根据本申请实施例应用构建装置组成结构示意图;图3是根据本申请实施例实现应用构建方法的电子设备组成结构示意图。具体实施方式以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。本实施例提供一种应用构建方法,如图1所示,所述方法包括:S101:获取应用的服务编排文件;S102:基于所述服务编排文件确定应用的执行程序;其中,所述服务编排文件包括针对应用拆解得到的至少一个任务所对应的以下内容至少之一:任务之间传递的数据的格式的相关信息;任务之间传递的数据的语法转换的相关信息;任务之间的逻辑处理的相关信息;任务所要使用的模型的相关信息。图1中的S101中服务编码文件为基于服务编排得到的文件。服务编排指的是为了达到一个服务的逻辑目标,通常可以将其拆解为多个步骤并按照一定规则依次完成,对这一过程进行描述和执行的系统称为服务编排。服务编排中,用任务(Task)表示对单一步骤的抽象,而这些任务之间各种可能的执行规则中,上下游任务之间的依赖关系是最基础的,可以用工作流(WorkflowDAG)或线性表达来表示对整个服务的抽象。由于AI应用构建中,模型作为核心资产,其工程化实现往往不符合现有大数据编程范式,导致所有AI应用拆解出来的任务都是自定义任务,在现有系统中受益极低,多个应用即使具有相同的拆解项,也无法共享成果或降低编排代价。并且,AI应用的模型资产具有高度可复制性和可移植性,而且有较强的规范形式,例如相同的模型输入输出,或相同的机器学习/深度学习框架。基于此本申请服务编排文件中包含有任务所要使用的模型的相关信息,其中,相关信息可以包括有模型的名称和/或标识。也就是说,可以在服务编排文件中先指出应用的某一个任务所要使用的模型,但是不需要直接编码。如此,可以直接将模型作为服务编排的对象,不再对模型进行编码,从而提升模型的复用性,降低编排代价。需要理解的是,应用拆解得到的全部应用中可能仅存在部分任务需要使用模型,因此,对部分需要将模型直接作为编排对象的任务,可以在服务编排文件中描述该模型的相关信息,也就是模型的名称或标识等等。为了在服务编排文件中还可以针对编排的任务增加对应的编号,比如,可以为index、或标识等等,用于表征服务编排文件中的某一个内容所对应的具体为哪个任务。另一方面,本申请实施例中服务编排文件关注了流程控制能力,而计算任务的定义可以通过外部扩展插件机制托管给其他系统。本申请实施例采用服务编排系统进行服务编排文件的生成主要涉及以下几点:是否提供上下游任务的数据传递机制;如何根据上游任务状态和结果决定下游任务执行条件;是否提供内置任务进行类似程序逻辑的流程控制(循环、分支)。即服务编排文件通过定义任务之间的标准数据格式、以及数据变形语法,可以保持整个工作流的数据处理能够互相兼容。具体的,图1的S101中获取的服务编排文件中包含的内容,具体说明如下:所述任务之间传递的数据的格式的相关信息,包括以下至少之一:对任务的输入数据格式的定义;任务的输出数据格式的定义。任务之间的标准数据格式的相关信息可以理解为,对每一个任务的输入数据格式进行定义,每一个任务的输出数据格式进行定义;并且,相互存在依赖关系的第一任务以及第二任务中,第一任务的输出数据格式与第二任务的输入数据格式相同;其中,第二任务的输入依赖第一任务的输出。输入数据格式或输出数据格式中的数据格式,可以根据实际情况进行设置,比如,可以为整数型数据、或者浮点型数据、或者字符型数据等等,当然,还可以根据实际情况设置为其他数据格式,只是本示例中不做穷举。需要理解的是,在应用拆分得到的多个任务中的任务之间可以存在依赖关系,比如,上述拆分得到的多个任务中,可能存在任务仅有下一个任务,但是没有上一个任务,也可能存在任务有上一个任务但是没有下一个任务,也可能存在任务既有上一个任务又有下一个任务。本实施例针对多个任务中,任意存在依赖关系的两个任务,均可以理解为上述第一任务以及第二任务。举例来说,任务1、2、3、4本文档来自技高网...

【技术保护点】
1.一种应用构建方法,所述方法包括:/n获取应用的服务编排文件;/n基于所述服务编排文件确定应用的执行程序;/n其中,所述服务编排文件包括针对应用拆解得到的至少一个任务所对应的以下内容至少之一:任务之间传递的数据的格式的相关信息;任务之间传递的数据的语法转换的相关信息;任务之间的逻辑处理的相关信息;任务所要使用的模型的相关信息。/n

【技术特征摘要】
1.一种应用构建方法,所述方法包括:
获取应用的服务编排文件;
基于所述服务编排文件确定应用的执行程序;
其中,所述服务编排文件包括针对应用拆解得到的至少一个任务所对应的以下内容至少之一:任务之间传递的数据的格式的相关信息;任务之间传递的数据的语法转换的相关信息;任务之间的逻辑处理的相关信息;任务所要使用的模型的相关信息。


2.根据权利要求1所述的方法,其中,所述任务之间传递的数据的格式的相关信息,包括以下至少之一:
对任务的输入数据格式的定义;
任务的输出数据格式的定义。


3.根据权利要求2所述的方法,其中,基于所述服务编排文件确定应用的执行程序,包括以下至少之一:
基于对任务的输入数据格式的定义,确定应用中的任务的输入数据格式;
基于对任务的输出数据格式的定义,确定应用中的任务的输出数据格式。


4.根据权利要求1所述的方法,其中,所述任务之间传递的数据的语法转换的相关信息,包括以下至少之一:
对输入至第二任务的第一任务的输出数据进行调整的定义;
对输入至第二任务的第一任务的输出数据增加的预设参数的定义。


5.根据权利要求4所述的方法,其中,所述基于所述服务编排文件确定应用的执行程序,包括以下至少之一:
基于对输入至第二任务的第一任务的输出数据进行调整的定义,对应用中第一任务的输出数据进行调整,将调整后的数据作为第二任务的输入数据;
基于对输入至第二任务的第一任务的输出数据增加的预设参数的定义,将应用中第一任务的输出数据增加预设参数后,得到第二任务的输入数据。


6.根据权利要求1所述的方法,其中,所述任务之间的逻辑处理的相关信息,包括以下至少之一:
在第一任务之后执行第二任务所需要满足的预设条件;其中,所述预设条件与第一任务的状态和/或输出数据相关;
第一任务在得到输出数据后所要执行的至少一个下一个任务的定义。


7.根据权利要求6所述的方法,其中,所述基于所述服务编排文件确定应用的执行程序,包括以下至少之一:
基于在第一任务之后执行第二任务所需要满足的预设条件,对应用中的第一任务的状态和/或输出数据是否满足预设条件进行判断,基于判断结果确定是否执行第二任务;
基于第一任务在得到输出数据后所要执行的至少一个下一个任务的定义,对应用中的第一任务完成后所要执行的至少一个下一个任务进行控制。


8.一种应用构建装置,所述装置包括:
信息获取模块,用于获取应用的服务编排文件;
处理模块,用于基于所述服务编排文件确定应用的执行程序;
其中,所述服务编排文件包括针对应...

【专利技术属性】
技术研发人员:周恺巨成王倩
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1