CN111158797A - 运行人工智能应用的方法、系统及引擎装置 - Google Patents

运行人工智能应用的方法、系统及引擎装置 Download PDF

Info

Publication number
CN111158797A
CN111158797A CN201911364689.5A CN201911364689A CN111158797A CN 111158797 A CN111158797 A CN 111158797A CN 201911364689 A CN201911364689 A CN 201911364689A CN 111158797 A CN111158797 A CN 111158797A
Authority
CN
China
Prior art keywords
application
information
executable file
functional component
component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201911364689.5A
Other languages
English (en)
Inventor
李瀚�
周凯
郝玥
桂权力
孙越
赵庆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
4Paradigm Beijing Technology Co Ltd
Original Assignee
4Paradigm Beijing Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 4Paradigm Beijing Technology Co Ltd filed Critical 4Paradigm Beijing Technology Co Ltd
Priority to CN201911364689.5A priority Critical patent/CN111158797A/zh
Publication of CN111158797A publication Critical patent/CN111158797A/zh
Priority to PCT/CN2020/139466 priority patent/WO2021129812A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Abstract

本发明提供了一种运行人工智能应用的方法、系统及引擎装置,该方法包括:解析所述应用的可执行文件,其中,所述可执行文件通过基于与所述引擎装置相适配的模板文件定义所述应用得到;以及,根据所述可执行文件运行所述应用。

Description

运行人工智能应用的方法、系统及引擎装置
技术领域
本发明涉及人工智能技术领域,更具体地,涉及一种引擎装置运行人工智能应用的方法、一种引擎装置、一种包括至少一个计算装置和至少一个存储装置的设备、一种运行人工智能应用的系统、及一种可读存储介质。
背景技术
目前的人工智能(Artificial Intelligence,AI)应用构建是专家凭借自己的经验,根据场景问题定制化的完成一个应用服务的构建及上线运行,这使得构建一个AI应用至少包括:设计数据流、构建离线模型、构建在线服务等部分,这些部分通常是由多个系统联合组成,存在大量与AI应用构建相关的规则、流程定义、环境、数据等信息暴露在外部需要用户在构建应用时处理,因此,现有的应用构建难以过程方法标准化,并且也无法沉淀迁移,这就导致了任意用户要构建一个AI应用,均需要花费大量的人力和时间去解决类似的问题,难以高效复制,效率较低。因此,有必要提供一种能够将构建过程标准化的新的应用构建方法,而为了实现通过该种应用构建方法开发的应用的上线使用,则需要提供一种能够运行该种应用的新的技术方案。
发明内容
本发明的提供了一种通过引擎装置运行人工智能应用的新的技术方案。
根据本发明的第一方面,提供了一种通过引擎装置运行人工智能应用的方法,包括:
解析所述应用的可执行文件,其中,所述可执行文件通过基于与所述引擎装置相适配的模板文件定义所述应用得到;
根据所述可执行文件运行所述应用。
可选地,所述可执行文件定义有实现所述应用的方案的任务内容信息,所述根据所述可执行文件运行所述应用,包括:
根据所述任务内容信息执行所述方案包含的各任务事项,以运行所述应用。
可选地,所述可执行文件定义有实现所述应用的方案的任务内容信息,所述任务内容信息包括所述方案使用的功能组件及每一所述功能组件的运行信息;
所述根据所述可执行文件运行所述应用包括:
根据所述可执行文件调用所述功能组件以运行所述应用。
可选地,所述运行信息包括对应功能组件在所述方案中所属的运行阶段信息、对应功能组件的初始化信息、及对应功能组件的运行条件信息中的至少一项。
可选地,所述方法在根据所述可执行文件调用所述功能组件以运行所述应用之前,还包括:
根据所述可执行文件定义的每一所述功能组件的运行信息,初始化对应的功能组件;
获取并注册每一所述功能组件在完成初始化后返回的对外通信接口;
通过所述对外通信接口,将所述可执行文件定义的每一所述功能组件的组件信息推送至对应的功能组件。
可选地,所述方法在根据所述可执行文件调用所述功能组件以运行所述应用之前,还包括:
获取每一功能组件在完成初始化后返回的信息,其中,所述信息包括状态信息、运行环境上下文信息、订阅消息信息中的至少一项;
在所述引擎装置中注册所述返回的信息。
可选地,所述根据所述可执行文件调用所述功能组件以运行所述应用,包括:
根据所述可执行文件中定义的每一所述功能组件的运行条件信息,调用所述功能组件执行对应的任务以运行所述应用;或者,
获取所述可执行文件定义的每一所述功能组件在所述方案中所属的运行阶段信息;
获取预置的反映各运行阶段的运行顺序的编排信息;
根据所述运行阶段信息和所述编排信息,获得所述可执行文件定义的每一功能组件的运行条件信息;以及,
根据所述运行条件信息,调用所述功能组件执行对应的任务以运行所述应用。
可选地,所述根据所述可执行文件运行所述应用包括:
根据所述可执行文件配置的所述应用的首页界面信息,加载显示所述应用的首页界面。
可选地,所述根据所述可执行文件调用所述功能组件以运行所述应用,包括:
响应于监测到所述方案的当前运行阶段的功能组件返回的任务完成消息的事件,根据所述可执行文件检查所述当前运行阶段是否已完成;
在已完成的情况下,向所述方案的下一运行阶段的功能组件提供所述当前运行阶段的输出数据,并调用所述下一运行阶段的功能组件执行对应的任务。
可选地,所述可执行文件包括第一文件和与所述功能组件一一对应的第二文件;
所述第一文件包含定义所述方案的方案信息,所述方案信息包含所述任务内容信息;
每一所述第二文件包含定义对应功能组件的组件信息。
可选地,所述方案信息包含所述方案的基本信息、所述方案的业务信息及所述方案的运维信息,其中,所述业务信息包含所述任务内容信息。
可选地,所述业务信息还包括所述方案的入口信息和所述方案的界面信息中的至少一项。
可选地,所述基本信息包括方案名称、方案适用领域的关键词、及方案描述信息中的至少一项。
可选地,每一所述第二文件的所述组件信息包含对应功能组件的基本信息、对应功能组件的业务信息及对应功能组件的运维信息,其中,所述对应功能组件的业务信息包括对应功能组件的业务规则信息。
可选地,所述根据所述可执行文件运行所述应用包括:
根据所述可执行文件配置的所述应用的首页界面信息,加载显示所述应用的首页界面。
可选地,所述解析所述应用的可执行文件包括:
解压所述可执行文件;
按照设定的保存路径,将解压得到的所有文件保存至目录区;
所述根据所述可执行文件运行所述应用包括:
根据所述目录区的文件运行所述应用。
可选地,所述根据所述目录区的文件运行所述应用,包括:
根据所述目录区的文件初始化所述引擎装置,获得引擎实例模块;
启动所述引擎实例模块运行所述应用。
可选地,所述解析所述应用的可执行文件包括:
响应于运行所述应用的请求,解析所述应用的可执行文件,并根据所述可执行文件运行所述应用。
可选地,所述解析所述应用的可执行文件包括:
在获取到所述可执行文件后,检测所述引擎装置是否可以识别所述可执行文件;
在可以识别所述可执行文件的情况下,再执行所述根据所述可执行文件运行所述应用的操作。
根据本发明的第二方面,还提供了一种引擎装置,包括:
引擎管理模块,用于解析所述应用的可执行文件,其中,所述可执行文件通过基于与所述引擎装置相适配的模板文件定义所述应用得到;以及,
引擎执行模块,用于根据所述可执行文件运行所述应用。
可选地,所述可执行文件定义有实现所述应用的方案的任务内容信息;
所述所述引擎执行模块在根据所述可执行文件运行所述应用时,用于根据所述任务内容信息执行所述方案包含的各任务事项,以运行所述应用。
可选地,所述可执行文件定义有实现所述应用的方案的任务内容信息,所述任务内容信息包括所述方案使用的功能组件及每一所述功能组件的运行信息;
所述引擎执行模块在根据所述可执行文件运行所述应用时,用于根据所述可执行文件调用所述功能组件以运行所述应用。
可选地,所述运行信息包括对应功能组件在所述方案中所属的运行阶段信息、对应功能组件的初始化信息、及对应功能组件的运行条件信息中的至少一项。
可选地,所述引擎执行模块还用于在根据所述可执行文件调用所述功能组件以运行所述应用之前,
根据所述可执行文件定义的每一所述功能组件的运行信息,初始化对应的功能组件;
获取并注册每一所述功能组件在完成初始化后返回的对外通信接口;以及,
通过所述对外通信接口,将所述可执行文件定义的每一所述功能组件的组件信息推送至对应的功能组件。
可选地,所述引擎执行模块还用于在根据所述可执行文件调用所述功能组件以运行所述应用之前,
获取每一功能组件在完成初始化后返回的信息,其中,所述信息包括状态信息、运行环境上下文信息、订阅消息信息中的至少一项;以及,
在所述引擎执行模块中注册所述返回的信息。
可选地,所述引擎执行模块在根据所述可执行文件调用所述功能组件以运行所述应用时,用于:
根据所述可执行文件中定义的每一所述功能组件的运行条件信息,调用所述功能组件执行对应的任务以运行所述应用;或者,
所述引擎执行模块在根据所述可执行文件调用所述功能组件以运行所述应用时,用于:
获取所述可执行文件定义的每一所述功能组件在所述方案中所属的运行阶段信息;
获取预置的反映各运行阶段的运行顺序的编排信息;
根据所述运行阶段信息和所述编排信息,获得所述可执行文件定义的每一功能组件的运行条件信息;以及,
根据所述运行条件信息,调用所述功能组件执行对应的任务以运行所述应用。
可选地,所述所述引擎执行模块在在根据所述可执行文件调用所述功能组件以运行所述应用时,可以用于:
根据所述可执行文件配置的对应功能组件的运行界面信息,加载显示对应的运行界面。
可选地,所述引擎执行模块在根据所述可执行文件调用所述功能组件以运行所述应用时,用于:
响应于监测到所述方案的当前运行阶段的功能组件返回的任务完成消息的事件,根据所述可执行文件检查所述当前运行阶段是否已完成;以及,
在已完成的情况下,向所述方案的下一运行阶段的功能组件提供所述当前运行阶段的输出数据,并调用所述下一运行阶段的功能组件执行对应的任务。
可选地,所述可执行文件包括第一文件和与所述功能组件一一对应的第二文件;
所述第一文件包含定义所述方案的方案信息,所述方案信息包含所述任务内容信息;
每一所述第二文件包含定义对应功能组件的组件信息。
可选地,所述方案信息包含所述方案的基本信息、所述方案的业务信息及所述方案的运维信息,其中,所述业务信息包含所述任务内容信息。
可选地,所述业务信息还包括所述方案的入口信息和所述方案的界面信息中的至少一项。
可选地,所述基本信息包括方案名称、方案适用领域的关键词、及方案描述信息中的至少一项。
可选地,每一所述第二文件的所述组件信息包含对应功能组件的基本信息、对应功能组件的业务信息及对应功能组件的运维信息,其中,所述对应功能组件的业务信息包括对应功能组件的业务规则信息。
可选地,所述引擎执行模块在根据所述可执行文件运行所述应用时,可以用于:
根据所述可执行文件配置的所述应用的首页界面信息,加载显示所述应用的首页界面。
可选地,所述引擎管理模块在解析所述应用的可执行文件时,用于解压所述可执行文件;以及,按照设定的保存路径,将解压得到的所有文件保存至目录区;
所述引擎执行模块在根据所述可执行文件运行所述应用时,用于:根据所述目录区的文件运行所述应用。
可选地,所述引擎执行模块在根据所述目录区的文件运行所述应用时,用于:根据所述目录区的文件初始化所述引擎执行模块,获得引擎实例模块;以及,启动所述引擎实例模块运行所述应用。
可选地,所述引擎管理模块在解析所述应用的可执行文件时,用于:响应于运行所述应用的请求,获取所述应用的可执行文件,并通知所述引擎执行模块根据所述可执行文件运行所述应用。
可选地,所述引擎管理模块在解析所述应用的可执行文件时,用于:
检测是否可以识别所述可执行文件;在可以识别所述可执行文件的情况下,再通知所述引擎执行模块执行所述根据所述可执行文件运行所述应用的操作。
根据本发明的第三方面,还提供了一种包括至少一个计算装置和至少一个存储装置的设备,其中,所述至少一个存储装置用于存储指令,所述指令用于控制所述至少一个计算装置执行根据本发明的第一方面所述的方法。
根据本发明的第四方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现根据本发明的第一方面所述的方法。
根据本发明的第五方面,还提供了一种运行人工智能方案的系统,包括构建人工智能应用的装置及根据本发明的第二方面所述的引擎装置;
所述构建人工智能应用的装置用于生成人工智能应用的可执行文件;
所述引擎装置用于根据所述可执行文件运行所述应用。
可选地,所述系统还包括应用提供装置,所述构建人工智能应用的装置还用于将生成的可执行文件发布至所述应用提供装置以供下载;
所述引擎装置用于根据从所述应用提供装置下载的可执行文件运行所述应用。
可选地,所述系统还包括组件提供装置,所述组件提供装置用于提供所述可执行文件涉及的功能组件;
所述引擎装置在根据所述可执行文件运行所述应用时,用于根据所述可执行文件调用所述功能组件以运行所述应用。
在本发明的实施例中,通过引擎装置能够解析的可执行文件表达一个AI应用,并通过该引擎装置解析并运行该可执行文件,实现该应用的上线使用,本发明实施例的方法通过一种系统实现AI应用的构建和运行,无需联合多个系统实现,实现了应用构建过程及运行过程的标准化。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1是显示可用于实现本发明实施例的方法的电子设备的硬件配置的例子的框图;
图2是根据一个实施例的构建人工智能应用的系统的组成结构示意图;
图3是根据一个实施例的构建人工智能应用的方法的流程示意图;
图4是根据一个实施例的配置入口界面的界面示意图;
图5是根据一个实施例的运行人工智能应用的方法的流程示意图;
图6是根据一个实施例的引擎装置的原理框图;
图7是根据一个例子的引擎装置运行在线预估应用的运行流程示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
下面,参照附图描述根据本发明实施例的各个实施例和例子。
<硬件配置>
本发明实施例的方法可以由至少一台电子设备实施。图1示出了任意电子设备的硬件结构。图1所示的电子设备可以是便携式电脑、台式计算机、手机、平板电脑、服务器等,也可以是任意的具有处理器等计算装置和存储器等存储装置的其他设备,在此不做限定。
如图1所示,该电子设备1000可以包括处理器1100、存储器1200、接口装置1300、通信装置1400、显示装置1500、输入装置1600、扬声器1700、麦克风1800等等。其中,处理器1100用于执行计算机程序。该计算机程序可以采用比如x86、Arm、RISC、MIPS、SSE等架构的指令集编写。存储器1200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括USB接口、耳机接口等。通信装置1400例如能够进行有线或无线通信,具体地可以包括Wifi通信、蓝牙通信、2G/3G/4G/5G通信等。显示装置1500例如是液晶显示屏、触摸显示屏等。输入装置1600例如可以包括触摸屏、键盘、体感输入等。电子设备1000可以通过扬声器1700输出语音信息,及可以通过麦克风1800采集语音信息等。
图1所示的电子设备仅仅是说明性的并且决不意味着对本发明、其应用或使用的任何限制。应用于本发明的实施例中,电子设备1000的所述存储器1200用于存储指令,所述指令用于控制所述处理器1100进行操作以执行本发明任意实施例的运行人工智能应用的方法。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
在另外的实施例中,该电子设备1000也可以包括根据本发明任意实施例的引擎装置,其中,该引擎装置被设置为执行根据本发明任意实施例的运行人工智能应用的方法。
在一个实施例中,提供了一种包括至少一个计算装置和至少一个存储装置的设备,该至少一个存储装置用于存储指令,该指令用于控制该至少一个计算装置执行根据本发明任意实施例的运行人工智能应用的方法。
该设备可以包括至少一台如图1所示的电子设备1000,以提供至少一个例如是处理器的计算装置和至少一个例如是存储器的存储装置,在此不做限定。
<系统实施例>
在一个实施例中,参见图2所示,提供了一种运行人工智能方案的系统AIS,该系统AIS包括引擎装置5000和构建人工智能应用的装置4000。
本实施例中,构建人工智能应用的装置4000用于生成AI应用的可执行文件,该可执行文件具有引擎装置5000能够解析的数据结构。
本实施例中,引擎装置5000用于根据该可执行文件运行该应用。
本实施例中,由于装置4000生成的可执行文件的数据结构为引擎装置5000能够解析的数据结构,因此,引擎装置5000在接收到运行该应用的请求时,引擎装置5000便可通过解析该应用的可执行文件来运行该应用。
本实施例中,该系统AIS还可以包括专用的应用提供装置6000,该装置4000还可以用于将生成的可执行文件发布至该应用提供装置6000以供下载,而引擎装置5000则可以根据应用使用者从该应用提供装置6000下载的可执行文件运行该应用。该实施例中,应用提供装置6000相当于一个应用商店,应用使用者可以在应用提供装置6000中下载满足自身使用需求的应用的可执行文件,并启动引擎装置5000运行该应用。
本实施例中,应用开发者可以通过组件开发者预先开发的一些功能组件来编辑应用的可执行文件,因此,该系统AIS还可以包括组件提供装置7000,组件开发者在完成功能组件的开发后,可将功能组件的打包文件发送至该组件提供装置7000,以供应用开发者在通过装置4000开发AI应用时使用,因此,该组件提供装置7000用于提供可执行文件涉及的功能组件。
在该应用的可执行文件涉及功能组件的情况下,该引擎装置5000在根据该可执行文件运行该应用时,用于根据该可执行文件调用所涉及的功能组件以运行该应用。
本实施例中,该装置4000可以包括应用开发装置4000a和组件开发装置4000b。应用开发装置4000a供应用开发者构建AI应用使用。组件开发装置4000b供组件开发者开发功能组件,并将功能组件发布至组件提供装置7000,以供应用开发者开发AI应用使用及供引擎装置5000运行AI应用的可执行文件使用。
在另外的实施例中,应用开发者通过装置4000构建AI应用的可执行文件时,也可以缺省使用功能组件,在该实施例中,系统AIS也可以不具有组件提供装置7000,装置4000也可以不具有组件开发装置4000b等,在此不做限定。
任意实施例的系统AIS可以搭建在如图1所示的一台电子设备上,也可以搭建在至少两台电子设备上,例如将装置4000与引擎装置5000搭建在不同的电子设备上。而且,该系统AIS的任意装置也可以搭建在一台电子设备上,或者搭建在至少两台电子设备上,例如,将装置4000的应用开发装置4000a与组件开发装置4000b搭建在不同的电子设备上等,在此不做限定。
<构建AI应用的方法实施例>
为了便于理解本实施例的通过引擎装置5000运行人工智能应用的方法,下面先介绍在一个实施例中通过装置4000的应用开发装置4000a构建人工智能应用的方法,该应用开发装置4000a相当于一个应用编辑器,如图3所示,该方法可以包括如下步骤S3100和步骤S3200。
步骤S3100,获取针对应用配置的应用配置信息,其中,该应用配置信息包括实现该应用的人工智能方案的方案信息。
该方案信息可以包括方案的任务内容信息,该任务内容信息即指定义该方案执行的任务内容的信息。
该方案可以包括一个任务事项,也可以包括多个任务事项。该任务内容信息可以包括每一任务事项的内容信息及各个任务事项之间的关联信息。每一任务事项的内容信息即指对应任务事项本身的任务内容,而关联信息则反映各个任务事项之间的依赖关系,例如,包括反映各个任务事项之间的执行顺序等。
步骤S3200,根据通过步骤S3100获取到的应用配置信息和预置的模板文件,生成该应用的可执行文件。
本实施例中,该预置的模板文件按照引擎装置能够解析的数据结构设置各个配置项,以能够生成该应用的可被引擎装置解析的可执行文件。
该数据结构例如是符合JSON规范的数据结构等,在此不做限定。
在一个实施例中,模板文件对于其中的至少部分配置项定义有对应的默认的配置信息。该至少部分配置项可以包括对于任意应用而言可以共用配置信息的配置项。该至少部分配置项也可以包括可供应用开发者进行个性化配置的配置项。
本实施例中,对于模板文件设置的各个配置项,应用编辑器可以直接加载显示模板文件的文件内容,以供应用开发者针对需要配置的配置项填加或者修改对应的配置信息,例如,应用开发者针对需要进行个性化配置的配置项填加或者修改对应的配置信息,应用编辑器在应用开发者直接通过模板文件输入这些应用配置信息后,通过步骤S3100获取到应用开发者针对所开发的应用配置的应用配置信息。
本实施例中,对于模板文件设置的各个配置项,应用编辑器也可以提供配置接口,应用开发者可以通过配置接口输入针对所开发应用配置的配置信息,提高应用编辑器的易用性,并降低应用开发者构建AI应用的门槛。对应地,应用编辑器在步骤S3100可以获取通过提供的配置接口输入的应用配置信息。
在一个实施例中,应用编辑器可以仅针对可供应用开发者进行个性化配置的配置项提供配置接口,即,应用编辑器对外暴露的配置接口可以仅包括模板文件中的部分配置项,例如,包括可供应用开发者进行个性化配置的配置项等。
该配置接口可以包括提供勾选项(包括下拉列表)的配置项、提供输入框的配置项中的至少一项。
在一个实施例中,该方法还可以包括如下步骤:查找该模板文件是否具有对应配置接口的配置项的配置信息;及在具有该配置信息的情况下,在配置接口的对应配置项中提供对应的配置信息。本实施例中,对于配置接口中的配置项,如果所选择的模板文件中已定义有对应配置项的配置信息,则可以在配置接口的对应配置项中提供该配置信息,这样,应用开发者可以根据所构建AI应用的应用场合,选择是否需要修改配置接口中的配置项的配置信息,进一步减少构建AI应用的配置量。
在一个实施例中,该步骤S3200中根据应用配置信息和预置的模板文件,生成应用的可执行文件可以包括:根据该应用配置信息更新模板文件,生成该应用的可执行文件。该实施例中,对于模板文件中未定义默认的配置信息的配置项,可以将应用配置信息中的对应信息填写在该配置项下;对于模板文件中定义有默认的配置信息的配置项,可以用应用配置信息中的对应信息替换原有的配置信息,进而实现模板文件的更新。
在一个实施例中,该方法在生成应用的可执行文件之后,还可以包括:将可执行文件发布至应用提供装置6000以供下载。该实施例中,应用提供装置6000相对于一个应用商店,所有构建的AI应用的可执行文件均发布在该应用商店中,例如,一位应用开发者通过本实施例的方法构建了一个单表通用应用,并将该单表通用应用发布至该应用商店,另一位应用开发者通过本实施例的方法构建了一个反洗钱应用,并将该反洗钱应用也发布至该应用商店,还有一位应用开发者通过本实施例的方法构建了一个反欺诈应用,并将该反欺诈应用也发布至该应用商店等,使得该应用商店汇聚了已经构建好的各种AI应用,需要使用AI应用的应用使用者可以到应用提供装置下载所需的应用的可执行文件,以运行所需的应用。
在一个实施例中,该方法在生成应用的可执行文件之后,还可以包括:加载与模板文件相适配的引擎装置运行该可执行文件;及在运行通过的情况下,发布该可执行文件以供下载。该实施例中,通过在发布之前加载引擎装置运行该可执行文件进行验证,可以保证发布至应用提供装置的应用的可执行文件的有效性。
在一个实施例中,对于方案信息中的方案的任务内容信息,模板文件可以提供自定义任务事项及各个任务事项之间的关联信息的配置项,例如jobs配置项,应用开发者可以针对该配置项编辑自定义的配置信息,实现对于任务内容信息的表达。
在一个实施例中,为了方便构建更为复杂的AI应用,构建AI应用的装置可以提供符合引擎装置框架的要求的组件开发装置4000b,组件开发者可以通过该组件开发装置4000b预先开发一些符合引擎装置框架要求的功能组件,以供应用开发者在构建AI应用选择使用,进而生成该应用的可执行文件,及供引擎装置调用该可执行文件涉及的功能组件,以运行该可执行文件。在此,每一功能组件相当于封装好的模组,每一功能组件至少能够完成一个任务事项,应用开发者在构建AI应用时,可以通过选择所需的功能组件及配置每一功能组件的运行信息,实现对于所构建的AI应用的任务内容信息的表达,而无需自定义这些任务事项。
因此,在该实施例中,方案的任务内容信息可以包括方案使用的功能组件及每一功能组件的运行信息。该运行信息例如可以包括对应功能组件在方案中所属的运行阶段信息、对应功能组件的初始化信息、及对应功能组件的运行条件信息中的至少一项。这样,引擎装置5000在运行AI应用的可执行文件时,便可以根据该任务内容信息,按照运行信息调用相应的功能组件,以提供应用服务。通过该实施例,可以简化构建AI应用的配置,以更为简单的方式构建复杂的AI应用。
该运行阶段表示对应功能组件在所构建的AI应用中所属的任务阶段,例如包括数据模板阶段、方案生成阶段等。
该初始化信息表示对应功能组件的初始化顺序、是否初始化等。
该运行条件信息表示对应功能组件运行的条件,即,在引擎装置5000运行该可执行文件的过程中,满足该条件的情况下,再调用对应的功能组件完成对应的任务事项。
在一个实施例中,这些功能组件例如可以包括如下中的任一个或多个组件:数据预处理组件、数据拆分组件、数据合并组件、特征抽取组件、模型训练组件、模型评估组件、自学习组件、实时预估组件、及批量预估组件等。
数据预处理组件例如可以完成在输入的数据表中选取数据表、及在选取的数据表中选取数据的任务事项。数据合并组件例如可以完成将选取出来的数据表合并为一个数据表的任务事项。数据拆分组件例如可以完成将数据拆分为训练数据和验证数据的任务事项。特征抽取组件例如可以完成从数据中提取设定模型训练或者模型预测所需的特征的任务事项。模型训练组件例如可以完成基于指定的算法进行模型训练的任务事项,例如二分类算法。模型评估组件例如可以完成通过验证数据对训练得到的模型进行评估,并给出设定的模型指标的任务事项。实时预估组件例如可以完成通过模型对输入的数据进行实时预测的任务事项。批量预估组件例如可以完成通过模型对输入的数据进行批量预测的任务事项。自学习组件例如可以完成通过新产生的数据继续训练在先的模型以实现模型更新的任务事项。
为了提供可供应用开发者使用的功能组件,该装置4000还可以提供组件开发装置4000b,以供组件开发者开发功能组件使用,在此,通过组件开发装置4000b生成功能组件可以包括如下步骤S4100~S4400:
步骤S4100,提供功能组件开发模板。
本实施例中,该组件开发装置4000b基于引擎装置5000的架构,提供能够被引擎装置5000解析的功能组件开发模板,组件开发者利用这些功能组件开发模板,便可实现能够完成某一或者某些任务事项的功能组件。
本实施例中,组件开发者可以通过功能组件开发模板定义功能组件信息,该功能组件信息包括对应功能组件的功能实现信息,即,对应功能组件的实现代码。
该功能组件信息还可以包括针对对应功能组件编写的makefile文件等。
本实施例中,组件开发者还可以通过功能组件开发模板定义有关配置功能组件的信息,以供生成组件配置模板,这样,应用开发者在通过应用编辑器构建AI应用时,便可利用该组件配置模板进行所选择的功能组件的配置,以使得所选择的功能组件能够按照应用开发者的配置在所构建的应用中发挥作用。
该有关配置功能组件的信息例如可以包括对应功能组件的名称、对应功能组件的版本、对应功能组件的后端镜像、对应功能组件的前端UI包、对应功能组件的命令行界面(command-line interface,CLI)等。在此,该功能组件相当于运行在引擎装置中的一个服务,是一个按约定规则组织的微服务,包括后端的微服务镜像,功能组件运行UI,功能组件配置自定义UI,功能组件的sdk/cli包等。
该有关配置功能组件的信息可以包括对于对应功能组件进行配置的配置信息,也可以包括对于对应功能组件设置配置项的信息。
步骤S4200,获取根据功能组件开发模板定义的功能组件信息和功能组件配置信息。
步骤S4300,打包包含该功能组件信息的文件,生成对应功能组件。
本实施例中,打包的文件可以包括一份文件,也可以包括多份文件,以通过这些文件定义对应的功能组件。
组件开发装置4000b可以提供用于触发打包命令的操作接口,组件开发者可以通过该操作接口触发打包请求,组件开发装置4000b根据该请求执行该打包操作。
步骤S4400,根据有关配置功能组件的信息,生成对应功能组件的组件配置模板。
本实施例中,组件开发装置4000b可以根据对于组件配置模板的数据结构的要求,利用获取到的有关配置功能组件的信息,设置对于该功能组件的配置项及对于至少部分配置项设置默认的配置信息,以生成对应功能组件的组件配置模板。因此,生成的组件配置模板包含对应功能组件的各个配置项,并针对至少部分配置项定义有默认的配置信息。
应用开发装置4000a通过加载生成的组件配置模板,便可供应用开发者在构建AI应用时针对所选择的功能组件,进行个性化配置。
在一个实施例中,该构建AI应用的方法还可以包括:在生成对应功能组件及其组件配置模板后,将对应功能组件及其组件配置模板上传至组件库,并在组件库注册对应功能组件。
该组件库为组件提供装置7000存储对应功能组件和对应功能组件的组件配置模板的数据库。
本实施例中,组件开发装置4000b可以提供用于触发发布命令的操作接口,组件开发者可以通过该操作接口触发发布请求,组件开发装置4000b根据该请求执行该发布操作。
本实施例中,组件开发装置4000b也可以在基于打包请求生成对应功能组件及其组件配置模板后,自动触发将对应功能组件及其组件配置模板上传至组件库的操作。
根据该实施例,组件开发者在将开发的功能组件注册至组件库之后,应用开发装置4000a便可以从组件库调取到该功能组件以供应用开发者选择及配置,进而实现AI应用的构建。
基于组件开发者开发的各种功能组件,在一个实施例中,应用开发者可以通过配置应用方案使用的功能组件及每一功能组件的运行信息,实现对于方案信息中的任务内容信息的配置。因此,该实施例中,方案信息中的任务内容信息可以包括该方案使用的功能组件及每一功能组件的运行信息。
该实施例中,该应用配置信息除了方案信息之外,还可以包括分别针对每一功能组件配置的组件配置信息。该组件配置信息例如是应用开发者基于所选择的功能组件的组件配置模板配置的组件配置信息。这样,引擎装置在运行可执行文件时,可以通过方案信息获知方案使用的功能组件及每一功能组件的运行信息,及通过方案使用的每一功能组件的组件配置信息,获知对应功能组件在该应用中的作用方式,并将组件配置信息传递至对应的功能组件,以使得引擎装置在调用该功能组件运行该AI应用时,该功能组件能够按照所配置的作用方式完成对应的任务事项。
在一个实施例中,关于通过步骤S3100获取到的应用配置信息中的方案信息,其可以包括该方案的基本信息,该基本信息包括方案名称、方案适用领域的关键词、及方案描述信息中的至少一项。这样,应用使用者便可以根据该方案的基本信息,了解对应AI应用的适用场合,并根据该基本信息在应用商店中选择所需的AI应用的可执行文件使用。该实施例中,应用编辑器可以在配置接口中提供基本信息配置项,以供应用开发者通过该配置接口输入方案的基本信息。
在一个实施例中,步骤S3200中使用的预置的模板文件可以包括对应方案信息的方案模板文件,应用编辑器可以根据方案模板文件中的配置项设置配置接口,以允许应用开发者通过配置接口针对方案模板文件中的至少配置项进行配置,以形成方案信息。
在一个实施例中,该方案模板文件可以包括方案的基本信息配置项、方案的业务信息配置项、及方案的运维信息配置项。
本实施例中,方案信息中的任务内容信息属于该业务信息,即任务内容信息是针对业务信息配置项进行配置而形成的信息。
本实施例中,在任务内容信息包括方案使用的功能组件及每一功能组件的运行信息的情况下,该业务信息还可以包括各个功能组件的公共配置信息。这样,便可以通过公共配置信息配置项的部分,配置适用于所选择的每一功能组件的配置信息,提高方案模板文件的可读性。
该公共配置信息例如可以包括公共的数据字典、公开的系统参数及公共的初始化信息中至少一项。
该公共的数据字典例如可以包括标识key、数值value的配置信息,也可以包含引擎装置运行的一些公共规则定义等。
本实施例中,该业务信息还可以包括该方案的入口信息和该方案的界面信息中的至少一项。通过入口信息配置项可以配置引擎装置运行对应AI应用时进入的应用首页界面,该应用首页界面可以配置为是引擎装置默认的界面,也可以配置为是某一个功能组件的首页界面等,该配置可以通过设置首页路径进行,因此,该入口信息配置项可以为首页路径配置项。通过界面信息配置项可以配置界面的显示内容及布局结构等,例如可以通过界面信息配置项定义界面的视图、报表、以及对于商业智能仪表盘(business intelligencedashboard,BI dashboard)的设置及展示等。
本实施例中,基本信息可以包括方案名称、方案适用领域的关键词、及方案描述信息中的至少一项。在此,通过步骤S3100获取到的方案信息中的方案的基本信息即是针对基本信息配置项进行配置而形成的信息。
本实施例中,运维信息可以包括运行方式信息和运行资源信息等。例如,可以通过运维信息配置项配置对应AI应用的运行方式,及运行对应AI应用所需的CPU资源等。
在一个实施例中,应用编辑器可以提供两种类型的模板文件,一种是体现方案信息的上述方案模板文件,另一种是体现组件配置信息的组件模板文件,该组件模板文件由组件开发者在开发对应功能组件时声明,即,各个功能组件具有与各自相对应的组件模板文件。
该实施例中,应用开发者例如通过配置接口配置的应用配置信息包括对于方案模板文件中的配置项进行配置的方案信息,及对于所选择的功能组件的组件模板文件中的配置项进行配置的组件配置信息。
该实施例中,应用编辑器提供的配置接口可以包括对应方案模板文件中的至少部分配置项的配置接口、及对应每一组件模板文件中的至少部分配置项的配置接口。
与上述方案模板文件相类似,组件模板文件可以包括对应组件的基本信息配置项、对应组件的业务信息配置项、及对应组件的运维信息配置项。
该组件的业务信息包括对应组件的运行规则信息等,以通过业务信息反映对应功能组件在方案中的作用方式。该组件的业务信息还可以包括上下文声明信息和消息声明信息中的至少一项,以实现对于执行环境、消息传递等的定义。
该组件的基本信息可以包括对应功能组件的版本、对应功能组件的创建者、对应功能组件的唯一标识、对应功能组件的名称、及对应功能组件所在的数据组中的至少一项。
该组件模板文件还可以包括配置界面信息,以通过配置界面信息自定义对应功能组件的配置界面,使得应用开发者可以通过组件模板文件定义的配置界面输入组件配置信息,以实现对于对应组件模板文件的配置。
该配置界面信息可以是配置界面的界面内容,也可以是配置界面包的加载路径。这样,应用编辑器便可以根据组件模板文件中的配置界面信息渲染相应的配置界面,以供应用开发者配置。
在一个实施例中,该构建AI应用的方法可以包括:响应于配置方案信息的操作,加载应用编辑器设置的方案配置界面,并在方案配置界面上提供用于配置方案模板文件中的至少部分配置项的配置接口。
在一个实施例中,该构建AI应用的方法还可以包括:响应于定义方案信息中的任务内容信息的操作,加载功能组件库中的功能组件的列表项;及检测对该列表项进行的编辑操作,获得该方案使用的功能组件及每一功能组件的运行信息。
该实施例中,功能组件通过注册至组件库,应用编辑器便可以加载到组件库中具有的所有功能组件,并在应用开发者触发定义任务内容信息的操作时,这可以是触发编辑功能组件的操作时,提供这些功能组件的列表项,即,每一列表项对应一个功能组件,该列表项上可以显示该功能组件的至少部分基本信息,以供应用开发者根据列表项上显示的内容选择所需的功能组件。
该编辑操作例如可以包括选择操作和移位操作等。在此,通过检测应用开发者对列表项进行的选择操作,可以获得该方案使用的功能组件,及通过检测应用开发者对列表项进行的移位操作,例如上移、下移等操作,可以获得各功能组件的初始化顺序等。
在一个实施例中,该构建AI应用的方法可以包括:响应于配置所选择的功能组件的操作,解析对应功能组件的组件模板文件;及在该组件模板文件定义有配置界面信息的情况下,根据该配置界面信息渲染对应功能组件的配置界面。这样,应用开发者便可以选择通过功能组件自定义的配置界面完成对于对应组件模板文件的配置。
在通过组件模板文件进行对应功能组件的配置的例子中,配置功能组件也即为配置功能组件的组件模板文件。
在一个实施例中,该构建AI应用的方法可以包括:响应于配置所选择的功能组件的操作,加载对应功能组件的组件模板文件的文件内容以供配置。该实施例中,应用开发者可以选择直接在组件模板文件上,为需要针对所构建的AI应用进行个性化配置的配置项填写或者修改对应的配置信息。
在一个实施例中,应用编辑器可以提供多种配置功能组件的方式,例如通过功能组件自定义的配置界面进行配置,直接通过功能组件模板进行配置,及通过应用编辑器默认的组件配置界面进行配置等。
该实施例中,该构建AI应用的方法还可以包括:响应于配置所选择的功能组件的操作,提供配置入口界面,其中,该配置入口界面包括第一配置入口和第二配置入口,其中,第一配置入口为选择加载对应功能组件的组件模板文件定义的配置界面以进行配置的入口,第二配置入口为选择加载对应功能组件的组件模板文件的文件内容以进行配置的入口。
该实施例中,该配置入口界面还可以包括其他配置入口,例如,通过应用编辑器默认的组件配置界面进行配置的入口等,在此不做限定。
例如,如图4所示,在例子中,配置入口界面提供三个配置入口,分别为“原始文件”配置入口、“官方UI”配置入口和“标准UI”配置入口。该例子中,“官方UI”配置入口对应第一配置入口,应用编辑器在检测到应用开发者点击该“官方UI”的选项的情况下,便会加载对应功能组件的组件模板文件定义的配置界面,以供应用开发者进行对应功能组件的配置。该例子中,“原始文件”配置入口对应第二配置入口,如图4所示,应用开发者点击了该“原始文件”选项,因此,应用编辑器在下方加载了对应功能组件的模板文件的文件内容,应该开发者可以直接在针对编辑该文件内容,以实现对于对应功能组件的额配置。该例子中,“标准UI”为选择通过应用编辑器默认的组件配置界面进行配置的入口,应用编辑器在检测到应用开发者选择该“标准UI”的选项后,便会加载该默认的组件配置界面。
在一个实施例中,可以在应用编辑器记载的功能组件的列表项上提供用于触发配置对应功能组件的操作的操作接口。该操作接口例如是列表项本身,应用开发者可以通过点击该列表项触发配置对应功能组件的操作。该操作接口例如也可以是设置在该列表项上的一个接口,应用开发者可以通过点击列表项上的该接口,触发配置对应功能组件的操作。
继续以图4为例,应用编辑器可以在编辑界面的流程编排区域显示应用开发者选择的功能组件的列表项,例如,显示数据处理组件的列表项和模型训练组件的列表项,应用开发者可以通过点击“数据处理组件”的列表项,触发配置该数据处理组件的操作,这样,应用编辑器便会在流程编排区域的右侧提供该数据处理组件的配置入口界面。
在预置的模板文件包括方案模板文件和组件模板文件的实施例中,上述步骤S3200中根据应用配置信息和预置的模板文件,生成应用的可执行文件,可以包括如下步骤S3210~S3230:
步骤S3210,根据方案信息和方案模板文件,生成定义该方案的第一文件。
该第一文件例如可以是.yaml格式的文件。
该方案信息包括对于方案模板文件中至少部分配置项的配置信息,该步骤S3210可以包括将这些配置信息填写至方案模板文件的对应配置项下,和/或,利用这些配置信息替换方案模板文件的对应配置项的已有配置信息。
步骤S3220,针对每一功能组件,根据对应功能组件的组件配置信息和对应功能组件的组件模板文件,生成定义对应功能组件的第二文件。
该第二文件例如可以是.yaml格式的文件。
本实施例中,将针对所选择的每一功能组件,均生成对应的第二文件。例如,应用开发者选择了三个功能组件,则将生成三个第二文件。
该组件配置信息包括对于对应组件模板文件中至少部分配置项的配置信息,该步骤S3220可以包括将这些配置信息填写至对应组件模板文件的对应配置项下,和/或,利用这些配置信息替换对应组件模板文件的对应配置项的已有配置信息。
步骤S3230,打包该第一文件和每一第二文件,生成所构建应用的可执行文件。
本实施例中,该可执行文件为压缩基于方案模板文件生成的第一文件,及基于所选择的功能组件的组件模板文件生成的第二文件,而形成的打包文件,即,所生成的可执行文件包括一份第一文件和至少一份第二文件,第二文件与第一文件中涉及的功能组件一一对应。
以下是根据一个例子的方案模板文件的文件内容或者基于方案模板文件生成的第一文件的文件内容:
Figure BDA0002338106160000151
Figure BDA0002338106160000161
以下是根据一个例子的一组件模板文件的文件内容或者基于一组件模板文件生成的第二文件的文件内容:
Figure BDA0002338106160000162
Figure BDA0002338106160000171
<运行AI应用的方法实施例>
根据以上构建AI应用的方法实施例可知,通过装置4000a可以构建出AI应用的可执行文件,该可执行文件具有引擎装置5000能够解析的数据结构,因此,可以通过引擎装置5000运行该可执行文件,以实现该AI应用的上线使用。
图5示出了一个实施例中通过引擎装置5000运行AI应用的方法的流程图,该方法可以包括如下步骤S5100和S5200:
步骤S5100,解析AI应用的可执行文件,其中,该可执行文件通过基于与引擎装置5000相适配的模板文件定义该应用得到。
本实施例中,该可执行文件可以通过以上任意的构建AI应用的方法实施例定义该AI应用得到,在此不再赘述。
该可执行文件可以仅包括第一文件。该第一文件包含定义实现该AI应用的方案的方案信息,该方案信息包含任务内容信息等,具体可参见上述的构建AI应用的方法实施例,在此不做赘述。
该可执行文件也可以包括第一文件及与第一文件中涉及的功能组件一一对应的第二文件。每一第二文件包含定义对应功能组件的组件信息(即功能组件信息),具体可参见上述的构建AI应用的方法实施例,在此不做赘述。
该可执行文件可以是压缩所包含的各文件所得到的一压缩文件。因此,在一个实施例中,该步骤S5100中解析AI应用的可执行文件可以包括:解压该可执行文件;以及,按照设定的保存路径,将解压得到的所有文件保存至目录区。
例如,可执行文件包括第一文件和至少一个第二文件的压缩文件,因此,在解析该可执行文件时,可以先解压该可执行文件得到第一文件和至少一个第二文件,并将这些文件保存至目录区,以供引擎装置5000读取。
该设定的保存路径是引擎装置5000默认的保存路径。
在一个实施例中,该步骤S5100中解析AI应用的可执行文件可以包括:响应于运行该应用的请求,解析该应用的可执行文件,以根据该可执行文件运行所述应用。
该请求可以由应用使用者触发,引擎装置接收到该请求之后,便会解析该请求对应的AI应用的可执行文件,以运行该应用。
在一个实施例中,该步骤S5100中解析AI应用的可执行文件可以包括:在获取到可执行文件后,检测是否可以识别该可执行文件;并在可以识别该可执行文件的情况下,再解压该可执行文件,以执行后续步骤S5200。
该实施例中,检测是否可以识别该可执行文件例如可以包括:引擎装置在模板文件的备案数据中查找该可执行文件使用的模板文件的版本号,如果查找到该版本号,则说明该可执行文件使用引擎装置5000能够识别的模板文件生成,则检测结果为引擎装置能够识别该可执行文件。
步骤S5200,根据该可执行文件运行该应用。
在一个实施例中,引擎装置5000将解压该可执行文件得到的所有文件均保存在临时的目录区,引擎装置在该步骤S5200可以根据目录区中的文件运行该应用。
在一个实施例中,引擎装置5000在根据该可执行文件运行该应用时,可以根据可执行文件中配置的该应用的首页界面信息,加载显示该应用的首页界面。该首页界面信息例如为第一文件中业务信息配置项下的配置信息。
在一个实施例中,引擎装置5000根据目录区的文件运行该应用可以包括:根据目录区的文件初始化该引擎装置,获得引擎实例模块;以及,启动该引擎实例模块运行该应用。
该实施例中,引擎装置5000是能够运行各种AI应用的通用装置,引擎装置5000具有用于根据可执行文件运行应用的通用配置,但是,由于不同的AI应用可能具有各自的运行需求,因此,引擎装置5000在需要运行一个AI应用时,可以根据目录区的文件(例如包括第一文件和第二文件)中的各配置项的配置信息进行初始化,使得该引擎装置5000形成能够专用于运行该AI应用的引擎实例模块(Engine Core-Instance,ECI),并通过该引擎实例模块运行该AI应用,即由引擎实例模块执行以下步骤S5200。
该实施例中,引擎实例模块的配置信息例如即为第一文件中的运维信息配置项的配置信息。这样,引擎装置5000经过该初始化形成的引擎实例模块便具有运行对应的AI应用的能力。
在一个实施例中,该可执行文件定义有实现对应应用的方案的任务内容信息,这样,该步骤S5200中根据该可执行文件运行该应用可以包括:根据该任务内容信息执行方案包含的各任务事项,以运行该应用。
该实施例中,在可执行文件通过模板文件中的自定义任务事项及各个任务事项之间的关联信息的配置项,例如jobs配置项,来表达任务内容信息的情况下,该引擎装置可以根据该配置项的配置信息执行各任务事项,以运行该应用。
该实施例中,可执行文件也可以通过功能组件表达该任务内容信息,即,该任务内容信息包括该方案使用的功能组件及每一功能组件的运行信息;这样,该引擎装置在根据可执行文件运行该应用时,可以根据该可执行文件调用功能组件以运行该应用。
如在构建AI应用的方法实施例中所述,该运行信息例如可以包括对应功能组件在所述方案中所属的运行阶段信息、对应功能组件的初始化信息、及对应功能组件的运行条件信息中的至少一项。
在一个实施例中,为了使得该可执行文件涉及的功能组件,在被引擎装置5000调用时能够按照所配置的方式起作用,该方法在根据该可执行文件调用功能组件以运行该应用之前,还可以包括如下步骤:根据可执行文件定义的每一功能组件的运行信息,初始化对应的功能组件;获取并注册每一功能组件在完成初始化后返回的对外通信接口;通过该对外通信接口,将可执行文件定义的每一功能组件的组件信息推送至对应的功能组件。
该实施例中,引擎装置5000例如根据第一文件对于业务信息配置项businessSetting下的功能组件配置项scComponents的配置信息,进行功能组件的初始化,其中,该功能组件配置项scComponents的配置信息即包括对应方案所使用的功能组件及对应功能组件的运行信息。
该实施例中,该功能组件的运行信息包括初始化信息,该初始化信息反映对应功能组件是否需要初始化及初始化顺序等,引擎装置5000可以根据由功能组件的初始化信息决定的初始化顺序,顺序初始化各功能组件,以完成各功能组件的启动,对于无需执行初始化的功能组件,则在初始化阶段跳过不启动,而是在检测到对应的运行条件后,再启动对应的功能组件。
该实施例中,这些功能组件在完成初始化后会向引擎装置5000返回自身的对外通信接口,以使得引擎装置5000能够通过该对外通信接口将可执行文件中定义的对应功能组件的组件信息推送至对应的功能组件,以完成对应功能组件对于该AI应用的配置,进而使得该功能组件能够在引擎装置5000运行该应用中,以可执行文件配置的方式完成对应的任务事项。该实施例中,例如将第二文件中定义的功能组件信息推送至对应的功能组件,以完成对应功能组件对于该应用的配置。
引擎装置5000在进行各功能组件的初始化过程中,将自身的状态设置为“正在启动中”,在完成各功能组件的初始化后,将自身的状态设置为“运行中”,如果各功能组件的初始化出现异常,则将自身的状态设置为“异常”。
在一个实施例中,该方法在根据该可执行文件调用功能组件以运行该应用之前,还可以包括如下步骤:获取每一功能组件在完成初始化后返回的信息,该信息包括状态信息、运行环境上下文信息、订阅消息信息中的至少一项,该状态信息可以包括启动状态信息和运行状态信息等;以及,在引擎装置5000中注册该返回的信息。该实施例中,引擎装置5000注册该信息后,可以通过这些信息控制对应功能组件的表现行为等。
在一个实施例中,该引擎装置5000根据可执行文件调用功能组件以运行该应用时,可以包括:根据可执行文件中定义的每一功能组件的运行条件信息,调用功能组件执行对应的任务以运行该应用。
该实施例中,例如可以在可执行文件的第一文件中配置所需使用的功能组件的运行条件信息,例如,该第一文件的业务信息配置项下的功能组件配置项配置了三个功能组件,并配置了三个功能组件的运行条件信息为:在第一个功能组件执行完对应的任务后,第二个功能组件基于第一个功能组件的输出数据执行对应的任务,而第三个功能组件则基于第二个功能组件的输出数据执行对应的任务,对此,引擎装置可以根据第一文件中配置的该运行条件信息调用这三个功能组件执行对应的任务以运行该应用。
在一个实施例中,该可执行文件中配置的运行信息也可以不包括上述运行条件信息,而仅包括运行阶段信息、初始化信息等。该实施例中,引擎装置5000可以预置AI应用的常用运行阶段的运行顺序,这样,在可执行文件配置的运行信息包括运行阶段信息的情况下,引擎装置5000便可以根据预置的不同运行阶段的运行顺序来调用各功能组件执行对应的任务,这有利于减少构建AI应用所需配置的配置信息。
该实施例中,该引擎装置5000根据可执行文件调用功能组件以运行该应用时,可以包括如下步骤S5211~S5214:
步骤S5211,获取可执行文件定义的每一功能组件在方案中所属的运行阶段信息。
该运行阶段信息例如为第一文件的功能组件配置项scComponents下的配置信息。
步骤S5212,获取预置的反映各运行阶段的运行顺序的编排信息。
例如AI应用通常包括数据处理阶段、模型调研阶段、模型预测阶段、自学习阶段等,在任意的AI应用中,这些运行阶段的运行顺序基本是可以确定的,例如,模型调研阶段的运行顺序排在数据处理阶段的后面,模型预测阶段排在模型调研阶段的后面,自学习阶段排在模型预测阶段的后面等,因此,根据不同运行阶段可能的运行顺序关系,可以获得关于各运行阶段的运行顺序的编排信息,根据该编排信息便可以确定所要运行的应用涉及的这些功能组件间的运行顺序关系,进而获得这些功能组件的运行条件信息。
步骤S5213,根据运行阶段信息和该编排信息,获得可执行文件定义的每一功能组件的运行条件信息。
步骤S5214,根据该运行条件信息,调用功能组件执行对应的任务以运行该应用。
该实施例中,在可执行文件定义有功能组件的运行阶段信息的情况下,引擎装置5000可以根据该运行阶段信息及预置的编排信息确定各功能组件的运行条件信息,而无需要求应用开发人员必须在构建AI应用时配置该运行条件信息,提高了系统AIS的易用性。
在一个实施例中,该引擎装置5000在根据可执行文件调用功能组件以运行该应用时,还可以包括:根据可执行文件配置的对应功能组件的运行界面信息,加载显示对应的运行界面。例如,可以在配置功能组件的第二文件中配置该运行界面信息。通过该运行界面,应用使用者可以看到对应功能组件的运行情况,并通过该运行界面提供的入口和/或接口查询相关信息、状态、数据等。
在一个实施例中,该引擎装置5000根据可执行文件调用功能组件以运行该应用时,可以包括如下步骤S5221~S5222:
步骤S5221,响应于监测到该方案的当前运行阶段的功能组件返回的任务完成消息的事件,根据该可执行文件检查当前运行阶段是否已完成。
本实施例中,功能组件在执行完对应的任务后,会向引擎装置返回任务完成消息,引擎装置在接收到该任务完成消息后,响应于接收到该任务完成消息的事件,可以根据可执行文件中配置的功能组件的运行阶段信息,检查当前运行阶段的所有功能组件是否均已返回任何完成消息,如是,则说明当前运行阶段已经完成,如否,则说明当前运行阶段仍在运行。
步骤S5222,在已完成的情况下,向该方案的下一运行阶段的功能组件提供当前运行阶段的输出数据,并调用下一运行阶段的功能组件执行对应的任务。
<引擎装置实施例>
在一个实施例中,还提供了一种引擎装置5000,如图6所示,该引擎装置5000包括引擎管理(Engine Mangager)模块5100和引擎执行(Engine Core)模块5200。
该引擎管理模块5100用于解析AI应用的可执行文件,其中,该可执行文件通过基于与引擎装置5000相适配的模板文件定义该应用得到。
该模板文件例如包括方案模板文件和组件模板文件。
该引擎执行模块5200用于根据该可执行文件运行该应用。
在一个实施例中,该引擎执行模块5200在根据该可执行文件运行该应用时,可以用于:根据可执行文件中配置的该应用的首页界面信息,加载显示该应用的首页界面。该首页界面信息例如为第一文件中业务信息配置项下的配置信息。
在一个实施例中,如图6所示,该引擎执行模块5200例如可以包括流程协调模块(Process Cooudinator)5201、组件生命周期(Component LifeCycle)管理模块5202、消息(Message)管理模块5203、运行环境上下文(Context)管理模块5204、切入点(EntryPoint)管理模块5205、运维横向支持(Ops Support)模块5206、业务横向支持(Business Support)模块5207和路由(Router)模块5208。
组件生命周期管理模块5202可以用于负责处理功能组件的启动、停止、及更新、监控等全生命周期的管理控制。流程协调模块5201可以用于根据预置的各运行阶段的编排信息,进行各运行阶段迁移的变换过程,协调各功能组件有序工作。切入点管理模块5205可以用于进行内置切入点(service Component,task Component),及自定义切入点的管理、触发、运行等。消息管理模块5203可以用于进行引擎装置5000的内部消息管理,提供订阅(Topic-Subscribe)模式。运行环境上下文管理模块5204可以用于进行引擎装置5000的全生命周期的内置变量、及公共信息存储和交换。运维横向支持模块5206可以用于进行引擎装置5000及功能组件的运维相关公共能力支援,如Log,监控,tracing等数据收集和分析。业务横向支持模块5207可以用于进行引擎装置5000及功能组件业务相关的公共能力支援,如一致性,效果,性能,效率分析等。路由模块5208可以用于进行引擎装置5000的框架到功能组件的view、api、cli等的转发及代理,但并不负责功能组件对外端口暴露的服务转发。
在一个实施例中,该可执行文件可以包括第一文件和与所使用的功能组件一一对应的第二文件;该第一文件包含定义方案的方案信息,该方案信息包含任务内容信息;每一第二文件包含定义对应功能组件的组件信息。
在一个实施例中,该方案信息包含方案的基本信息、方案的业务信息及方案的运维信息,其中,业务信息包含任务内容信息。
在一个实施例中,该方案的业务信息还可以包括方案的入口信息和方案的界面信息中的至少一项。
在一个实施例中,该方案的基本信息可以包括方案名称、方案适用领域的关键词、及方案描述信息中的至少一项。
在一个实施例中,每一第二文件的组件信息可以包含对应功能组件的基本信息、对应功能组件的业务信息及对应功能组件的运维信息,其中,所述对应功能组件的业务信息包括对应功能组件的业务规则信息等。
在一个实施例中,该引擎管理模块5100在解析该应用的可执行文件时,可以用于:解压该可执行文件;以及,按照设定的保存路径,将解压得到的所有文件保存至目录区。该引擎执行模块5200在根据可执行文件运行该应用时,可以用于:根据目录区的文件运行该应用。
例如,该引擎管理模块5100可以包括文件解析模块(AsolExpl)5101,引擎管理模块5100可以通过该文件解析模块5101解析可执行文件。
在一个实施例中,该引擎执行模块5200在根据目录区的文件运行该应用时,可以用于:根据目录区的文件初始化引擎执行模块5200,包括初始化引擎执行模块5200的各组成部分,获得引擎实例模块5200',即使得该引擎执行模块成为专用于运行该应用的引擎实例模块5200';以及,启动该引擎实例模块5200'以运行该应用。
在一个实施例中,该引擎管理模块5100在解析该应用的可执行文件时,可以用于:响应于运行该应用的请求,获取该应用的可执行文件,并通知引擎执行模块5200根据该可执行文件运行该应用。
在一个实施例中,该引擎管理模块5100在解析该应用的可执行文件时,可以用于:检测是否可以识别该可执行文件;在可以识别该可执行文件的情况下,再通知引擎执行模块5200执行根据该可执行文件运行该应用的操作。
在一个实施例中,该可执行文件定义有实现该应用的方案的任务内容信息。该实施例中,该引擎执行模块5200在根据该可执行文件运行应用时,可以用于根据该任务内容信息执行方案包含的各任务事项,以运行该应用。
在一个实施例中,该可执行文件定义有实现该应用的方案的任务内容信息,该任务内容信息包括方案使用的功能组件及每一功能组件的运行信息。该实施例中,该引擎执行模块5200在根据该可执行文件运行该应用时,可以用于根据该可执行文件调用所使用的功能组件以运行该应用。该实施例中,例如可以由引擎执行模块5200的流程协调模块5201根据该可执行文件调用所使用的功能组件完成对应的任务事项,以运行该应用。
在一个实施例中,该运行信息包括对应功能组件在该方案中所属的运行阶段信息、对应功能组件的初始化信息、及对应功能组件的运行条件信息中的至少一项。该实施例中,引擎执行模块5200可以根据该可执行文件的运行信息启动(或者称初始化)所使用的功能组件,以运行该应用。该实施例中,例如可以由引擎执行模块5200的组件生命周期管理模块5202根据该运行信息启动所使用的功能组件等。
在一个实施例中,该引擎执行模块5200还用于在根据可执行文件调用功能组件以运行该应用之前:根据可执行文件定义的每一功能组件的运行信息,初始化对应的功能组件;获取并注册每一功能组件在完成初始化后返回的对外通信接口;以及,通过对外通信接口,将可执行文件定义的每一功能组件的组件信息推送至对应的功能组件。该实施例中,例如可以由引擎执行模块5200的组件生命周期管理模块5202执行相关操作。
在一个实施例中,该引擎执行模块5200还用于在根据可执行文件调用功能组件以运行该应用之前:获取每一功能组件在完成初始化后返回的状态信息、运行环境上下文信息、及订阅消息信息中的至少一项;以及,在引擎执行模块5200中注册该功能组件返回的信息。该实施例中,引擎执行模块5200例如可以在运行该应用的过程中,根据这些信息控制对应功能组件的表现行为等,例如,订阅相关消息、定期检查公共上下文信息等。该实施例中,例如可以由引擎执行模块5200的消息管理模块5203、运行环境上下文管理模块5204执行相关操作。
在一个实施例中,该可执行文件定义有功能组件的运行条件信息,该引擎执行模块5200在根据该可执行文件调用该功能组件以运行该应用时,可以用于:根据可执行文件中定义的每一功能组件的运行条件信息,调用功能组件执行对应的任务以运行所述应用。该实施例中,例如可以由引擎执行模块5200的流程协调模块5201执行相关操作。
在一个实施例中,该引擎执行模块5200在根据该可执行文件调用该功能组件以运行该应用时,可以用于:获取可执行文件定义的每一功能组件在方案中所属的运行阶段信息;获取预置的反映各运行阶段的运行顺序的编排信息;根据运行阶段信息和所述编排信息,获得可执行文件定义的每一功能组件的运行条件信息;以及,根据该运行条件信息,调用功能组件执行对应的任务以运行该应用。该实施例中,例如可以由引擎执行模块5200的流程协调模块5201执行相关操作。
在一个实施例中,该引擎执行模块5200在根据该可执行文件调用该功能组件以运行该应用时,可以用于:响应于监测到方案的当前运行阶段的功能组件返回的任务完成消息的事件,根据可执行文件检查所述当前运行阶段是否已完成;以及,在已完成的情况下,向方案的下一运行阶段的功能组件提供当前运行阶段的输出数据,并调用下一运行阶段的功能组件执行对应的任务。该实施例中,例如可以由引擎执行模块5200的流程协调模块5201执行相关操作。
在一个实施例中,该引擎执行模块5200在根据可执行文件调用功能组件以运行该应用时,还可以包括:根据可执行文件配置的对应功能组件的运行界面信息,加载显示对应的运行界面。例如,可以在配置功能组件的第二文件中配置该运行界面信息。通过该运行界面,应用使用者可以看到对应功能组件的运行情况,并通过该运行界面提供的入口和/或接口查询相关信息、状态、数据等。该实施例中,例如可以由路由装置5208执行相关操作。
下面以一个在线预估服务应用为例,说明引擎装置5000运行该应用的过程,根据该应用的可执行文件的定义,如图7所示,该应用的方案涉及四个运行阶段,分别为数据处理阶段、方案探索阶段、模型迭代阶段和模型应用阶段,每个阶段包括至少一个功能组件,例如,数据处理阶段包括数据处理组件,方案探索阶段包括方案探索组件、模型迭代阶段包括自学习组件、模型应用阶段包括在线预估组件等,该过程例如可以包括:
1)引擎管理模块5100检查是否可以识别该可执行文件,在可以识别的情况下,解压该应用的可执行文件,并将解压得到的第一文件和第二文件保存在临时目录区。
2)引擎执行模块5200根据临时目标区下文件(包括第一文件和第二文件),进行引擎执行模块5200的初始化,获得能够运行该应用的引擎实例模块5200'。
引擎实例模块5200'在运行在线服务应用时,可以根据第一文件中业务信息配置项部分定义的首页路径配置信息,加载显示应用的界面首页。
3)引擎实例模块5200'根据可执行文件中定义的功能组件的运行信息,通知以上各功能组件进行初始化,在功能组件完成初始化后,引擎实例模块5200'将各功能组件的配置信息推送至对应的功能组件。引擎实例模块5200'在完成启动,向引擎管理模块5100汇报自身的状态,引擎管理模块5100将引擎装置5000的运行状态设置为“运行中”。
4)引擎实例模块5200'在运行时,根据预置的编排信息确定这四个运行阶段的运行条件信息为:方案探索阶段在数据处理阶段完成后运行,模型迭代阶段在方案探索阶段完成后运行,模型应用阶段基于模型迭代阶段的产出提供预估服务。
5)引擎实例模块5200'的流程协调模块根据方案定义,调用数据处理阶段的数据处理组件导入数据,数据处理组件在完成数据导入后将触发数据导入完成消息,并将完成情况汇报给引擎实例模块5200'。
引擎实例模块5200'在数据处理阶段进行相应的阶段处理包括:通过路由模块5208进行引擎框架到数据处理组件的view、api、cli的转发,及加载显示数据处理组件的第二文件定义的运行界面等;通过组件生命周期管理模块5202监听或者定时调用与数据处理组件之间的接口;通过流程协调模块5201更新该阶段的运行信息;通过运行环境上下文管理模块5204更新该阶段所处的运行环境上下文(context);通过消息管理模块5203发布该阶段的变更信息;通过切入点管理模块5205设置切入点(EntryPoint)逻辑,及绑定触发事件等;以及,通过流程协调模块5201处理该阶段的阶段产出等。
6)引擎实例模块5200'根据可执行文件的定义,检查数据处理阶段是否已经完成,若完成,将该阶段的输出设置为导入的数据组地址。
7)引擎实例模块5200'在检查数据处理阶段完成后,进入方案探索阶段,在方案探索阶段,通过调用方案探索组件进行自动的方案探索,完成方案调研,调研产生最初的模型后,方案探索组件将触发探索完成消息,并向引擎实例模块汇报产出的模型。
8)引擎实例模块5200'在检查到方案探索阶段已经完成后,进入模型迭代阶段,在该模型迭代阶段,通过调用自学习组件根据方案探索阶段产出的模型进行自学习训练,训练产出更新的模型后,自学习组件将触发自学习完成消息,并向引擎实例模块汇报产出的更新的模型。
9)引擎实例模块5200'在检查到模型迭代阶段完成后,进入模型应用阶段,在该模型应用阶段,引擎实例模块调用模型迭代阶段产出的更新的模型提供预估服务,并将执行预估服务的状态汇报给引擎实例模块5200'。
<介质实施例>
在一个实施例中,还提供了一种计算机可读存储介质,其中,该计算机可读存储介质存储有可被计算机读取执行的计算机程序,所述计算机程序用于在被所述计算机读取运行时,执行根据任意方法实施例的运行人工智能应用的方法。
本发明可以是设备、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

Claims (10)

1.一种通过引擎装置运行人工智能应用的方法,包括:
解析所述应用的可执行文件,其中,所述可执行文件通过基于与所述引擎装置相适配的模板文件定义所述应用得到;
根据所述可执行文件运行所述应用。
2.根据权利要求1所述的方法,其中,所述可执行文件定义有实现所述应用的方案的任务内容信息,所述根据所述可执行文件运行所述应用,包括:
根据所述任务内容信息执行所述方案包含的各任务事项,以运行所述应用。
3.根据权利要求1所述的方法,其中,所述可执行文件定义有实现所述应用的方案的任务内容信息,所述任务内容信息包括所述方案使用的功能组件及每一所述功能组件的运行信息;
所述根据所述可执行文件运行所述应用包括:
根据所述可执行文件调用所述功能组件以运行所述应用。
4.根据权利要求3所述的方法,所述运行信息包括对应功能组件在所述方案中所属的运行阶段信息、对应功能组件的初始化信息、及对应功能组件的运行条件信息中的至少一项。
5.根据权利要求3所述的方法,其中,所述方法在根据所述可执行文件调用所述功能组件以运行所述应用之前,还包括:
根据所述可执行文件定义的每一所述功能组件的运行信息,初始化对应的功能组件;
获取并注册每一所述功能组件在完成初始化后返回的对外通信接口;
通过所述对外通信接口,将所述可执行文件定义的每一所述功能组件的组件信息推送至对应的功能组件。
6.根据权利要求3所述的方法,其中,所述方法在根据所述可执行文件调用所述功能组件以运行所述应用之前,还包括:
获取每一功能组件在完成初始化后返回的信息,其中,所述信息包括状态信息、运行环境上下文信息、订阅消息信息中的至少一项;
在所述引擎装置中注册所述返回的信息。
7.一种引擎装置,包括:
引擎管理模块,用于解析所述应用的可执行文件,其中,所述可执行文件通过基于与所述引擎装置相适配的模板文件定义所述应用得到;以及,
引擎执行模块,用于根据所述可执行文件运行所述应用。
8.一种包括至少一个计算装置和至少一个存储装置的设备,其中,所述至少一个存储装置用于存储指令,所述指令用于控制所述至少一个计算装置执行根据权利要求1至6中任一项所述的方法。
9.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现如权利要求1至6中任一项所述的方法。
10.一种运行人工智能方案的系统,包括构建人工智能应用的装置及权利要求7所述的引擎装置;
所述构建人工智能应用的装置用于生成人工智能应用的可执行文件;
所述引擎装置用于根据所述可执行文件运行所述应用。
CN201911364689.5A 2019-12-26 2019-12-26 运行人工智能应用的方法、系统及引擎装置 Pending CN111158797A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201911364689.5A CN111158797A (zh) 2019-12-26 2019-12-26 运行人工智能应用的方法、系统及引擎装置
PCT/CN2020/139466 WO2021129812A1 (zh) 2019-12-26 2020-12-25 运行人工智能应用的方法、系统及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911364689.5A CN111158797A (zh) 2019-12-26 2019-12-26 运行人工智能应用的方法、系统及引擎装置

Publications (1)

Publication Number Publication Date
CN111158797A true CN111158797A (zh) 2020-05-15

Family

ID=70558107

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911364689.5A Pending CN111158797A (zh) 2019-12-26 2019-12-26 运行人工智能应用的方法、系统及引擎装置

Country Status (1)

Country Link
CN (1) CN111158797A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112181401A (zh) * 2020-08-20 2021-01-05 第四范式(北京)技术有限公司 应用构建方法及应用构建平台
WO2021129812A1 (zh) * 2019-12-26 2021-07-01 第四范式(北京)技术有限公司 运行人工智能应用的方法、系统及设备
CN114489850A (zh) * 2022-01-20 2022-05-13 中广核工程有限公司 一种设计软件的调用方法、装置、计算机设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103135979A (zh) * 2011-12-05 2013-06-05 中国移动通信集团广东有限公司 终端应用的生成方法、装置及系统
US20140164942A1 (en) * 2012-12-12 2014-06-12 Qnx Software Systems Limited Method and system to layout applications on multiple platforms
CN104216691A (zh) * 2013-05-31 2014-12-17 华为技术有限公司 一种创建应用的方法及装置
CN108654090A (zh) * 2018-05-17 2018-10-16 北京奇虎科技有限公司 操作系统与游戏应用交互的方法及装置
CN108762726A (zh) * 2018-03-27 2018-11-06 深圳市瑞立视多媒体科技有限公司 基础框架开发平台及通过平台设计游戏的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103135979A (zh) * 2011-12-05 2013-06-05 中国移动通信集团广东有限公司 终端应用的生成方法、装置及系统
US20140164942A1 (en) * 2012-12-12 2014-06-12 Qnx Software Systems Limited Method and system to layout applications on multiple platforms
CN104216691A (zh) * 2013-05-31 2014-12-17 华为技术有限公司 一种创建应用的方法及装置
CN108762726A (zh) * 2018-03-27 2018-11-06 深圳市瑞立视多媒体科技有限公司 基础框架开发平台及通过平台设计游戏的方法
CN108654090A (zh) * 2018-05-17 2018-10-16 北京奇虎科技有限公司 操作系统与游戏应用交互的方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘剑卓编著: "《Android手机游戏开发从入门到精通》", 31 May 2012, 中国铁道出版社 *
熊小兵: "Windows下可执行文件的指令级跟踪与回放技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021129812A1 (zh) * 2019-12-26 2021-07-01 第四范式(北京)技术有限公司 运行人工智能应用的方法、系统及设备
CN112181401A (zh) * 2020-08-20 2021-01-05 第四范式(北京)技术有限公司 应用构建方法及应用构建平台
CN114489850A (zh) * 2022-01-20 2022-05-13 中广核工程有限公司 一种设计软件的调用方法、装置、计算机设备及存储介质
CN114489850B (zh) * 2022-01-20 2023-08-22 中广核工程有限公司 一种设计软件的调用方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
CN111158651A (zh) 构建人工智能应用的方法、装置及系统
WO2018228211A1 (zh) 应用转换方法、装置及设备
CN108304201B (zh) 对象更新方法、装置及设备
US9400784B2 (en) Integrated application localization
US9442744B2 (en) Multilingual build integration for compiled applications
CN110806863A (zh) 接口文档生成方法及装置、电子设备、存储介质
CN111158797A (zh) 运行人工智能应用的方法、系统及引擎装置
US11667033B2 (en) Systems and methods for robotic process automation
US10572278B2 (en) Smart controls for user interface design and implementation
CN111563220A (zh) 业务网站项目构建方法、装置、计算机设备和存储介质
CN111831258A (zh) 创建应用程序的方法和系统
CN103678704A (zh) 一种基于图片信息的识图方法、系统、设备及装置
US10891115B2 (en) Model configuration using partial model data
CN114064024A (zh) 微应用的开发方法、装置、设备、存储介质及程序产品
WO2021129812A1 (zh) 运行人工智能应用的方法、系统及设备
CN114117190A (zh) 数据处理方法、装置、存储介质及电子设备
US20180032329A1 (en) Customized runtime environment
CN110851211A (zh) 用于显示应用信息的方法、装置、电子设备和介质
Miravet et al. Framework for the declarative implementation of native mobile applications
WO2018197939A1 (en) Adding voice commands to invoke web services
CN111435328B (zh) 应用测试方法、装置、电子设备及可读存储介质
CN115268861B (zh) 自定义组件的引入方法、系统、设备和存储介质
JP7014960B2 (ja) 情報処理装置、サーバ、その処理方法及びプログラム
CN115982491A (zh) 页面更新方法及装置、电子设备和计算机可读存储介质
US8615744B2 (en) Methods and system for managing assets in programming code translation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination