WO2021129812A1 - Method and system for running artificial intelligence application, and device - Google Patents

Method and system for running artificial intelligence application, and device Download PDF

Info

Publication number
WO2021129812A1
WO2021129812A1 PCT/CN2020/139466 CN2020139466W WO2021129812A1 WO 2021129812 A1 WO2021129812 A1 WO 2021129812A1 CN 2020139466 W CN2020139466 W CN 2020139466W WO 2021129812 A1 WO2021129812 A1 WO 2021129812A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
application
component
configuration
file
Prior art date
Application number
PCT/CN2020/139466
Other languages
French (fr)
Chinese (zh)
Inventor
李瀚�
周凯
郝玥
桂权力
孙越
赵庆
Original Assignee
第四范式(北京)技术有限公司
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
Priority claimed from CN201911364703.1A external-priority patent/CN111158651A/en
Priority claimed from CN201911364689.5A external-priority patent/CN111158797A/en
Application filed by 第四范式(北京)技术有限公司 filed Critical 第四范式(北京)技术有限公司
Publication of WO2021129812A1 publication Critical patent/WO2021129812A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • 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

Definitions

  • the present disclosure relates to the field of artificial intelligence technology, and more specifically, to a method for running artificial intelligence applications, a system for running artificial intelligence applications, a device including at least one computing device and at least one storage device, and a readable storage medium.
  • the current artificial intelligence (AI) application construction is that experts rely on their own experience to complete the construction of an application service customized according to the scene problem.
  • design data flow design data flow
  • build offline model build Online services and other parts.
  • These parts are usually composed of multiple systems.
  • One purpose of the embodiments of the present disclosure is to provide a new technical solution for running or constructing artificial intelligence applications.
  • a method for running an artificial intelligence application including:
  • the application configuration information includes scheme information for implementing the artificial intelligence scheme of the application
  • an executable file of the application is generated for running.
  • a system for running artificial intelligence applications including a device for constructing artificial intelligence applications, the device for constructing artificial intelligence applications includes:
  • An application configuration module configured to obtain application configuration information for the application configuration, wherein the application configuration information includes scheme information for implementing the artificial intelligence scheme of the application;
  • the file generating module is configured to generate an executable file of the application for running according to the application configuration information and a preset template file.
  • a device including at least one computing device and at least one storage device, wherein the at least one storage device is used to store instructions, and the instructions are used to control the at least one computing device.
  • the device executes the method according to the first aspect of the present disclosure.
  • a computer-readable storage medium having a computer program stored thereon, and the computer program, when executed by a processor, implements the method according to the first aspect of the present disclosure.
  • a template file for building an application is preset, and configuration items of the template file that need to be personalized configuration are exposed to the outside, and the user provides corresponding personalized configuration information for these exposed configuration items.
  • the method of this embodiment can generate an executable file that can be parsed by the engine device based on the obtained configuration information and template file, so that the engine device can run the corresponding artificial intelligence application through the executable file.
  • the template file defines configuration information that can be shared for different artificial intelligence applications, this embodiment realizes the construction of the application.
  • the process is standardized, and by saving the configured template file, the precipitation and migration of AI application construction can be realized, which greatly reduces the difficulty of building an AI application and effectively improves the construction efficiency.
  • an AI application is expressed by an executable file that can be parsed by the engine device, and the executable file is parsed and executed by the engine device to realize the online use of the application.
  • the method of the embodiment of the present disclosure The construction and operation of AI applications are realized through one system, without the need to implement multiple systems together, and the standardization of the application construction process and operation process is realized.
  • FIG. 1 is a block diagram showing an example of the hardware configuration of an electronic device that can be used to implement the method of the embodiment of the present disclosure
  • FIG. 2 is a schematic diagram of the composition structure of a system for running artificial intelligence applications according to an embodiment
  • FIG. 3 is a schematic flowchart of a method for constructing an artificial intelligence application in a method for running an artificial intelligence application according to an embodiment
  • Fig. 4 is a schematic diagram of an interface of a configuration entry interface according to an embodiment
  • Fig. 5 is a schematic flowchart of a method for running an artificial intelligence application according to another embodiment
  • Fig. 6 is a functional block diagram of an engine device according to an embodiment
  • FIG. 7 is a schematic diagram of the running process of the online estimation application running by the engine device according to an example
  • Fig. 8 is a schematic block diagram of an apparatus for constructing an artificial intelligence application according to an embodiment.
  • Figure 1 shows the hardware structure of any electronic device.
  • the electronic device shown in FIG. 1 can be a laptop computer, a desktop computer, a mobile phone, a tablet computer, a server, etc., or any other device having a computing device such as a processor and a storage device such as a memory, which is not limited herein.
  • the electronic device 1000 may include a processor 1100, a memory 1200, an interface device 1300, a communication device 1400, a display device 1500, an input device 1600, a speaker 1700, a microphone 1800, and so on.
  • the processor 1100 is used to execute a computer program.
  • the computer program can be written with an instruction set of architectures such as x86, Arm, RISC, MIPS, and SSE.
  • the memory 1200 includes, for example, ROM (Read Only Memory), RAM (Random Access Memory), nonvolatile memory such as a hard disk, and the like.
  • the interface device 1300 includes, for example, a USB interface, a headphone interface, and the like.
  • the communication device 1400 can, for example, perform wired or wireless communication, and specifically may include Wifi communication, Bluetooth communication, 2G/3G/4G/5G communication, and the like.
  • the display device 1500 is, for example, a liquid crystal display, a touch display, or the like.
  • the input device 1600 may include, for example, a touch screen, a keyboard, a somatosensory input, and the like.
  • the electronic device 1000 may output voice information through the speaker 1700, and may collect voice information through the microphone 1800.
  • the electronic device shown in FIG. 1 is merely illustrative and in no way implies any limitation on the present disclosure, its application or use.
  • the electronic device 1000 is applied to an embodiment of the present disclosure, and the memory 1200 of the electronic device 1000 is used to store instructions, and the instructions are used to control the processor 1100 to operate to execute the method for running an artificial intelligence application according to any embodiment of the present disclosure .
  • Technicians can design instructions according to the solutions disclosed in this disclosure. How the instruction controls the processor to operate is well known in the art, so it will not be described in detail here.
  • the electronic device 1000 may also include an engine device according to any embodiment of the present disclosure, wherein the engine device is configured to execute the method for running an artificial intelligence application according to any embodiment of the present disclosure.
  • the electronic device 1000 may also include an apparatus for constructing an artificial intelligence application according to any embodiment of the present disclosure to execute the method for running an artificial intelligence application according to any embodiment of the present disclosure.
  • a device including at least one computing device and at least one storage device, the at least one storage device is used to store instructions, and the instructions are used to control the at least one computing device to execute any of the embodiments according to the present disclosure.
  • Method of running artificial intelligence applications are used to control the at least one computing device to execute any of the embodiments according to the present disclosure.
  • the device may include at least one electronic device 1000 as shown in FIG. 1 to provide at least one computing device such as a processor and at least one storage device such as a memory, which is not limited herein.
  • a system AIS running an artificial intelligence solution is provided.
  • the system AIS includes an engine device 5000 and a device 4000 for building artificial intelligence applications.
  • the device 4000 for building an artificial intelligence application is configured to generate an executable file of the AI application, and the executable file has a data structure that the engine device 5000 can parse.
  • the engine device 5000 is configured to run the application according to the executable file.
  • the data structure of the executable file generated by the device 4000 is a data structure that can be parsed by the engine device 5000, when the engine device 5000 receives a request to run the application, the engine device 5000 can analyze the application Executable file to run the application.
  • the system AIS may also include a dedicated application providing device 6000
  • the device 4000 may also be configured to publish the generated executable file to the application providing device 6000 for download
  • the engine device 5000 may be based on The executable file downloaded by the application user from the application providing device 6000 runs the application.
  • the application providing device 6000 is equivalent to an application store, and the application user can download the executable file of the application that meets their own usage requirements in the application providing device 6000, and start the engine device 5000 to run the application.
  • the application developer can edit the executable file of the application through some functional components pre-developed by the component developer. Therefore, the system AIS may also include a component providing device 7000.
  • the component developer may complete the development of the functional component.
  • the packaged file of the functional component can be sent to the component providing device 7000 for application developers to use when developing AI applications through the device 4000. Therefore, the component providing device 7000 is configured to provide the functional components involved in the executable file.
  • the engine device 5000 runs the application according to the executable file, it is configured to call the involved functional component according to the executable file to run the application.
  • the device 4000 may include an application development device 4000a and a component development device 4000b.
  • the application development device 4000a is used by developers to build AI applications.
  • the component development device 4000b is for component developers to develop functional components and publish the functional components to the component providing device 7000 for use by the application developers to develop AI applications and for the engine device 5000 to run the executable files of the AI applications.
  • the functional component when the application developer builds the executable file of the AI application through the device 4000, the functional component may also be used by default.
  • the system AIS may not have the component providing device 7000, and the device 4000 may also It is not necessary to have the component development device 4000b, etc., which is not limited here.
  • the system AIS of any embodiment can be built on one electronic device as shown in FIG. 1 or on at least two electronic devices, for example, the device 4000 and the engine device 5000 are built on different electronic devices.
  • any device of the system AIS can also be built on one electronic device, or built on at least two electronic devices, for example, the application development device 4000a of the device 4000 and the component development device 4000b can be built on different electronic devices Wait, it is not limited here.
  • the method of running an artificial intelligence application in the embodiment of the present disclosure includes a method of constructing an artificial intelligence application, so that after the construction is completed, the artificial intelligence application can be run through a suitable engine device.
  • the following first introduces a method of constructing an artificial intelligence application through the application development device 4000a of the device 4000 in an embodiment.
  • the application development device 4000a is equivalent to an application editor. As shown in FIG. 3, the method may include the following steps S3100 and S3200.
  • Step S3100 Obtain application configuration information for the application configuration, where the application configuration information includes scheme information for implementing the artificial intelligence scheme of the application.
  • the plan information may include task content information of the plan, and the task content information refers to information that defines the content of the tasks executed by the plan.
  • the program can include one task item or multiple task items.
  • the task content information may include content information of each task item and associated information between each task item.
  • the content information of each task item refers to the task content of the corresponding task item itself, and the associated information reflects the dependency relationship between each task item, for example, includes reflecting the execution order of each task item.
  • step S3200 an executable file of the application is generated for running according to the application configuration information obtained in step S3100 and the preset template file.
  • the preset template file sets various configuration items according to the data structure that the engine device can parse, so as to be able to generate the executable file of the application that can be parsed by the engine device.
  • the data structure is, for example, a data structure conforming to the JSON specification, etc., which is not limited here.
  • the template file defines corresponding default configuration information for at least part of the configuration items therein.
  • the at least part of the configuration items may include configuration items that can share configuration information for any application.
  • the at least part of the configuration items may also include configuration items that can be personalized by application developers.
  • the application editor can directly load and display the file content of the template file, so that the application developer can add or modify the corresponding configuration information for the configuration items that need to be configured, for example, the application
  • the developer fills in or modifies the corresponding configuration information for the configuration items that need to be customized.
  • the application developer obtains the information developed by the application developer through step S3100. Application configuration information of the application configuration.
  • the application editor can also provide a configuration interface, and the application developer can input configuration information for the developed application configuration through the configuration interface, which improves the ease of use of the application editor and Lower the threshold for application developers to build AI applications.
  • the application editor can obtain the application configuration information input through the provided configuration interface in step S3100.
  • the application editor may only provide configuration interfaces for configuration items that can be personalized by application developers. That is, the configuration interfaces exposed by the application editor may only include some of the configuration items in the template file, such as , Including configuration items that can be customized by application developers.
  • the configuration interface may include at least one of configuration items that provide check options (including drop-down lists) and configuration items that provide input boxes.
  • the method may further include the steps of: searching whether the template file has configuration information corresponding to the configuration items of the configuration interface; and in the case of having the configuration information, providing the corresponding configuration items in the corresponding configuration items of the configuration interface.
  • Configuration information In this embodiment, for the configuration items in the configuration interface, if the selected template file has already defined the configuration information of the corresponding configuration item, the configuration information can be provided in the corresponding configuration item of the configuration interface. In this way, the application developer It is possible to choose whether to modify the configuration information of the configuration items in the configuration interface according to the application occasion of the AI application to be constructed, so as to further reduce the amount of configuration for building the AI application.
  • generating the executable file of the application according to the application configuration information and the preset template file in step S3200 may include: updating the template file according to the application configuration information to generate the executable file of the application.
  • the corresponding information in the application configuration information can be filled in the configuration items; for configuration items that have default configuration information defined in the template file, you can Replace the original configuration information with the corresponding information in the application configuration information, thereby realizing the update of the template file.
  • the method may further include: publishing the executable file to the application providing device 6000 for downloading.
  • the application providing device 6000 is relative to an application store, and all executable files of AI applications constructed are published in the application store. For example, an application developer constructs a single table through the method of this embodiment.
  • the method may further include: loading the engine device adapted to the template file to run the executable file; and in the case of passing the execution, publishing the executable file For download.
  • the engine device to run the executable file for verification before publishing, the validity of the executable file of the application published to the application providing device can be guaranteed.
  • the template file can provide configuration items of custom task items and associated information between each task item, such as jobs configuration items.
  • the application developer can configure Item edit custom configuration information to realize the expression of task content information.
  • the device for constructing AI applications can provide a component development device 4000b that meets the requirements of the engine device framework, and component developers can use the component development device 4000b to pre-develop some compliant engines.
  • the functional components required by the device framework are selected for use by the application developer in building the AI application, and then an executable file of the application is generated, and the functional components involved in the executable file are called by the engine device to run the executable file.
  • each functional component is equivalent to a packaged module, and each functional component can complete at least one task item.
  • application developers can select the required functional components and configure the configuration of each functional component. Operational information, to realize the expression of task content information for the constructed AI application, without the need to customize these task items.
  • the task content information of the solution may include the functional components used by the solution and the operation information of each functional component.
  • the operation information may include, for example, at least one of the operation stage information to which the corresponding functional component belongs in the solution, the initialization information of the corresponding functional component, and the operation condition information of the corresponding functional component.
  • the operation stage indicates the task stage to which the corresponding functional component belongs in the constructed AI application, and includes, for example, a data template stage, a scheme generation stage, and so on.
  • the initialization information indicates the initialization sequence of the corresponding functional components, whether to initialize, and so on.
  • the operating condition information indicates the operating condition of the corresponding functional component, that is, when the condition is met during the execution of the executable file by the engine device 5000, the corresponding functional component is called to complete the corresponding task.
  • these functional components may include, for example, any one or more of the following components: data preprocessing component, data splitting component, data merging component, feature extraction component, model training component, model evaluation component, self-learning Components, real-time estimation components, and batch estimation components, etc.
  • the data preprocessing component can complete the task of selecting a data table from the input data table and selecting data from the selected data table.
  • the data merging component can complete the task of merging selected data tables into one data table, for example.
  • the data splitting component can complete the task of splitting data into training data and verification data, for example.
  • the feature extraction component can, for example, complete the task of extracting and setting features required for model training or model prediction from data.
  • the model training component for example, can complete the task of performing model training based on a specified algorithm, such as a two-class algorithm.
  • the model evaluation component for example, can complete the evaluation of the model obtained by training through the verification data, and give the task items of the set model indicators.
  • the real-time estimation component can complete the task of real-time prediction of the input data through the model, for example.
  • the batch estimation component can complete the task of performing batch prediction on the input data through the model, for example.
  • the self-learning component can complete the task of continuing to train the previous model through the newly generated data to achieve model update.
  • the device 4000 may also provide a component development device 4000b for component developers to develop functional components.
  • generating a functional component through the component development device 4000b may include the following steps S4100 ⁇ S4400:
  • step S4100 a functional component development template is provided.
  • the component development device 4000b is based on the architecture of the engine device 5000, and provides functional component development templates that can be parsed by the engine device 5000.
  • the component developer can use these functional component development templates to implement certain or some Functional components of task items.
  • the component developer can define the function component information through the function component development template, and the function component information includes the function realization information of the corresponding function component, that is, the realization code of the corresponding function component.
  • the functional component information may also include a makefile written for the corresponding functional component.
  • component developers can also define information about configuring functional components through functional component development templates for generating component configuration templates.
  • application developers can use the component when building AI applications through the application editor.
  • the configuration template configures the selected functional component so that the selected functional component can play a role in the constructed application according to the configuration of the application developer.
  • the information about the configuration function component may include, for example, the name of the corresponding function component, the version of the corresponding function component, the back-end image of the corresponding function component, the front-end UI package of the corresponding function component, and the command-line interface (command-line interface) of the corresponding function component. , CLI) etc.
  • the functional component is equivalent to a service running in the engine device. It is a microservice organized according to agreed rules, including the back-end microservice mirroring, functional component running UI, functional component configuration custom UI, and functional component SDK /cli package, etc.
  • the information about configuring the functional component may include configuration information for configuring the corresponding functional component, and may also include information about setting configuration items for the corresponding functional component.
  • Step S4200 Obtain the functional component information and the functional component configuration information defined according to the functional component development template.
  • step S4300 the file containing the information of the functional component is packaged, and the corresponding functional component is generated.
  • the packaged file may include one file or multiple files, so as to define corresponding functional components through these files.
  • the component development device 4000b can provide an operation interface for triggering a packaging command, the component developer can trigger a packaging request through the operation interface, and the component development device 4000b executes the packaging operation according to the request.
  • step S4400 a component configuration template corresponding to the functional component is generated according to the information about the configured functional component.
  • the component development device 4000b can use the acquired information about configuring functional components to set configuration items for the functional component and set default configurations for at least some of the configuration items according to the requirements for the data structure of the component configuration template.
  • Information to generate a component configuration template corresponding to the functional component Therefore, the generated component configuration template contains various configuration items of the corresponding functional components, and default configuration information is defined for at least some of the configuration items.
  • the application development device 4000a can load the generated component configuration template for application developers to perform personalized configuration for the selected functional components when constructing the AI application.
  • the method for building an AI application may further include: after generating the corresponding functional component and its component configuration template, uploading the corresponding functional component and its component configuration template to the component library, and registering the corresponding functional component in the component library .
  • the component library stores a database in which the component providing device 7000 stores corresponding functional components and component configuration templates of the corresponding functional components.
  • the component development device 4000b may provide an operation interface for triggering the issuance of the command, the component developer may trigger the publication request through the operation interface, and the component development device 4000b executes the publication operation according to the request.
  • the component development apparatus 4000b may also automatically trigger the operation of uploading the corresponding functional component and its component configuration template to the component library after generating the corresponding functional component and its component configuration template based on the packaging request.
  • the application development device 4000a can call the functional component from the component library for selection and configuration by the application developer, thereby realizing the construction of AI applications .
  • the application developer can configure the task content information in the program information by configuring the functional components used by the application solution and the operation information of each functional component. Therefore, in this embodiment, the task content information in the plan information may include the functional components used by the plan and the operation information of each functional component.
  • the application configuration information may also include component configuration information configured for each functional component.
  • the component configuration information is, for example, component configuration information configured by the application developer based on the component configuration template of the selected functional component.
  • the engine device runs the executable file, it can learn the functional components used by the solution and the operation information of each functional component through the solution information, and the configuration information of each functional component used by the solution, and know that the corresponding functional component is located in the solution.
  • the function mode in the application, and the component configuration information is transferred to the corresponding function component, so that when the engine device invokes the function component to run the AI application, the function component can complete the corresponding task according to the configured function mode.
  • the scheme information in the application configuration information obtained in step S3100 may include basic information of the scheme.
  • the basic information includes the scheme name, the keywords of the application field of the scheme, and the information in the scheme description information. At least one item.
  • the application editor may provide basic information configuration items in the configuration interface, so that the application developer can input the basic information of the solution through the configuration interface.
  • the preset template file used in step S3200 may include a scheme template file corresponding to scheme information, and the application editor may set a configuration interface according to the configuration items in the scheme template file to allow application developers to use the configuration interface Configure at least configuration items in the plan template file to form plan information.
  • the solution template file may include basic information configuration items of the solution, business information configuration items of the solution, and operation and maintenance information configuration items of the solution.
  • the task content information in the plan information belongs to the business information, that is, the task content information is information formed by configuring the business information configuration items.
  • the business information may also include common configuration information of each functional component. In this way, it is possible to configure the configuration information applicable to each selected functional component through the part of the common configuration information configuration item, which improves the readability of the solution template file.
  • the public configuration information may include at least one of a public data dictionary, public system parameters, and public initialization information, for example.
  • the common data dictionary may include, for example, configuration information of identification key and numerical value, and may also include some common rule definitions for the operation of the engine device, and so on.
  • the service information may also include at least one of entry information of the solution and interface information of the solution.
  • entry information configuration item you can configure the application home page interface entered when the engine device runs the corresponding AI application.
  • the application home page interface can be configured as the default interface of the engine device or the home page interface of a certain functional component. This configuration This can be done by setting the homepage path, so the entry information configuration item can be the homepage path configuration item.
  • the display content and layout structure of the interface can be configured through the interface information configuration items.
  • the view and report of the interface can be defined through the interface information configuration items, as well as the setting and display of the business intelligence dashboard (BI dashboard).
  • BI dashboard business intelligence dashboard
  • the basic information may include at least one of the name of the solution, the key word of the application field of the solution, and the description information of the solution.
  • the basic information of the scheme in the scheme information acquired in step S3100 is the information formed by configuring the basic information configuration items.
  • the operation and maintenance information may include operation mode information, operation resource information, and the like.
  • the operation mode of the corresponding AI application and the CPU resources required to run the corresponding AI application can be configured through the operation and maintenance information configuration item.
  • the application editor can provide two types of template files, one is the above-mentioned solution template file that reflects the solution information, and the other is the component template file that reflects the component configuration information, the component template file is developed by the component The author declares when developing the corresponding functional components that each functional component has a corresponding component template file.
  • the application configuration information configured by the application developer through the configuration interface includes the scheme information for configuring the configuration items in the scheme template file, and the configuration items for configuring the configuration items in the component template file of the selected functional component. Component configuration information.
  • the configuration interface provided by the application editor may include a configuration interface corresponding to at least part of the configuration items in the solution template file, and a configuration interface corresponding to at least part of the configuration items in each component template file.
  • the component template file may include basic information configuration items of the corresponding component, business information configuration items of the corresponding component, and operation and maintenance information configuration items of the corresponding component.
  • the business information of the component includes the operation rule information of the corresponding component, etc., so as to reflect the function mode of the corresponding functional component in the solution through the business information.
  • the business information of the component may also include at least one of context declaration information and message declaration information, so as to realize the definition of the execution environment and message transmission.
  • the basic information of the component may include at least one of the version of the corresponding function component, the creator of the corresponding function component, the unique identifier of the corresponding function component, the name of the corresponding function component, and the data group in which the corresponding function component is located.
  • the component template file may also include configuration interface information to customize the configuration interface of the corresponding functional component through the configuration interface information, so that application developers can input component configuration information through the configuration interface defined by the component template file, so as to achieve the corresponding component template file Configuration.
  • the configuration interface information can be the interface content of the configuration interface or the loading path of the configuration interface package. In this way, the application editor can render the corresponding configuration interface according to the configuration interface information in the component template file for configuration by the application developer.
  • the method for constructing an AI application may include: in response to an operation of configuring program information, loading a program configuration interface set by an application editor, and providing at least part of a template file for configuring a program on the program configuration interface The configuration interface of the configuration item.
  • the method for constructing an AI application may further include: in response to an operation of defining task content information in the plan information, loading a list item of a functional component in the functional component library; and detecting editing of the list item Operate to obtain the functional components used by the program and the operating information of each functional component.
  • the application editor can load all the functional components in the component library, and when the application developer triggers the operation of defining task content information, this can be triggered to edit the functional component
  • the list items of these functional components are provided, that is, each list item corresponds to a functional component, and at least part of the basic information of the functional component can be displayed on the list item, so that the application developer can base on the content displayed on the list item Select the required functional components.
  • the editing operation may include, for example, a selection operation and a shift operation.
  • a selection operation performed by the application developer on the list item
  • the functional components used by the solution can be obtained
  • detecting the shift operation performed by the application developer on the list item such as moving up, moving down, etc., you can Obtain the initialization sequence of each functional component, etc.
  • the method for constructing an AI application may include: in response to the operation of configuring the selected functional component, parsing the component template file of the corresponding functional component; and in the case that the component template file defines configuration interface information, Render the configuration interface of the corresponding functional component according to the configuration interface information. In this way, application developers can choose to complete the configuration of the corresponding component template file through the custom configuration interface of the functional component.
  • configuring the functional component is also a component template file for configuring the functional component.
  • the method for constructing an AI application may include: in response to an operation of configuring the selected functional component, loading the file content of the component template file of the corresponding functional component for configuration.
  • the application developer can choose to directly fill in or modify the corresponding configuration information for the configuration items that need to be personalized for the constructed AI application on the component template file.
  • the application editor can provide a variety of ways to configure functional components, such as configuration through the configuration interface customized by the functional component, configuration directly through the functional component template, and through the default component configuration interface of the application editor. Configuration etc.
  • the method for constructing an AI application may further include: in response to an operation of configuring the selected functional component, providing a configuration portal interface, where the configuration portal interface includes a first configuration portal and a second configuration portal, wherein,
  • the first configuration entry is an entry that selects to load the configuration interface defined by the component template file of the corresponding functional component for configuration
  • the second configuration entry is the entry that selects to load the file content of the component template file of the corresponding functional component for configuration.
  • the configuration portal interface may also include other configuration portals, for example, portals configured through the default component configuration interface of the application editor, etc., which are not limited herein.
  • the configuration entry interface provides three configuration entries, namely the "original file” configuration entry, the "official UI” configuration entry, and the "standard UI” configuration entry.
  • the "official UI” configuration entry corresponds to the first configuration entry.
  • the application editor detects that the application developer clicks on the "official UI” option, it will load the configuration defined by the component template file of the corresponding functional component
  • the interface is used by application developers to configure the corresponding functional components.
  • the "original file” configuration entry corresponds to the second configuration entry.
  • the developer can directly edit the content of the file to realize the configuration of the corresponding functional components.
  • the "standard UI" is the entry for selecting the configuration through the default component configuration interface of the application editor.
  • the application editor will load the default component after detecting that the application developer selects the option of the "standard UI" Configuration interface.
  • an operation interface for triggering the operation of configuring the corresponding function component may be provided on the list item of the function component recorded in the application editor.
  • the operation interface is, for example, the list item itself, and the application developer can trigger the operation of configuring the corresponding functional component by clicking the list item.
  • the operation interface may also be, for example, an interface set on the list item, and the application developer can trigger the operation of configuring the corresponding functional component by clicking the interface on the list item.
  • the application editor can display the list items of the functional components selected by the application developer in the process layout area of the editing interface, for example, display the list items of the data processing component and the list items of the model training component, the application developer
  • the operation of configuring the data processing component can be triggered by clicking the list item of the "data processing component". In this way, the application editor will provide the configuration entry interface of the data processing component on the right side of the process layout area.
  • generating an application executable file according to the application configuration information and the preset template file in step S3200 may include the following steps S3210 to S3230:
  • Step S3210 according to the scheme information and the scheme template file, a first file defining the scheme is generated.
  • the first file may be a file in .yaml format, for example.
  • the scheme information includes configuration information for at least part of the configuration items in the scheme template file.
  • This step S3210 may include filling in the configuration information under the corresponding configuration items of the scheme template file, and/or replacing the configuration information of the scheme template file with the configuration information.
  • the existing configuration information of the corresponding configuration item may include filling in the configuration information under the corresponding configuration items of the scheme template file, and/or replacing the configuration information of the scheme template file with the configuration information.
  • Step S3220 for each functional component, according to the component configuration information of the corresponding functional component and the component template file of the corresponding functional component, a second file defining the corresponding functional component is generated.
  • the second file may be a file in .yaml format, for example.
  • a corresponding second file will be generated for each selected functional component. For example, if the application developer selects three functional components, three second files will be generated.
  • the component configuration information includes configuration information for at least part of the configuration items in the corresponding component template file.
  • This step S3220 may include filling in the configuration information under the corresponding configuration items of the corresponding component template file, and/or replacing the corresponding configuration information with the configuration information.
  • the existing configuration information of the corresponding configuration item of the component template file may include filling in the configuration information under the corresponding configuration items of the corresponding component template file, and/or replacing the corresponding configuration information with the configuration information.
  • step S3230 the first file and each second file are packaged, and an executable file of the built application is generated.
  • the executable file is a packaged file formed by compressing the first file generated based on the solution template file and the second file generated based on the component template file of the selected functional component, that is, the generated executable file
  • the execution file includes a first file and at least a second file, and the second file has a one-to-one correspondence with the functional components involved in the first file.
  • the following is the file content of the project template file according to an example or the file content of the first file generated based on the project template file:
  • the following is the file content of a component template file according to an example or the file content of a second file generated based on a component template file:
  • the executable file of the AI application can be constructed by the device 4000a, and the executable file has a data structure that can be parsed by the engine device 5000. Therefore, the executable file can be run by the engine device 5000 , In order to realize the online use of the AI application.
  • FIG. 5 shows a flowchart of a method for running an AI application through an engine device 5000 in an embodiment, and the method may include the following steps S5100 and S5200:
  • Step S5100 parse the executable file of the AI application, where the executable file is obtained by defining the application based on a template file adapted to the engine device 5000.
  • the executable file can be obtained by defining the AI application in any of the above method embodiments for constructing an AI application, and will not be repeated here.
  • the executable file may only include the first file.
  • the first file contains plan information that defines a plan for implementing the AI application, and the plan information contains task content information, etc.
  • plan information that defines a plan for implementing the AI application
  • plan information contains task content information, etc.
  • the executable file may also include a first file and a second file corresponding to the functional components involved in the first file in a one-to-one correspondence.
  • Each second file contains component information (ie, functional component information) that defines the corresponding functional component.
  • parsing the executable file of the AI application in step S5100 may include: decompressing the executable file; and, according to the set saving path, saving all the files obtained by decompression to the directory area.
  • the executable file includes a compressed file of a first file and at least one second file. Therefore, when the executable file is parsed, the executable file can be decompressed to obtain the first file and at least one second file, and these The file is saved in the directory area for the engine device 5000 to read.
  • the set save path is the default save path of the engine device 5000.
  • parsing the executable file of the AI application in step S5100 may include: in response to a request to run the application, parsing the executable file of the application to run the application according to the executable file.
  • the request may be triggered by the application user. After receiving the request, the engine device will parse the executable file of the AI application corresponding to the request to run the application.
  • parsing the executable file of the AI application in step S5100 may include: after the executable file is obtained, detecting whether the executable file can be identified; and if the executable file can be identified, then Decompress the executable file to execute the subsequent step S5200.
  • detecting whether the executable file can be identified may include, for example, the engine device searches for the version number of the template file used by the executable file in the record data of the template file, and if the version number is found, it indicates that the executable file is available.
  • the executable file is generated using a template file that can be recognized by the engine device 5000, and the detection result is that the engine device can recognize the executable file.
  • Step S5200 Run the application according to the executable file.
  • the engine device 5000 stores all files obtained by decompressing the executable file in a temporary directory area, and the engine device may run the application according to the files in the directory area in this step S5200.
  • the engine device 5000 when the engine device 5000 runs the application according to the executable file, it can load and display the home page interface of the application according to the home page interface information of the application configured in the executable file.
  • the homepage interface information is, for example, the configuration information under the business information configuration item in the first file.
  • the engine device 5000 running the application according to the files in the directory area may include: initializing the engine device according to the files in the directory area to obtain an engine instance module; and starting the engine instance module to run the application.
  • the engine device 5000 is a general-purpose device capable of running various AI applications.
  • the engine device 5000 has a general configuration for running applications according to executable files.
  • different AI applications may have their own operating requirements.
  • the engine device 5000 needs to run an AI application, it can be initialized according to the configuration information of each configuration item in the files (for example, including the first file and the second file) in the directory area, so that the engine device 5000 can be dedicated to running
  • ECI Engine Core-Instance
  • the configuration information of the engine instance module is, for example, the configuration information of the operation and maintenance information configuration item in the first file.
  • the engine instance module formed by the engine device 5000 after the initialization has the ability to run the corresponding AI application.
  • the executable file defines task content information for implementing the solution of the corresponding application.
  • running the application according to the executable file in step S5200 may include: executing each task included in the solution according to the task content information Matters to run the application.
  • the engine device in the case that the executable file expresses the task content information through the custom task items in the template file and the configuration items of the associated information between each task item, such as the jobs configuration item, the engine device can express task content information according to The configuration information of the configuration item performs various tasks to run the application.
  • the executable file can also express the task content information through functional components, that is, the task content information includes the functional components used by the solution and the operation information of each functional component; in this way, the engine device is based on the executable When the file runs the application, functional components can be called according to the executable file to run the application.
  • the operating information may include, for example, the operating phase information to which the corresponding functional component belongs in the solution, the initialization information of the corresponding functional component, and the operating condition information of the corresponding functional component. At least one item.
  • the method before calling the functional components according to the executable file to run the application may also include the following steps: according to the operating information of each functional component defined by the executable file, initialize the corresponding functional component; obtain and register the external communication interface returned by each functional component after the initialization is completed; through the external communication interface, The component information of each functional component defined by the executable file is pushed to the corresponding functional component.
  • the engine device 5000 initializes the functional components according to the configuration information of the functional component configuration item scComponents under the business information configuration item businessSetting in the first file, where the configuration information of the functional component configuration item scComponents includes the corresponding The functional components used in the solution and the operating information of the corresponding functional components.
  • the operating information of the functional component includes initialization information, and the initialization information reflects whether the corresponding functional component needs to be initialized and the initialization sequence, etc.
  • the engine device 5000 can initialize each function sequentially according to the initialization sequence determined by the initialization information of the functional component. Components to complete the startup of each functional component. For functional components that do not need to be initialized, the initialization phase is skipped and not started. Instead, the corresponding functional component is started after the corresponding operating condition is detected.
  • these functional components will return their own external communication interface to the engine device 5000 after initialization, so that the engine device 5000 can push the component information of the corresponding functional component defined in the executable file to the engine device 5000 through the external communication interface
  • the corresponding functional component is used to complete the configuration of the corresponding functional component for the AI application, so that the functional component can complete the corresponding task in the form of executable file configuration when the application is run by the engine device 5000.
  • the functional component information defined in the second file is pushed to the corresponding functional component to complete the configuration of the corresponding functional component for the application.
  • the engine device 5000 sets its own state to "starting”, and after completing the initialization of each functional component, sets its own state to "running". If the initialization is abnormal, the state of itself is set to "abnormal".
  • the method may further include the following steps: obtaining information returned by each functional component after completing initialization, the information including status information and operating environment At least one of context information and subscription message information, the status information may include startup status information, running status information, etc.; and the returned information is registered in the engine device 5000.
  • the engine device 5000 registers the information, it can use the information to control the performance behavior of the corresponding functional components.
  • the engine device 5000 when the engine device 5000 invokes a functional component to run the application according to the executable file, it may include: according to the operating condition information of each functional component defined in the executable file, invoke the functional component to execute the corresponding task. Run the application.
  • the operating condition information of the functional component to be used can be configured in the first file of the executable file.
  • the functional component configuration item under the business information configuration item of the first file is configured with three functions
  • the operating condition information of the three functional components is configured as follows: after the first functional component has performed the corresponding task, the second functional component performs the corresponding task based on the output data of the first functional component, and the third One functional component executes the corresponding task based on the output data of the second functional component.
  • the engine device can call the three functional components to execute the corresponding tasks according to the operating condition information configured in the first file to run the application.
  • the running information configured in the executable file may not include the foregoing running condition information, but only include running stage information, initialization information, and the like.
  • the engine device 5000 can preset the running sequence of the common running stages of the AI application. In this way, when the running information configured by the executable file includes the running stage information, the engine device 5000 can run according to different presets. The operating sequence of the phases calls each functional component to perform the corresponding task, which helps to reduce the configuration information required to build the AI application.
  • the engine device 5000 when the engine device 5000 invokes functional components according to the executable file to run the application, it may include the following steps S5211 to S5214:
  • Step S5211 Obtain the operation stage information to which each functional component defined by the executable file belongs in the solution.
  • the running stage information is, for example, the configuration information under the functional component configuration item scComponents of the first file.
  • Step S5212 Obtain preset scheduling information reflecting the running sequence of each running stage.
  • AI applications usually include data processing stage, model investigation stage, model prediction stage, self-learning stage, etc.
  • the operating sequence of these operating stages can basically be determined, for example, the operating sequence of the model investigation stage After the data processing stage, the model prediction stage is arranged behind the model investigation stage, and the self-learning stage is arranged behind the model prediction stage. Therefore, according to the possible operation sequence relationship of different operation stages, the operation of each operation stage can be obtained. Sequence arrangement information, according to the arrangement information, the running sequence relationship among the functional components involved in the application to be run can be determined, and then the operating condition information of these functional components can be obtained.
  • Step S5213 Obtain the operating condition information of each functional component defined by the executable file according to the operating stage information and the layout information.
  • Step S5214 According to the operating condition information, call the functional component to execute the corresponding task to run the application.
  • the engine device 5000 can determine the operating condition information of each functional component according to the operating phase information and preset layout information, without requiring application development. The personnel must configure the operating condition information when building the AI application, which improves the ease of use of the system AIS.
  • the engine device 5000 when the engine device 5000 invokes a functional component according to the executable file to run the application, it may further include: loading and displaying the corresponding running interface according to the running interface information of the corresponding functional component configured by the executable file.
  • the running interface information can be configured in the second file of the configuration function component.
  • the engine device 5000 when the engine device 5000 invokes functional components according to the executable file to run the application, it may include the following steps S5221 to S5222:
  • Step S5221 In response to monitoring the event of the task completion message returned by the functional component of the current running stage of the solution, check whether the current running stage has been completed according to the executable file.
  • the functional component returns a task completion message to the engine device after executing the corresponding task.
  • the engine device can respond to the event of receiving the task completion message according to the executable
  • the operating phase information of the functional components configured in the file check whether all functional components in the current operating phase have returned any completion messages, if yes, the current operating phase has been completed, if not, the current operating phase is still running.
  • Step S5222 in the case of completion, provide the output data of the current operation stage to the functional component of the next operation stage of the solution, and call the functional component of the next operation stage to execute the corresponding task.
  • an engine device 5000 is also provided. As shown in FIG. 6, the engine device 5000 includes an engine management (Engine Manager) module 5100 and an engine execution (Engine Core) module 5200.
  • the various modules of the engine device 5000 can be implemented by a processor of the electronic device running computer instructions stored in a memory of the electronic device.
  • the engine management module 5100 is configured to parse an executable file of an AI application, where the executable file is obtained by defining the application based on a template file adapted to the engine device 5000.
  • the template file includes, for example, a solution template file and a component template file.
  • the engine execution module 5200 is configured to run the application according to the executable file.
  • the engine execution module 5200 when the engine execution module 5200 runs the application according to the executable file, it may be configured to load and display the home page interface of the application according to the home page interface information of the application configured in the executable file.
  • the homepage interface information is, for example, the configuration information under the business information configuration item in the first file.
  • the engine execution module 5200 may include, for example, a process coordination module (Process Cooudinator) 5201, a component life cycle (Component LifeCycle) management module 5202, a message (Message) management module 5203, and an operating environment.
  • a process coordination module Process Cooudinator
  • Component LifeCycle component life cycle
  • Message message management module
  • a Context management module 5204 an EntryPoint management module 5205, an Ops Support module 5206, a Business Support module 5207, and a Router module 5208.
  • the component life cycle management module 5202 can be configured to handle the management and control of the entire life cycle such as starting, stopping, updating, and monitoring of functional components.
  • the process coordination module 5201 may be configured to perform the transformation process of the migration of each operation stage according to preset scheduling information of each operation stage, and coordinate the orderly work of each functional component.
  • the pointcut management module 5205 can be configured to perform built-in pointcuts (serviceComponent, taskComponent), and manage, trigger, and run custom pointcuts.
  • the message management module 5203 may be configured to perform internal message management of the engine device 5000 and provide a Topic-Subscribe mode.
  • the operating environment context management module 5204 may be configured to perform the storage and exchange of built-in variables of the entire life cycle of the engine device 5000 and public information.
  • the operation and maintenance horizontal support module 5206 can be configured to perform operation and maintenance related public capability support of the engine device 5000 and functional components, such as data collection and analysis such as Log, monitoring, and tracing.
  • the business horizontal support module 5207 can be configured to perform public capability support related to the engine device 5000 and functional component business, such as consistency, effect, performance, efficiency analysis, etc.
  • the routing module 5208 may be configured to forward and proxy the framework of the engine device 5000 to the view, api, cli, etc. of the functional components, but is not responsible for the service forwarding exposed by the external ports of the functional components.
  • the executable file may include a first file and a second file corresponding to the functional components used in a one-to-one correspondence;
  • the first file contains program information defining a program, and the program information includes task content information;
  • a second file contains component information defining corresponding functional components.
  • the plan information includes basic information of the plan, business information of the plan, and operation and maintenance information of the plan, where the business information contains task content information.
  • the business information of the solution may further include at least one of entry information of the solution and interface information of the solution.
  • the basic information of the solution may include at least one of the solution name, the keywords of the application field of the solution, and the solution description information.
  • the component information of each second file may include the basic information of the corresponding functional component, the business information of the corresponding functional component, and the operation and maintenance information of the corresponding functional component, wherein the business information of the corresponding functional component includes the corresponding Business rule information of functional components, etc.
  • the engine management module 5100 when the engine management module 5100 parses the executable file of the application, it can be configured to: decompress the executable file; and, according to the set save path, save all the files obtained by decompression to the directory Area.
  • the engine execution module 5200 runs the application according to the executable file, it can be configured to run the application according to the files in the directory area.
  • the engine management module 5100 may include a file parsing module (AsolExpl) 5101, and the engine management module 5100 may parse the executable file through the file parsing module 5101.
  • AsolExpl file parsing module
  • the engine execution module 5200 when the engine execution module 5200 runs the application according to the files in the directory area, it may be configured to initialize the engine execution module 5200 according to the files in the directory area, including the components of the initialization engine execution module 5200, to obtain The engine instance module 5200', that is, the engine execution module becomes an engine instance module 5200' specially configured to run the application; and, the engine instance module 5200' is started to run the application.
  • the engine management module 5100 when the engine management module 5100 parses the executable file of the application, it may be configured to: in response to a request to run the application, obtain the executable file of the application, and notify the engine execution module 5200 according to the The executable file runs the application.
  • the engine management module 5100 when the engine management module 5100 parses the executable file of the application, it may be configured to: detect whether the executable file can be identified; if the executable file can be identified, then notify the engine to execute The module 5200 executes the operation of running the application according to the executable file.
  • the executable file defines task content information for implementing the solution of the application.
  • the engine execution module 5200 runs the application according to the executable file, it may be configured to execute each task item included in the scheme according to the task content information to run the application.
  • the executable file defines task content information of a solution for implementing the application, and the task content information includes functional components used by the solution and operating information of each functional component.
  • the engine execution module 5200 when the engine execution module 5200 runs the application according to the executable file, it may be configured to call the used functional components according to the executable file to run the application.
  • the process coordination module 5201 of the engine execution module 5200 may complete the corresponding task items according to the functional components used by the executable file call to run the application.
  • the operation information includes at least one of the operation stage information to which the corresponding functional component belongs in the solution, the initialization information of the corresponding functional component, and the operating condition information of the corresponding functional component.
  • the engine execution module 5200 can start (or initialize) the used functional components according to the running information of the executable file to run the application.
  • the component life cycle management module 5202 of the engine execution module 5200 may activate the used functional components and the like according to the operation information.
  • the engine execution module 5200 is further configured to, before calling the functional component according to the executable file to run the application: initialize the corresponding functional component according to the operating information of each functional component defined by the executable file; obtain And register the external communication interface returned by each functional component after initialization; and, through the external communication interface, push the component information of each functional component defined by the executable file to the corresponding functional component.
  • the component life cycle management module 5202 of the engine execution module 5200 may perform related operations.
  • the engine execution module 5200 is further configured to: before invoking the functional components according to the executable file to run the application: obtain the status information returned by each functional component after the initialization, the running environment context information, and the subscription At least one item of message information; and, register the information returned by the functional component in the engine execution module 5200.
  • the engine execution module 5200 may, for example, control the performance behavior of the corresponding functional components according to the information during the process of running the application, for example, subscribe to related messages, regularly check public context information, and so on.
  • the message management module 5203 of the engine execution module 5200 and the operating environment context management module 5204 can perform related operations.
  • the executable file defines the operating condition information of the functional component.
  • the engine execution module 5200 invokes the functional component to run the application according to the executable file, it can be configured to: Define the operating condition information of each functional component, call the functional component to execute the corresponding task to run the application.
  • the process coordination module 5201 of the engine execution module 5200 may perform related operations.
  • the engine execution module 5200 when the engine execution module 5200 invokes the functional component according to the executable file to run the application, it may be configured to: obtain the runtime information of each functional component defined by the executable file in the solution. ; Obtain preset orchestration information that reflects the operating sequence of each operating phase; obtain operating condition information of each functional component defined by the executable file according to the operating phase information and the orchestration information; and, according to the operating condition information, call The functional component executes the corresponding task to run the application.
  • the process coordination module 5201 of the engine execution module 5200 may perform related operations.
  • the engine execution module 5200 when the engine execution module 5200 invokes the functional component to run the application according to the executable file, it may be configured to respond to the task completion message returned by the functional component in the current running stage of the solution. Event, check whether the current operation stage has been completed according to the executable file; and, in the case of completion, provide the output data of the current operation stage to the functional components of the next operation stage of the solution, and call the next operation stage
  • the functional components perform corresponding tasks.
  • the process coordination module 5201 of the engine execution module 5200 may perform related operations.
  • the engine execution module 5200 when invokes a functional component according to the executable file to run the application, it may further include: according to the running interface information of the corresponding functional component configured by the executable file, loading and displaying the corresponding running interface.
  • the running interface information can be configured in the second file of the configuration function component.
  • the routing device 5208 may perform related operations.
  • the application scheme involves four operating stages, which are data Processing stage, solution exploration stage, model iteration stage, and model application stage.
  • Each stage includes at least one functional component.
  • the data processing stage includes data processing components
  • the solution exploration stage includes solution exploration components
  • the model iteration stage includes self-learning components.
  • the model application stage includes online estimation components, etc.
  • the process may include, for example:
  • the engine management module 5100 checks whether the executable file can be identified, and if it can be identified, decompresses the executable file of the application, and saves the first file and the second file obtained by the decompression in the temporary directory area.
  • the engine execution module 5200 initializes the engine execution module 5200 according to the files in the temporary target area (including the first file and the second file), and obtains the engine instance module 5200' that can run the application.
  • engine instance module 5200' runs the online service application, it can load and display the interface homepage of the application according to the homepage path configuration information defined in the business information configuration item part of the first file.
  • the engine instance module 5200' notifies the above functional components to initialize according to the operating information of the functional components defined in the executable file. After the functional components are initialized, the engine instance module 5200' pushes the configuration information of each functional component to the corresponding Functional components. The engine instance module 5200' is finished starting, and reports its own status to the engine management module 5100, and the engine management module 5100 sets the running status of the engine device 5000 to "running".
  • the operating condition information of these four operating stages is determined according to the preset arrangement information: the plan exploration stage will run after the data processing stage is completed, and the model iteration stage will run after the plan exploration stage is completed.
  • the model application stage provides predictive services based on the output of the model iteration stage.
  • the process coordination module of the engine instance module 5200' calls the data processing component in the data processing stage to import data according to the plan definition.
  • the data processing component will trigger the data import completion message after completing the data import, and report the completion to the engine instance module 5200'.
  • the engine instance module 5200' performs corresponding stage processing in the data processing stage, including: forwarding the engine framework to the view, api, and cli of the data processing component through the routing module 5208, and loading the running interface defined by the second file of the display data processing component Etc.; through the component life cycle management module 5202, monitor or periodically call the interface with the data processing component; through the process coordination module 5201 to update the operating information of this stage; through the operating environment context management module 5204 to update the operating environment context at this stage (context); publish the change information of this stage through the message management module 5203; set the entry point (EntryPoint) logic and bind trigger events through the entry point management module 5205; and process the stage output of this stage through the process coordination module 5201 Wait.
  • stage processing in the data processing stage including: forwarding the engine framework to the view, api, and cli of the data processing component through the routing module 5208, and loading the running interface defined by the second file of the display data processing component Etc.; through the component life cycle management module 5202, monitor or
  • the engine instance module 5200' checks whether the data processing stage has been completed according to the definition of the executable file. If completed, the output of this stage is set as the imported data group address.
  • the engine instance module 5200' enters the plan exploration stage after the inspection data processing stage is completed.
  • automatic plan exploration is carried out by calling the plan exploration component, complete the plan investigation, and after the investigation produces the initial model, the plan exploration component
  • the exploration completion message will be triggered, and the output model will be reported to the engine instance module.
  • the engine instance module 5200' enters the model iteration stage after checking that the plan exploration stage has been completed.
  • the self-learning component is used to perform self-learning training based on the model produced in the plan exploration stage, and the training output is updated.
  • the self-learning component will trigger the self-learning completion message and report the updated model output to the engine instance module.
  • the engine instance module 5200' After the engine instance module 5200' checks that the model iteration stage is completed, it enters the model application stage. In the model application stage, the engine instance module invokes the updated model produced in the model iteration stage to provide estimation services, and executes the estimation The status of the service is reported to the engine instance module 5200'.
  • Fig. 8 is a structural principle block diagram of a device for constructing an artificial intelligence application according to an embodiment.
  • the application development device 4000a of the device 4000 may include an application configuration module 4100 and a file generation module 4200.
  • the various modules of the apparatus 4000 may be implemented by a processor of the electronic device running computer instructions stored in a memory of the electronic device.
  • the application configuration module 4100 is configured to obtain application configuration information for application configuration, where the application configuration information includes scheme information for implementing an artificial intelligence scheme of the application.
  • the file generating module 4200 is configured to generate an executable file of the application according to the application configuration information and a preset template file.
  • the plan information includes task content information of the plan.
  • the task content information includes content information of each task item and association information between each task item.
  • the task content information includes the functional components used by the solution and the operation information of each of the functional components; the application configuration information also includes component configuration information configured for each of the functional components.
  • the operating information includes at least one of operating stage information to which the corresponding functional component belongs in the solution, initialization information of the corresponding functional component, and operating condition information of the corresponding functional component.
  • the file generating module 4200 when the file generating module 4200 generates the executable file of the application according to the application configuration information and the preset template file, it may be configured to: generate the definition file according to the scheme information and the scheme template file. The first file of the solution; for each of the functional components, according to the component configuration information of the corresponding functional component and the component template file of the corresponding functional component, a second file defining the corresponding functional component is generated; and the first file is packaged And each of the second files to generate the executable file.
  • the component template file may include basic information configuration items of the corresponding component, business information configuration items of the corresponding component, and operation and maintenance information configuration items of the corresponding component, wherein the business information of the component includes the operation of the corresponding component Rules information.
  • the basic information of the component may include at least the version of the corresponding functional component, the creator of the corresponding functional component, the unique identifier of the corresponding functional component, the name of the corresponding functional component, and the data group in which the corresponding functional component is located.
  • the version of the corresponding functional component the creator of the corresponding functional component
  • the unique identifier of the corresponding functional component the name of the corresponding functional component
  • the data group in which the corresponding functional component is located One item.
  • the service information of the group price may further include at least one of context declaration information and message declaration information.
  • the component template file may also include configuration interface information.
  • the application configuration module 4100 may also be configured to: in response to the operation of configuring the functional component, parse the component template file of the corresponding functional component; and, define the configuration interface information in the component template file. In this case, the configuration interface of the corresponding functional component is rendered according to the configuration interface information.
  • the application configuration module 4100 may also be configured to: in response to the operation of configuring the functional component, load the file content of the component template file of the corresponding functional component for configuration.
  • the application configuration module 4100 may be further configured to provide a configuration portal interface in response to the operation of configuring the functional component, wherein the configuration portal interface includes a first configuration portal and a second configuration portal, wherein, the first configuration entry is an entry for selecting to load the configuration interface defined by the component template file of the corresponding functional component for configuration, and the second configuration entry is the entry for selecting to load the file content of the component template file of the corresponding functional component for configuration. Entrance.
  • the application configuration module 4100 may also be configured to: in response to the operation of defining the task content information, load the list items of the function components in the function component library; and detect the actions performed on the list items Edit operation, and obtain the functional components used by the solution and the operation information of each of the functional components according to the editing operation.
  • the editing operation includes a selection operation and a shift operation.
  • the application configuration module 4100 may be further configured to provide an operation interface configured to trigger an operation of configuring a corresponding functional component on the list item.
  • the functional components used in the solution may include any one or more of the following components: data preprocessing components, data splitting components, data merging components, feature extraction components, model training components, model evaluation components, Self-learning components, real-time estimation components, and batch estimation components.
  • the component development device 4000b of the device 4000 may further include a component generation module, the component generation module may be configured to: provide a functional component development template; obtain the functional component information defined according to the functional component development template and Information about the configuration function component, the function component information includes the function realization information of the corresponding function component; the file containing the function component information is packaged to generate the corresponding function component; and the corresponding function component is generated according to the information about the configuration function component Component configuration template.
  • the component generation module may be configured to: provide a functional component development template; obtain the functional component information defined according to the functional component development template and Information about the configuration function component, the function component information includes the function realization information of the corresponding function component; the file containing the function component information is packaged to generate the corresponding function component; and the corresponding function component is generated according to the information about the configuration function component Component configuration template.
  • the component development device 4000b of the device 4000 may further include a component publishing module configured to: in response to an operation of publishing the corresponding functional component, combine the corresponding functional component and the corresponding functional component The component configuration template of is uploaded to the component library, and the corresponding functional component is registered in the component library.
  • the preset template file may include a solution template file
  • the solution template file includes basic information configuration items of the solution, business information configuration items of the solution, and operation and maintenance information configuration items of the solution, wherein the The business information includes the task content information.
  • the task content information may include the functional components used by the solution and the operation information of each of the functional components; the business information also includes common configuration information of each of the functional components.
  • the public configuration information may include at least one of a public data dictionary, public system parameters, and public initialization information.
  • the business information of the solution may further include at least one of entry information of the solution and interface information of the solution.
  • the operation and maintenance information of the solution may include operation mode information and operation resource information.
  • the program information may further include basic information of the program, and the basic information of the program includes at least one of a program name, a keyword of a program applicable field, and program description information.
  • the application configuration module 4100 when the application configuration module 4100 obtains the application configuration information configured for the application, it may be configured to obtain the application configuration information input through the provided configuration interface.
  • any of the above configuration interfaces may include at least one of a configuration item that provides a check option and a configuration item that provides an input box.
  • the application configuration module 4100 may be further configured to: search for whether the template file has configuration information corresponding to the configuration items of the configuration interface; The corresponding configuration information is provided in the corresponding configuration items of the configuration interface.
  • the template file has defined corresponding configuration information for at least some of the included configuration items.
  • the file generating module 4200 when the file generating module 4200 generates the executable file of the application according to the application configuration information and the preset template file, it may be configured to update the template file according to the application configuration information, and generate the executable file of the application. executable file.
  • the application development device 4000a of the device 4000 may further include an application publishing module, and the application publishing module may be configured to: after the file generation module generates the executable file of the application, load and The engine adapted to the template file runs the executable file; and, in the case of passing the run, releases the executable file for download.
  • the application publishing module may be configured to publish the executable file to the application providing apparatus for downloading after the file generating module 4200 generates the executable file of the application.
  • a computer-readable storage medium wherein the computer-readable storage medium stores a computer program that can be read and executed by a computer, and the computer program is used to be read by the computer.
  • the method of running an artificial intelligence application according to any method embodiment or the method of constructing an artificial intelligence application according to any method embodiment is executed.
  • the present disclosure may be a device, a method, and/or a computer program product.
  • the computer program product may include a computer-readable storage medium loaded with computer-readable program instructions for enabling a processor to implement various aspects of the present disclosure.
  • the computer-readable storage medium may be a tangible device that can hold and store instructions used by the instruction execution device.
  • the computer-readable storage medium may be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing.
  • Non-exhaustive list of computer-readable storage media include: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM) Or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, mechanical encoding device, such as a printer with instructions stored thereon
  • RAM random access memory
  • ROM read-only memory
  • EPROM erasable programmable read-only memory
  • flash memory flash memory
  • SRAM static random access memory
  • CD-ROM compact disk read-only memory
  • DVD digital versatile disk
  • memory stick floppy disk
  • mechanical encoding device such as a printer with instructions stored thereon
  • the computer-readable storage medium used here is not interpreted as the instantaneous signal itself, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (for example, light pulses through fiber optic cables), or through wires Transmission of electrical signals.
  • the computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to various computing/processing devices, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and/or a wireless network.
  • the network may include copper transmission cables, optical fiber transmission, wireless transmission, routers, firewalls, switches, gateway computers, and/or edge servers.
  • the network adapter card or network interface in each computing/processing device receives computer-readable program instructions from the network, and forwards the computer-readable program instructions for storage in the computer-readable storage medium in each computing/processing device .
  • the computer program instructions used to perform the operations of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, or in one or more programming languages.
  • Source code or object code written in any combination, the programming language includes object-oriented programming languages such as Smalltalk, C++, etc., and conventional procedural programming languages such as "C" language or similar programming languages.
  • Computer-readable program instructions can be executed entirely on the user's computer, partly on the user's computer, executed as a stand-alone software package, partly on the user's computer and partly executed on a remote computer, or entirely on the remote computer or server carried out.
  • the remote computer can be connected to the user's computer through any kind of network-including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computer (for example, using an Internet service provider to connect to the user's computer) connection).
  • LAN local area network
  • WAN wide area network
  • an electronic circuit such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), can be customized by using the status information of the computer-readable program instructions.
  • FPGA field programmable gate array
  • PDA programmable logic array
  • the computer-readable program instructions are executed to realize various aspects of the present disclosure.
  • These computer-readable program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine that makes these instructions when executed by the processor of the computer or other programmable data processing device , A device that implements the functions/actions specified in one or more blocks in the flowcharts and/or block diagrams is produced. It is also possible to store these computer-readable program instructions in a computer-readable storage medium. These instructions make computers, programmable data processing apparatuses, and/or other devices work in a specific manner. Thus, the computer-readable medium storing the instructions includes An article of manufacture, which includes instructions for implementing various aspects of the functions/actions specified in one or more blocks in the flowcharts and/or block diagrams.
  • each block in the flowchart or block diagram may represent a module, program segment, or part of an instruction, and the module, program segment, or part of an instruction contains one or more components for realizing the specified logical function.
  • Executable instructions may also occur in a different order from the order marked in the drawings. For example, two consecutive blocks can actually be executed substantially in parallel, or they can sometimes be executed in the reverse order, depending on the functions involved.
  • each block in the block diagram and/or flowchart, and the combination of the blocks in the block diagram and/or flowchart can be implemented by a dedicated hardware-based system that performs the specified functions or actions Or it can be realized by a combination of dedicated hardware and computer instructions. It is well known to those skilled in the art that implementation through hardware, implementation through software, and implementation through a combination of software and hardware are all equivalent.
  • the present disclosure in the process of executing the assigned tasks by the working nodes, it dynamically adjusts the resource usage, thereby realizing efficient task allocation and resource scheduling, and improving task execution efficiency and resource utilization. Therefore, the present disclosure has strong industrial applicability.

Abstract

A method and system for running an artificial intelligence application, and a device. The method comprises: obtaining application configuration information configured for the application, wherein the application configuration information comprises scheme information of an artificial intelligence scheme for implementing the application (S3100); and generating, according to the application configuration information and a preset template file, an executable file of the application for running (S3200).

Description

运行人工智能应用的方法、系统及设备Method, system and equipment for running artificial intelligence applications
本公开要求2019年12月26日提交的、申请号为201911364703.1的中国专利申请的优先权,以及要求2019年12月26日提交的、申请号为201911364689.5的中国专利申请的优先权,此两件中国专利申请的全部内容通过引用结合在本公开中。This disclosure claims the priority of the Chinese patent application filed on December 26, 2019 with application number 201911364703.1, and the priority of the Chinese patent application filed on December 26, 2019 with application number 201911364689.5, these two The entire content of the Chinese patent application is incorporated in this disclosure by reference.
技术领域Technical field
本公开涉及人工智能技术领域,更具体地,涉及运行人工智能应用的方法、运行人工智能应用的系统、包括至少一个计算装置和至少一个存储装置的设备、及可读存储介质。The present disclosure relates to the field of artificial intelligence technology, and more specifically, to a method for running artificial intelligence applications, a system for running artificial intelligence applications, a device including at least one computing device and at least one storage device, and a readable storage medium.
背景技术Background technique
目前的人工智能(Artificial Intelligence,AI)应用构建是专家凭借自己的经验,根据场景问题定制化的完成一个应用服务的构建,这使得构建一个AI应用至少包括:设计数据流、构建离线模型、构建在线服务等部分,这些部分通常是由多个系统联合组成,存在大量与AI应用构建相关的规则、流程定义、环境、数据等信息暴露在外部需要用户在构建应用时处理,因此,现有的应用构建难以过程方法标准化,并且也无法沉淀迁移,这就导致了任意用户要构建一个AI应用,均需要花费大量的人力和时间去解决类似的问题,难以高效复制,效率较低。The current artificial intelligence (AI) application construction is that experts rely on their own experience to complete the construction of an application service customized according to the scene problem. This makes the construction of an AI application at least include: design data flow, build offline model, build Online services and other parts. These parts are usually composed of multiple systems. There are a large number of rules, process definitions, environment, data and other information related to the construction of AI applications that are exposed to the outside and need to be processed by users when building applications. Therefore, the existing Application construction is difficult to standardize the process and methods, and it is impossible to precipitate migration. This leads to any user who wants to build an AI application, it takes a lot of manpower and time to solve similar problems, it is difficult to efficiently replicate, and the efficiency is low.
发明内容Summary of the invention
本公开实施例的一个目的是提供一种运行或者构建人工智能应用的新技术方案。One purpose of the embodiments of the present disclosure is to provide a new technical solution for running or constructing artificial intelligence applications.
根据本公开的第一方面,提供了一种运行人工智能应用的方法,包括:According to the first aspect of the present disclosure, there is provided a method for running an artificial intelligence application, including:
获取针对所述应用配置的应用配置信息,其中,所述应用配置信息包括实现所述应用的人工智能方案的方案信息;Acquiring application configuration information configured for the application, where the application configuration information includes scheme information for implementing the artificial intelligence scheme of the application;
根据所述应用配置信息和预置的模板文件,生成所述应用的可执行文件以供运行。According to the application configuration information and the preset template file, an executable file of the application is generated for running.
根据本公开的第二方面,还提供了一种运行人工智能应用的系统,包括构建人工智能应用的装置,所述构建人工智能应用的装置包括:According to the second aspect of the present disclosure, there is also provided a system for running artificial intelligence applications, including a device for constructing artificial intelligence applications, the device for constructing artificial intelligence applications includes:
应用配置模块,被配置为获取针对所述应用配置的应用配置信息,其中,所述应用配置信息包括实现所述应用的人工智能方案的方案信息;以及,An application configuration module configured to obtain application configuration information for the application configuration, wherein the application configuration information includes scheme information for implementing the artificial intelligence scheme of the application; and,
文件生成模块,被配置为根据所述应用配置信息和预置的模板文件,生成所述应用的可执行文件以供运行。The file generating module is configured to generate an executable file of the application for running according to the application configuration information and a preset template file.
根据本公开的第三方面,还提供了一种包括至少一个计算装置和至少一个存储装置的设备,其中,所述至少一个存储装置用于存储指令,所述指令用于控制所述至少一个计算 装置执行根据本公开的第一方面所述的方法。According to a third aspect of the present disclosure, there is also provided a device including at least one computing device and at least one storage device, wherein the at least one storage device is used to store instructions, and the instructions are used to control the at least one computing device. The device executes the method according to the first aspect of the present disclosure.
根据本公开的第四方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现根据本公开的第一方面所述的方法。According to the fourth aspect of the present disclosure, there is also provided a computer-readable storage medium having a computer program stored thereon, and the computer program, when executed by a processor, implements the method according to the first aspect of the present disclosure.
在本公开的实施例中,预置有用于构建应用的模板文件,并对外暴露该模板文件的需要进行个性化配置的配置项,在用户针对这些暴露的配置项提供对应的个性化的配置信息后,本实施例的方法可以根据获取到的配置信息和模板文件生成引擎装置能够解析的可执行文件,以使得引擎装置能够通过该可执行文件运行对应的人工智能应用。在本实施例中,由于构建AI应用仅需要通过一个客户端配置模板文件暴露的配置项,而且模板文件定义有对于不同人工智能应用可以共用的配置信息,因此,本实施例实现了构建应用的过程标准化,并且通过保存经配置的模板文件,便可实现AI应用构建的沉淀和迁移,大大降低了构建一个AI应用的难度,有效提高了构建效率。In the embodiment of the present disclosure, a template file for building an application is preset, and configuration items of the template file that need to be personalized configuration are exposed to the outside, and the user provides corresponding personalized configuration information for these exposed configuration items. Thereafter, the method of this embodiment can generate an executable file that can be parsed by the engine device based on the obtained configuration information and template file, so that the engine device can run the corresponding artificial intelligence application through the executable file. In this embodiment, since the construction of an AI application only requires configuration items exposed through a client configuration template file, and the template file defines configuration information that can be shared for different artificial intelligence applications, this embodiment realizes the construction of the application. The process is standardized, and by saving the configured template file, the precipitation and migration of AI application construction can be realized, which greatly reduces the difficulty of building an AI application and effectively improves the construction efficiency.
另外,在本公开的实施例中,通过引擎装置能够解析的可执行文件表达一个AI应用,并通过该引擎装置解析并运行该可执行文件,实现该应用的上线使用,本公开实施例的方法通过一种系统实现AI应用的构建和运行,无需联合多个系统实现,实现了应用构建过程及运行过程的标准化。In addition, in the embodiments of the present disclosure, an AI application is expressed by an executable file that can be parsed by the engine device, and the executable file is parsed and executed by the engine device to realize the online use of the application. The method of the embodiment of the present disclosure The construction and operation of AI applications are realized through one system, without the need to implement multiple systems together, and the standardization of the application construction process and operation process is realized.
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。Through the following detailed description of exemplary embodiments of the present disclosure with reference to the accompanying drawings, other features and advantages of the present disclosure will become clear.
附图说明Description of the drawings
被结合在说明书中并构成说明书的一部分的附图示出了本公开的实施例,并且连同其说明一起用于解释本公开的原理。The drawings incorporated in the specification and constituting a part of the specification illustrate the embodiments of the present disclosure, and together with the description thereof, serve to explain the principle of the present disclosure.
图1是显示可用于实现本公开实施例的方法的电子设备的硬件配置的例子的框图;FIG. 1 is a block diagram showing an example of the hardware configuration of an electronic device that can be used to implement the method of the embodiment of the present disclosure;
图2是根据一个实施例的运行人工智能应用的系统的组成结构示意图;FIG. 2 is a schematic diagram of the composition structure of a system for running artificial intelligence applications according to an embodiment;
图3是根据一个实施例的运行人工智能应用的方法中构建人工智能应用的方法的流程示意图;FIG. 3 is a schematic flowchart of a method for constructing an artificial intelligence application in a method for running an artificial intelligence application according to an embodiment;
图4是根据一个实施例的配置入口界面的界面示意图;Fig. 4 is a schematic diagram of an interface of a configuration entry interface according to an embodiment;
图5是根据另一个实施例的运行人工智能应用的方法的流程示意图;Fig. 5 is a schematic flowchart of a method for running an artificial intelligence application according to another embodiment;
图6是根据一个实施例的引擎装置的原理框图;Fig. 6 is a functional block diagram of an engine device according to an embodiment;
图7是根据一个例子的引擎装置运行在线预估应用的运行流程示意图;FIG. 7 is a schematic diagram of the running process of the online estimation application running by the engine device according to an example;
图8是根据一个实施例的构建人工智能应用的装置的原理框图。Fig. 8 is a schematic block diagram of an apparatus for constructing an artificial intelligence application according to an embodiment.
具体实施方式Detailed ways
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that unless specifically stated otherwise, the relative arrangement of components and steps, numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present disclosure.
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。The following description of at least one exemplary embodiment is actually only illustrative, and in no way serves as any limitation to the present disclosure and its application or use.
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情 况下,技术、方法和设备应当被视为说明书的一部分。The techniques, methods, and equipment known to those of ordinary skill in the relevant fields may not be discussed in detail, but where appropriate, the techniques, methods, and equipment should be regarded as part of the specification.
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。In all examples shown and discussed herein, any specific value should be interpreted as merely exemplary, rather than as a limitation. Therefore, other examples of the exemplary embodiment may have different values.
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。It should be noted that similar reference numerals and letters indicate similar items in the following drawings, so once an item is defined in one drawing, it does not need to be further discussed in the subsequent drawings.
<硬件配置><Hardware Configuration>
本公开实施例的方法可以由至少一台电子设备实施。图1示出了任意电子设备的硬件结构。图1所示的电子设备可以是便携式电脑、台式计算机、手机、平板电脑、服务器等,也可以是任意的具有处理器等计算装置和存储器等存储装置的其他设备,在此不做限定。The method of the embodiment of the present disclosure may be implemented by at least one electronic device. Figure 1 shows the hardware structure of any electronic device. The electronic device shown in FIG. 1 can be a laptop computer, a desktop computer, a mobile phone, a tablet computer, a server, etc., or any other device having a computing device such as a processor and a storage device such as a memory, which is not limited herein.
如图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所示的电子设备仅仅是说明性的并且决不意味着对本公开、其应用或使用的任何限制。As shown in FIG. 1, the electronic device 1000 may include a processor 1100, a memory 1200, an interface device 1300, a communication device 1400, a display device 1500, an input device 1600, a speaker 1700, a microphone 1800, and so on. Among them, the processor 1100 is used to execute a computer program. The computer program can be written with an instruction set of architectures such as x86, Arm, RISC, MIPS, and SSE. The memory 1200 includes, for example, ROM (Read Only Memory), RAM (Random Access Memory), nonvolatile memory such as a hard disk, and the like. The interface device 1300 includes, for example, a USB interface, a headphone interface, and the like. The communication device 1400 can, for example, perform wired or wireless communication, and specifically may include Wifi communication, Bluetooth communication, 2G/3G/4G/5G communication, and the like. The display device 1500 is, for example, a liquid crystal display, a touch display, or the like. The input device 1600 may include, for example, a touch screen, a keyboard, a somatosensory input, and the like. The electronic device 1000 may output voice information through the speaker 1700, and may collect voice information through the microphone 1800. The electronic device shown in FIG. 1 is merely illustrative and in no way implies any limitation on the present disclosure, its application or use.
将该电子设备1000应用于本公开实施例中,该电子设备1000的存储器1200用于存储指令,该指令用于控制处理器1100进行操作以执行根据本公开任意实施例的运行人工智能应用的方法。技术人员可以根据本公开所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。The electronic device 1000 is applied to an embodiment of the present disclosure, and the memory 1200 of the electronic device 1000 is used to store instructions, and the instructions are used to control the processor 1100 to operate to execute the method for running an artificial intelligence application according to any embodiment of the present disclosure . Technicians can design instructions according to the solutions disclosed in this disclosure. How the instruction controls the processor to operate is well known in the art, so it will not be described in detail here.
在另外的实施例中,该电子设备1000也可以包括根据本公开任意实施例的引擎装置,其中,该引擎装置被设置为执行根据本公开任意实施例的运行人工智能应用的方法。或者,该电子设备1000也可以包括根据本公开任意实施例的构建人工智能应用的装置,以执行根据本发明任意实施例的运行人工智能应用的方法。In another embodiment, the electronic device 1000 may also include an engine device according to any embodiment of the present disclosure, wherein the engine device is configured to execute the method for running an artificial intelligence application according to any embodiment of the present disclosure. Alternatively, the electronic device 1000 may also include an apparatus for constructing an artificial intelligence application according to any embodiment of the present disclosure to execute the method for running an artificial intelligence application according to any embodiment of the present disclosure.
在一个实施例中,提供了一种包括至少一个计算装置和至少一个存储装置的设备,该至少一个存储装置用于存储指令,该指令用于控制该至少一个计算装置执行根据本公开任意实施例的运行人工智能应用的方法。In one embodiment, there is provided a device including at least one computing device and at least one storage device, the at least one storage device is used to store instructions, and the instructions are used to control the at least one computing device to execute any of the embodiments according to the present disclosure. Method of running artificial intelligence applications.
该设备可以包括至少一台如图1所示的电子设备1000,以提供至少一个例如是处理器的计算装置和至少一个例如是存储器的存储装置,在此不做限定。The device may include at least one electronic device 1000 as shown in FIG. 1 to provide at least one computing device such as a processor and at least one storage device such as a memory, which is not limited herein.
<系统实施例><System Example>
在一个实施例中,参见图2所示,提供了一种运行人工智能方案的系统AIS,该系统AIS包括引擎装置5000和构建人工智能应用的装置4000。In one embodiment, referring to FIG. 2, a system AIS running an artificial intelligence solution is provided. The system AIS includes an engine device 5000 and a device 4000 for building artificial intelligence applications.
本实施例中,构建人工智能应用的装置4000被配置为生成AI应用的可执行文件,该可执行文件具有引擎装置5000能够解析的数据结构。In this embodiment, the device 4000 for building an artificial intelligence application is configured to generate an executable file of the AI application, and the executable file has a data structure that the engine device 5000 can parse.
本实施例中,引擎装置5000被配置为根据该可执行文件运行该应用。In this embodiment, the engine device 5000 is configured to run the application according to the executable file.
本实施例中,由于装置4000生成的可执行文件的数据结构为引擎装置5000能够解析的数据结构,因此,引擎装置5000在接收到运行该应用的请求时,引擎装置5000便可通过解析该应用的可执行文件来运行该应用。In this embodiment, because the data structure of the executable file generated by the device 4000 is a data structure that can be parsed by the engine device 5000, when the engine device 5000 receives a request to run the application, the engine device 5000 can analyze the application Executable file to run the application.
本实施例中,该系统AIS还可以包括专用的应用提供装置6000,该装置4000还可以被配置为将生成的可执行文件发布至该应用提供装置6000以供下载,而引擎装置5000则可以根据应用使用者从该应用提供装置6000下载的可执行文件运行该应用。该实施例中,应用提供装置6000相当于一个应用商店,应用使用者可以在应用提供装置6000中下载满足自身使用需求的应用的可执行文件,并启动引擎装置5000运行该应用。In this embodiment, the system AIS may also include a dedicated application providing device 6000, the device 4000 may also be configured to publish the generated executable file to the application providing device 6000 for download, and the engine device 5000 may be based on The executable file downloaded by the application user from the application providing device 6000 runs the application. In this embodiment, the application providing device 6000 is equivalent to an application store, and the application user can download the executable file of the application that meets their own usage requirements in the application providing device 6000, and start the engine device 5000 to run the application.
本实施例中,应用开发者可以通过组件开发者预先开发的一些功能组件来编辑应用的可执行文件,因此,该系统AIS还可以包括组件提供装置7000,组件开发者在完成功能组件的开发后,可将功能组件的打包文件发送至该组件提供装置7000,以供应用开发者在通过装置4000开发AI应用时使用,因此,该组件提供装置7000被配置为提供可执行文件涉及的功能组件。In this embodiment, the application developer can edit the executable file of the application through some functional components pre-developed by the component developer. Therefore, the system AIS may also include a component providing device 7000. The component developer may complete the development of the functional component. , The packaged file of the functional component can be sent to the component providing device 7000 for application developers to use when developing AI applications through the device 4000. Therefore, the component providing device 7000 is configured to provide the functional components involved in the executable file.
在该应用的可执行文件涉及功能组件的情况下,该引擎装置5000在根据该可执行文件运行该应用时,被配置为根据该可执行文件调用所涉及的功能组件以运行该应用。In the case that the executable file of the application involves a functional component, when the engine device 5000 runs the application according to the executable file, it is configured to call the involved functional component according to the executable file to run the application.
本实施例中,该装置4000可以包括应用开发装置4000a和组件开发装置4000b。应用开发装置4000a供应用开发者构建AI应用使用。组件开发装置4000b供组件开发者开发功能组件,并将功能组件发布至组件提供装置7000,以供应用开发者开发AI应用使用及供引擎装置5000运行AI应用的可执行文件使用。In this embodiment, the device 4000 may include an application development device 4000a and a component development device 4000b. The application development device 4000a is used by developers to build AI applications. The component development device 4000b is for component developers to develop functional components and publish the functional components to the component providing device 7000 for use by the application developers to develop AI applications and for the engine device 5000 to run the executable files of the AI applications.
在另外的实施例中,应用开发者通过装置4000构建AI应用的可执行文件时,也可以缺省使用功能组件,在该实施例中,系统AIS也可以不具有组件提供装置7000,装置4000也可以不具有组件开发装置4000b等,在此不做限定。In another embodiment, when the application developer builds the executable file of the AI application through the device 4000, the functional component may also be used by default. In this embodiment, the system AIS may not have the component providing device 7000, and the device 4000 may also It is not necessary to have the component development device 4000b, etc., which is not limited here.
任意实施例的系统AIS可以搭建在如图1所示的一台电子设备上,也可以搭建在至少两台电子设备上,例如将装置4000与引擎装置5000搭建在不同的电子设备上。而且,该系统AIS的任意装置也可以搭建在一台电子设备上,或者搭建在至少两台电子设备上,例如,将装置4000的应用开发装置4000a与组件开发装置4000b搭建在不同的电子设备上等,在此不做限定。The system AIS of any embodiment can be built on one electronic device as shown in FIG. 1 or on at least two electronic devices, for example, the device 4000 and the engine device 5000 are built on different electronic devices. Moreover, any device of the system AIS can also be built on one electronic device, or built on at least two electronic devices, for example, the application development device 4000a of the device 4000 and the component development device 4000b can be built on different electronic devices Wait, it is not limited here.
<构建AI应用的方法实施例><Examples of methods for constructing AI applications>
本公开实施例的运行人工智能应用的方法包括构建人工智能应用的方法,以在完成构建后,能够通过相适配的引擎装置运行该人工智能应用。下面先介绍在一个实施例中通过装置4000的应用开发装置4000a构建人工智能应用的方法,该应用开发装置4000a相当于一个应用编辑器,如图3所示,该方法可以包括如下步骤S3100和步骤S3200。The method of running an artificial intelligence application in the embodiment of the present disclosure includes a method of constructing an artificial intelligence application, so that after the construction is completed, the artificial intelligence application can be run through a suitable engine device. The following first introduces a method of constructing an artificial intelligence application through the application development device 4000a of the device 4000 in an embodiment. The application development device 4000a is equivalent to an application editor. As shown in FIG. 3, the method may include the following steps S3100 and S3200.
步骤S3100,获取针对应用配置的应用配置信息,其中,该应用配置信息包括实现该应用的人工智能方案的方案信息。Step S3100: Obtain application configuration information for the application configuration, where the application configuration information includes scheme information for implementing the artificial intelligence scheme of the application.
该方案信息可以包括方案的任务内容信息,该任务内容信息即指定义该方案执行的任务内容的信息。The plan information may include task content information of the plan, and the task content information refers to information that defines the content of the tasks executed by the plan.
该方案可以包括一个任务事项,也可以包括多个任务事项。该任务内容信息可以包括每一任务事项的内容信息及各个任务事项之间的关联信息。每一任务事项的内容信息即指 对应任务事项本身的任务内容,而关联信息则反映各个任务事项之间的依赖关系,例如,包括反映各个任务事项之间的执行顺序等。The program can include one task item or multiple task items. The task content information may include content information of each task item and associated information between each task item. The content information of each task item refers to the task content of the corresponding task item itself, and the associated information reflects the dependency relationship between each task item, for example, includes reflecting the execution order of each task item.
步骤S3200,根据通过步骤S3100获取到的应用配置信息和预置的模板文件,生成该应用的可执行文件以供运行。In step S3200, an executable file of the application is generated for running according to the application configuration information obtained in step S3100 and the preset template file.
本实施例中,该预置的模板文件按照引擎装置能够解析的数据结构设置各个配置项,以能够生成该应用的可被引擎装置解析的可执行文件。In this embodiment, the preset template file sets various configuration items according to the data structure that the engine device can parse, so as to be able to generate the executable file of the application that can be parsed by the engine device.
该数据结构例如是符合JSON规范的数据结构等,在此不做限定。The data structure is, for example, a data structure conforming to the JSON specification, etc., which is not limited here.
在一个实施例中,模板文件对于其中的至少部分配置项定义有对应的默认的配置信息。该至少部分配置项可以包括对于任意应用而言可以共用配置信息的配置项。该至少部分配置项也可以包括可供应用开发者进行个性化配置的配置项。In an embodiment, the template file defines corresponding default configuration information for at least part of the configuration items therein. The at least part of the configuration items may include configuration items that can share configuration information for any application. The at least part of the configuration items may also include configuration items that can be personalized by application developers.
本实施例中,对于模板文件设置的各个配置项,应用编辑器可以直接加载显示模板文件的文件内容,以供应用开发者针对需要配置的配置项填加或者修改对应的配置信息,例如,应用开发者针对需要进行个性化配置的配置项填加或者修改对应的配置信息,应用编辑器在应用开发者直接通过模板文件输入这些应用配置信息后,通过步骤S3100获取到应用开发者针对所开发的应用配置的应用配置信息。In this embodiment, for each configuration item set by the template file, the application editor can directly load and display the file content of the template file, so that the application developer can add or modify the corresponding configuration information for the configuration items that need to be configured, for example, the application The developer fills in or modifies the corresponding configuration information for the configuration items that need to be customized. After the application developer directly enters the application configuration information through the template file, the application developer obtains the information developed by the application developer through step S3100. Application configuration information of the application configuration.
本实施例中,对于模板文件设置的各个配置项,应用编辑器也可以提供配置接口,应用开发者可以通过配置接口输入针对所开发应用配置的配置信息,提高应用编辑器的易用性,并降低应用开发者构建AI应用的门槛。对应地,应用编辑器在步骤S3100可以获取通过提供的配置接口输入的应用配置信息。In this embodiment, for each configuration item set by the template file, the application editor can also provide a configuration interface, and the application developer can input configuration information for the developed application configuration through the configuration interface, which improves the ease of use of the application editor and Lower the threshold for application developers to build AI applications. Correspondingly, the application editor can obtain the application configuration information input through the provided configuration interface in step S3100.
在一个实施例中,应用编辑器可以仅针对可供应用开发者进行个性化配置的配置项提供配置接口,即,应用编辑器对外暴露的配置接口可以仅包括模板文件中的部分配置项,例如,包括可供应用开发者进行个性化配置的配置项等。In one embodiment, the application editor may only provide configuration interfaces for configuration items that can be personalized by application developers. That is, the configuration interfaces exposed by the application editor may only include some of the configuration items in the template file, such as , Including configuration items that can be customized by application developers.
该配置接口可以包括提供勾选项(包括下拉列表)的配置项、提供输入框的配置项中的至少一项。The configuration interface may include at least one of configuration items that provide check options (including drop-down lists) and configuration items that provide input boxes.
在一个实施例中,该方法还可以包括如下步骤:查找该模板文件是否具有对应配置接口的配置项的配置信息;及在具有该配置信息的情况下,在配置接口的对应配置项中提供对应的配置信息。本实施例中,对于配置接口中的配置项,如果所选择的模板文件中已定义有对应配置项的配置信息,则可以在配置接口的对应配置项中提供该配置信息,这样,应用开发者可以根据所构建AI应用的应用场合,选择是否需要修改配置接口中的配置项的配置信息,进一步减少构建AI应用的配置量。In one embodiment, the method may further include the steps of: searching whether the template file has configuration information corresponding to the configuration items of the configuration interface; and in the case of having the configuration information, providing the corresponding configuration items in the corresponding configuration items of the configuration interface. Configuration information. In this embodiment, for the configuration items in the configuration interface, if the selected template file has already defined the configuration information of the corresponding configuration item, the configuration information can be provided in the corresponding configuration item of the configuration interface. In this way, the application developer It is possible to choose whether to modify the configuration information of the configuration items in the configuration interface according to the application occasion of the AI application to be constructed, so as to further reduce the amount of configuration for building the AI application.
在一个实施例中,该步骤S3200中根据应用配置信息和预置的模板文件,生成应用的可执行文件可以包括:根据该应用配置信息更新模板文件,生成该应用的可执行文件。该实施例中,对于模板文件中未定义默认的配置信息的配置项,可以将应用配置信息中的对应信息填写在该配置项下;对于模板文件中定义有默认的配置信息的配置项,可以用应用配置信息中的对应信息替换原有的配置信息,进而实现模板文件的更新。In an embodiment, generating the executable file of the application according to the application configuration information and the preset template file in step S3200 may include: updating the template file according to the application configuration information to generate the executable file of the application. In this embodiment, for configuration items that do not define default configuration information in the template file, the corresponding information in the application configuration information can be filled in the configuration items; for configuration items that have default configuration information defined in the template file, you can Replace the original configuration information with the corresponding information in the application configuration information, thereby realizing the update of the template file.
在一个实施例中,该方法在生成应用的可执行文件之后,还可以包括:将可执行文件发布至应用提供装置6000以供下载。该实施例中,应用提供装置6000相对于一个应用商 店,所有构建的AI应用的可执行文件均发布在该应用商店中,例如,一位应用开发者通过本实施例的方法构建了一个单表通用应用,并将该单表通用应用发布至该应用商店,另一位应用开发者通过本实施例的方法构建了一个反洗钱应用,并将该反洗钱应用也发布至该应用商店,还有一位应用开发者通过本实施例的方法构建了一个反欺诈应用,并将该反欺诈应用也发布至该应用商店等,使得该应用商店汇聚了已经构建好的各种AI应用,需要使用AI应用的应用使用者可以到应用提供装置下载所需的应用的可执行文件,以运行所需的应用。In one embodiment, after generating the executable file of the application, the method may further include: publishing the executable file to the application providing device 6000 for downloading. In this embodiment, the application providing device 6000 is relative to an application store, and all executable files of AI applications constructed are published in the application store. For example, an application developer constructs a single table through the method of this embodiment. Universal application, and publish the single-meter universal application to the application store, another application developer builds an anti-money laundering application using the method of this embodiment, and publishes the anti-money laundering application to the application store, and another An application developer built an anti-fraud application using the method of this embodiment, and published the anti-fraud application to the application store, etc., so that the application store gathers various AI applications that have been built, and AI applications need to be used The application users can download the executable file of the required application from the application providing device to run the required application.
在一个实施例中,该方法在生成应用的可执行文件之后,还可以包括:加载与模板文件相适配的引擎装置运行该可执行文件;及在运行通过的情况下,发布该可执行文件以供下载。该实施例中,通过在发布之前加载引擎装置运行该可执行文件进行验证,可以保证发布至应用提供装置的应用的可执行文件的有效性。In one embodiment, after generating the executable file of the application, the method may further include: loading the engine device adapted to the template file to run the executable file; and in the case of passing the execution, publishing the executable file For download. In this embodiment, by loading the engine device to run the executable file for verification before publishing, the validity of the executable file of the application published to the application providing device can be guaranteed.
在一个实施例中,对于方案信息中的方案的任务内容信息,模板文件可以提供自定义任务事项及各个任务事项之间的关联信息的配置项,例如jobs配置项,应用开发者可以针对该配置项编辑自定义的配置信息,实现对于任务内容信息的表达。In one embodiment, for the task content information of the project in the project information, the template file can provide configuration items of custom task items and associated information between each task item, such as jobs configuration items. The application developer can configure Item edit custom configuration information to realize the expression of task content information.
在一个实施例中,为了方便构建更为复杂的AI应用,构建AI应用的装置可以提供符合引擎装置框架的要求的组件开发装置4000b,组件开发者可以通过该组件开发装置4000b预先开发一些符合引擎装置框架要求的功能组件,以供应用开发者在构建AI应用选择使用,进而生成该应用的可执行文件,及供引擎装置调用该可执行文件涉及的功能组件,以运行该可执行文件。在此,每一功能组件相当于封装好的模组,每一功能组件至少能够完成一个任务事项,应用开发者在构建AI应用时,可以通过选择所需的功能组件及配置每一功能组件的运行信息,实现对于所构建的AI应用的任务内容信息的表达,而无需自定义这些任务事项。In one embodiment, in order to facilitate the construction of more complex AI applications, the device for constructing AI applications can provide a component development device 4000b that meets the requirements of the engine device framework, and component developers can use the component development device 4000b to pre-develop some compliant engines. The functional components required by the device framework are selected for use by the application developer in building the AI application, and then an executable file of the application is generated, and the functional components involved in the executable file are called by the engine device to run the executable file. Here, each functional component is equivalent to a packaged module, and each functional component can complete at least one task item. When building an AI application, application developers can select the required functional components and configure the configuration of each functional component. Operational information, to realize the expression of task content information for the constructed AI application, without the need to customize these task items.
因此,在该实施例中,方案的任务内容信息可以包括方案使用的功能组件及每一功能组件的运行信息。该运行信息例如可以包括对应功能组件在方案中所属的运行阶段信息、对应功能组件的初始化信息、及对应功能组件的运行条件信息中的至少一项。这样,引擎装置5000在运行AI应用的可执行文件时,便可以根据该任务内容信息,按照运行信息调用相应的功能组件,以提供应用服务。通过该实施例,可以简化构建AI应用的配置,以更为简单的方式构建复杂的AI应用。Therefore, in this embodiment, the task content information of the solution may include the functional components used by the solution and the operation information of each functional component. The operation information may include, for example, at least one of the operation stage information to which the corresponding functional component belongs in the solution, the initialization information of the corresponding functional component, and the operation condition information of the corresponding functional component. In this way, when the engine device 5000 runs the executable file of the AI application, it can call corresponding functional components according to the task content information according to the running information to provide application services. Through this embodiment, the configuration of building AI applications can be simplified, and complex AI applications can be built in a simpler manner.
该运行阶段表示对应功能组件在所构建的AI应用中所属的任务阶段,例如包括数据模板阶段、方案生成阶段等。The operation stage indicates the task stage to which the corresponding functional component belongs in the constructed AI application, and includes, for example, a data template stage, a scheme generation stage, and so on.
该初始化信息表示对应功能组件的初始化顺序、是否初始化等。The initialization information indicates the initialization sequence of the corresponding functional components, whether to initialize, and so on.
该运行条件信息表示对应功能组件运行的条件,即,在引擎装置5000运行该可执行文件的过程中,满足该条件的情况下,再调用对应的功能组件完成对应的任务事项。The operating condition information indicates the operating condition of the corresponding functional component, that is, when the condition is met during the execution of the executable file by the engine device 5000, the corresponding functional component is called to complete the corresponding task.
在一个实施例中,这些功能组件例如可以包括如下中的任一个或多个组件:数据预处理组件、数据拆分组件、数据合并组件、特征抽取组件、模型训练组件、模型评估组件、自学习组件、实时预估组件、及批量预估组件等。In one embodiment, these functional components may include, for example, any one or more of the following components: data preprocessing component, data splitting component, data merging component, feature extraction component, model training component, model evaluation component, self-learning Components, real-time estimation components, and batch estimation components, etc.
数据预处理组件例如可以完成在输入的数据表中选取数据表、及在选取的数据表中选取数据的任务事项。数据合并组件例如可以完成将选取出来的数据表合并为一个数据表的任务事项。数据拆分组件例如可以完成将数据拆分为训练数据和验证数据的任务事项。特 征抽取组件例如可以完成从数据中提取设定模型训练或者模型预测所需的特征的任务事项。模型训练组件例如可以完成基于指定的算法进行模型训练的任务事项,例如二分类算法。模型评估组件例如可以完成通过验证数据对训练得到的模型进行评估,并给出设定的模型指标的任务事项。实时预估组件例如可以完成通过模型对输入的数据进行实时预测的任务事项。批量预估组件例如可以完成通过模型对输入的数据进行批量预测的任务事项。自学习组件例如可以完成通过新产生的数据继续训练在先的模型以实现模型更新的任务事项。For example, the data preprocessing component can complete the task of selecting a data table from the input data table and selecting data from the selected data table. The data merging component can complete the task of merging selected data tables into one data table, for example. The data splitting component can complete the task of splitting data into training data and verification data, for example. The feature extraction component can, for example, complete the task of extracting and setting features required for model training or model prediction from data. The model training component, for example, can complete the task of performing model training based on a specified algorithm, such as a two-class algorithm. The model evaluation component, for example, can complete the evaluation of the model obtained by training through the verification data, and give the task items of the set model indicators. The real-time estimation component can complete the task of real-time prediction of the input data through the model, for example. The batch estimation component can complete the task of performing batch prediction on the input data through the model, for example. For example, the self-learning component can complete the task of continuing to train the previous model through the newly generated data to achieve model update.
为了提供可供应用开发者使用的功能组件,该装置4000还可以提供组件开发装置4000b,以供组件开发者开发功能组件使用,在此,通过组件开发装置4000b生成功能组件可以包括如下步骤S4100~S4400:In order to provide functional components that can be used by application developers, the device 4000 may also provide a component development device 4000b for component developers to develop functional components. Here, generating a functional component through the component development device 4000b may include the following steps S4100~ S4400:
步骤S4100,提供功能组件开发模板。In step S4100, a functional component development template is provided.
本实施例中,该组件开发装置4000b基于引擎装置5000的架构,提供能够被引擎装置5000解析的功能组件开发模板,组件开发者利用这些功能组件开发模板,便可实现能够完成某一或者某些任务事项的功能组件。In this embodiment, the component development device 4000b is based on the architecture of the engine device 5000, and provides functional component development templates that can be parsed by the engine device 5000. The component developer can use these functional component development templates to implement certain or some Functional components of task items.
本实施例中,组件开发者可以通过功能组件开发模板定义功能组件信息,该功能组件信息包括对应功能组件的功能实现信息,即,对应功能组件的实现代码。In this embodiment, the component developer can define the function component information through the function component development template, and the function component information includes the function realization information of the corresponding function component, that is, the realization code of the corresponding function component.
该功能组件信息还可以包括针对对应功能组件编写的makefile文件等。The functional component information may also include a makefile written for the corresponding functional component.
本实施例中,组件开发者还可以通过功能组件开发模板定义有关配置功能组件的信息,以供生成组件配置模板,这样,应用开发者在通过应用编辑器构建AI应用时,便可利用该组件配置模板进行所选择的功能组件的配置,以使得所选择的功能组件能够按照应用开发者的配置在所构建的应用中发挥作用。In this embodiment, component developers can also define information about configuring functional components through functional component development templates for generating component configuration templates. In this way, application developers can use the component when building AI applications through the application editor. The configuration template configures the selected functional component so that the selected functional component can play a role in the constructed application according to the configuration of the application developer.
该有关配置功能组件的信息例如可以包括对应功能组件的名称、对应功能组件的版本、对应功能组件的后端镜像、对应功能组件的前端UI包、对应功能组件的命令行界面(command-line interface,CLI)等。在此,该功能组件相当于运行在引擎装置中的一个服务,是一个按约定规则组织的微服务,包括后端的微服务镜像,功能组件运行UI,功能组件配置自定义UI,功能组件的sdk/cli包等。The information about the configuration function component may include, for example, the name of the corresponding function component, the version of the corresponding function component, the back-end image of the corresponding function component, the front-end UI package of the corresponding function component, and the command-line interface (command-line interface) of the corresponding function component. , CLI) etc. Here, the functional component is equivalent to a service running in the engine device. It is a microservice organized according to agreed rules, including the back-end microservice mirroring, functional component running UI, functional component configuration custom UI, and functional component SDK /cli package, etc.
该有关配置功能组件的信息可以包括对于对应功能组件进行配置的配置信息,也可以包括对于对应功能组件设置配置项的信息。The information about configuring the functional component may include configuration information for configuring the corresponding functional component, and may also include information about setting configuration items for the corresponding functional component.
步骤S4200,获取根据功能组件开发模板定义的功能组件信息和功能组件配置信息。Step S4200: Obtain the functional component information and the functional component configuration information defined according to the functional component development template.
步骤S4300,打包包含该功能组件信息的文件,生成对应功能组件。In step S4300, the file containing the information of the functional component is packaged, and the corresponding functional component is generated.
本实施例中,打包的文件可以包括一份文件,也可以包括多份文件,以通过这些文件定义对应的功能组件。In this embodiment, the packaged file may include one file or multiple files, so as to define corresponding functional components through these files.
组件开发装置4000b可以提供用于触发打包命令的操作接口,组件开发者可以通过该操作接口触发打包请求,组件开发装置4000b根据该请求执行该打包操作。The component development device 4000b can provide an operation interface for triggering a packaging command, the component developer can trigger a packaging request through the operation interface, and the component development device 4000b executes the packaging operation according to the request.
步骤S4400,根据有关配置功能组件的信息,生成对应功能组件的组件配置模板。In step S4400, a component configuration template corresponding to the functional component is generated according to the information about the configured functional component.
本实施例中,组件开发装置4000b可以根据对于组件配置模板的数据结构的要求,利用获取到的有关配置功能组件的信息,设置对于该功能组件的配置项及对于至少部分配置项设置默认的配置信息,以生成对应功能组件的组件配置模板。因此,生成的组件配置模 板包含对应功能组件的各个配置项,并针对至少部分配置项定义有默认的配置信息。In this embodiment, the component development device 4000b can use the acquired information about configuring functional components to set configuration items for the functional component and set default configurations for at least some of the configuration items according to the requirements for the data structure of the component configuration template. Information to generate a component configuration template corresponding to the functional component. Therefore, the generated component configuration template contains various configuration items of the corresponding functional components, and default configuration information is defined for at least some of the configuration items.
应用开发装置4000a通过加载生成的组件配置模板,便可供应用开发者在构建AI应用时针对所选择的功能组件,进行个性化配置。The application development device 4000a can load the generated component configuration template for application developers to perform personalized configuration for the selected functional components when constructing the AI application.
在一个实施例中,该构建AI应用的方法还可以包括:在生成对应功能组件及其组件配置模板后,将对应功能组件及其组件配置模板上传至组件库,并在组件库注册对应功能组件。In one embodiment, the method for building an AI application may further include: after generating the corresponding functional component and its component configuration template, uploading the corresponding functional component and its component configuration template to the component library, and registering the corresponding functional component in the component library .
该组件库为组件提供装置7000存储对应功能组件和对应功能组件的组件配置模板的数据库。The component library stores a database in which the component providing device 7000 stores corresponding functional components and component configuration templates of the corresponding functional components.
本实施例中,组件开发装置4000b可以提供用于触发发布命令的操作接口,组件开发者可以通过该操作接口触发发布请求,组件开发装置4000b根据该请求执行该发布操作。In this embodiment, the component development device 4000b may provide an operation interface for triggering the issuance of the command, the component developer may trigger the publication request through the operation interface, and the component development device 4000b executes the publication operation according to the request.
本实施例中,组件开发装置4000b也可以在基于打包请求生成对应功能组件及其组件配置模板后,自动触发将对应功能组件及其组件配置模板上传至组件库的操作。In this embodiment, the component development apparatus 4000b may also automatically trigger the operation of uploading the corresponding functional component and its component configuration template to the component library after generating the corresponding functional component and its component configuration template based on the packaging request.
根据该实施例,组件开发者在将开发的功能组件注册至组件库之后,应用开发装置4000a便可以从组件库调取到该功能组件以供应用开发者选择及配置,进而实现AI应用的构建。According to this embodiment, after the component developer registers the developed functional component to the component library, the application development device 4000a can call the functional component from the component library for selection and configuration by the application developer, thereby realizing the construction of AI applications .
基于组件开发者开发的各种功能组件,在一个实施例中,应用开发者可以通过配置应用方案使用的功能组件及每一功能组件的运行信息,实现对于方案信息中的任务内容信息的配置。因此,该实施例中,方案信息中的任务内容信息可以包括该方案使用的功能组件及每一功能组件的运行信息。Based on various functional components developed by the component developer, in one embodiment, the application developer can configure the task content information in the program information by configuring the functional components used by the application solution and the operation information of each functional component. Therefore, in this embodiment, the task content information in the plan information may include the functional components used by the plan and the operation information of each functional component.
该实施例中,该应用配置信息除了方案信息之外,还可以包括分别针对每一功能组件配置的组件配置信息。该组件配置信息例如是应用开发者基于所选择的功能组件的组件配置模板配置的组件配置信息。这样,引擎装置在运行可执行文件时,可以通过方案信息获知方案使用的功能组件及每一功能组件的运行信息,及通过方案使用的每一功能组件的组件配置信息,获知对应功能组件在该应用中的作用方式,并将组件配置信息传递至对应的功能组件,以使得引擎装置在调用该功能组件运行该AI应用时,该功能组件能够按照所配置的作用方式完成对应的任务事项。In this embodiment, in addition to solution information, the application configuration information may also include component configuration information configured for each functional component. The component configuration information is, for example, component configuration information configured by the application developer based on the component configuration template of the selected functional component. In this way, when the engine device runs the executable file, it can learn the functional components used by the solution and the operation information of each functional component through the solution information, and the configuration information of each functional component used by the solution, and know that the corresponding functional component is located in the solution. The function mode in the application, and the component configuration information is transferred to the corresponding function component, so that when the engine device invokes the function component to run the AI application, the function component can complete the corresponding task according to the configured function mode.
在一个实施例中,关于通过步骤S3100获取到的应用配置信息中的方案信息,其可以包括该方案的基本信息,该基本信息包括方案名称、方案适用领域的关键词、及方案描述信息中的至少一项。这样,应用使用者便可以根据该方案的基本信息,了解对应AI应用的适用场合,并根据该基本信息在应用商店中选择所需的AI应用的可执行文件使用。该实施例中,应用编辑器可以在配置接口中提供基本信息配置项,以供应用开发者通过该配置接口输入方案的基本信息。In one embodiment, with regard to the scheme information in the application configuration information obtained in step S3100, it may include basic information of the scheme. The basic information includes the scheme name, the keywords of the application field of the scheme, and the information in the scheme description information. At least one item. In this way, the application user can learn about the applicable occasions of the corresponding AI application based on the basic information of the solution, and select the desired executable file of the AI application in the application store based on the basic information. In this embodiment, the application editor may provide basic information configuration items in the configuration interface, so that the application developer can input the basic information of the solution through the configuration interface.
在一个实施例中,步骤S3200中使用的预置的模板文件可以包括对应方案信息的方案模板文件,应用编辑器可以根据方案模板文件中的配置项设置配置接口,以允许应用开发者通过配置接口针对方案模板文件中的至少配置项进行配置,以形成方案信息。In one embodiment, the preset template file used in step S3200 may include a scheme template file corresponding to scheme information, and the application editor may set a configuration interface according to the configuration items in the scheme template file to allow application developers to use the configuration interface Configure at least configuration items in the plan template file to form plan information.
在一个实施例中,该方案模板文件可以包括方案的基本信息配置项、方案的业务信息配置项、及方案的运维信息配置项。In an embodiment, the solution template file may include basic information configuration items of the solution, business information configuration items of the solution, and operation and maintenance information configuration items of the solution.
本实施例中,方案信息中的任务内容信息属于该业务信息,即任务内容信息是针对业务信息配置项进行配置而形成的信息。In this embodiment, the task content information in the plan information belongs to the business information, that is, the task content information is information formed by configuring the business information configuration items.
本实施例中,在任务内容信息包括方案使用的功能组件及每一功能组件的运行信息的情况下,该业务信息还可以包括各个功能组件的公共配置信息。这样,便可以通过公共配置信息配置项的部分,配置适用于所选择的每一功能组件的配置信息,提高方案模板文件的可读性。In this embodiment, when the task content information includes the functional components used by the solution and the operation information of each functional component, the business information may also include common configuration information of each functional component. In this way, it is possible to configure the configuration information applicable to each selected functional component through the part of the common configuration information configuration item, which improves the readability of the solution template file.
该公共配置信息例如可以包括公共的数据字典、公开的系统参数及公共的初始化信息中至少一项。The public configuration information may include at least one of a public data dictionary, public system parameters, and public initialization information, for example.
该公共的数据字典例如可以包括标识key、数值value的配置信息,也可以包含引擎装置运行的一些公共规则定义等。The common data dictionary may include, for example, configuration information of identification key and numerical value, and may also include some common rule definitions for the operation of the engine device, and so on.
本实施例中,该业务信息还可以包括该方案的入口信息和该方案的界面信息中的至少一项。通过入口信息配置项可以配置引擎装置运行对应AI应用时进入的应用首页界面,该应用首页界面可以配置为是引擎装置默认的界面,也可以配置为是某一个功能组件的首页界面等,该配置可以通过设置首页路径进行,因此,该入口信息配置项可以为首页路径配置项。通过界面信息配置项可以配置界面的显示内容及布局结构等,例如可以通过界面信息配置项定义界面的视图、报表、以及对于商业智能仪表盘(business intelligence dashboard,BI dashboard)的设置及展示等。In this embodiment, the service information may also include at least one of entry information of the solution and interface information of the solution. Through the entry information configuration item, you can configure the application home page interface entered when the engine device runs the corresponding AI application. The application home page interface can be configured as the default interface of the engine device or the home page interface of a certain functional component. This configuration This can be done by setting the homepage path, so the entry information configuration item can be the homepage path configuration item. The display content and layout structure of the interface can be configured through the interface information configuration items. For example, the view and report of the interface can be defined through the interface information configuration items, as well as the setting and display of the business intelligence dashboard (BI dashboard).
本实施例中,基本信息可以包括方案名称、方案适用领域的关键词、及方案描述信息中的至少一项。在此,通过步骤S3100获取到的方案信息中的方案的基本信息即是针对基本信息配置项进行配置而形成的信息。In this embodiment, the basic information may include at least one of the name of the solution, the key word of the application field of the solution, and the description information of the solution. Here, the basic information of the scheme in the scheme information acquired in step S3100 is the information formed by configuring the basic information configuration items.
本实施例中,运维信息可以包括运行方式信息和运行资源信息等。例如,可以通过运维信息配置项配置对应AI应用的运行方式,及运行对应AI应用所需的CPU资源等。In this embodiment, the operation and maintenance information may include operation mode information, operation resource information, and the like. For example, the operation mode of the corresponding AI application and the CPU resources required to run the corresponding AI application can be configured through the operation and maintenance information configuration item.
在一个实施例中,应用编辑器可以提供两种类型的模板文件,一种是体现方案信息的上述方案模板文件,另一种是体现组件配置信息的组件模板文件,该组件模板文件由组件开发者在开发对应功能组件时声明,即,各个功能组件具有与各自相对应的组件模板文件。In one embodiment, the application editor can provide two types of template files, one is the above-mentioned solution template file that reflects the solution information, and the other is the component template file that reflects the component configuration information, the component template file is developed by the component The author declares when developing the corresponding functional components that each functional component has a corresponding component template file.
该实施例中,应用开发者例如通过配置接口配置的应用配置信息包括对于方案模板文件中的配置项进行配置的方案信息,及对于所选择的功能组件的组件模板文件中的配置项进行配置的组件配置信息。In this embodiment, the application configuration information configured by the application developer through the configuration interface, for example, includes the scheme information for configuring the configuration items in the scheme template file, and the configuration items for configuring the configuration items in the component template file of the selected functional component. Component configuration information.
该实施例中,应用编辑器提供的配置接口可以包括对应方案模板文件中的至少部分配置项的配置接口、及对应每一组件模板文件中的至少部分配置项的配置接口。In this embodiment, the configuration interface provided by the application editor may include a configuration interface corresponding to at least part of the configuration items in the solution template file, and a configuration interface corresponding to at least part of the configuration items in each component template file.
与上述方案模板文件相类似,组件模板文件可以包括对应组件的基本信息配置项、对应组件的业务信息配置项、及对应组件的运维信息配置项。Similar to the above solution template file, the component template file may include basic information configuration items of the corresponding component, business information configuration items of the corresponding component, and operation and maintenance information configuration items of the corresponding component.
该组件的业务信息包括对应组件的运行规则信息等,以通过业务信息反映对应功能组件在方案中的作用方式。该组件的业务信息还可以包括上下文声明信息和消息声明信息中的至少一项,以实现对于执行环境、消息传递等的定义。The business information of the component includes the operation rule information of the corresponding component, etc., so as to reflect the function mode of the corresponding functional component in the solution through the business information. The business information of the component may also include at least one of context declaration information and message declaration information, so as to realize the definition of the execution environment and message transmission.
该组件的基本信息可以包括对应功能组件的版本、对应功能组件的创建者、对应功能组件的唯一标识、对应功能组件的名称、及对应功能组件所在的数据组中的至少一项。The basic information of the component may include at least one of the version of the corresponding function component, the creator of the corresponding function component, the unique identifier of the corresponding function component, the name of the corresponding function component, and the data group in which the corresponding function component is located.
该组件模板文件还可以包括配置界面信息,以通过配置界面信息自定义对应功能组件的配置界面,使得应用开发者可以通过组件模板文件定义的配置界面输入组件配置信息,以实现对于对应组件模板文件的配置。The component template file may also include configuration interface information to customize the configuration interface of the corresponding functional component through the configuration interface information, so that application developers can input component configuration information through the configuration interface defined by the component template file, so as to achieve the corresponding component template file Configuration.
该配置界面信息可以是配置界面的界面内容,也可以是配置界面包的加载路径。这样,应用编辑器便可以根据组件模板文件中的配置界面信息渲染相应的配置界面,以供应用开发者配置。The configuration interface information can be the interface content of the configuration interface or the loading path of the configuration interface package. In this way, the application editor can render the corresponding configuration interface according to the configuration interface information in the component template file for configuration by the application developer.
在一个实施例中,该构建AI应用的方法可以包括:响应于配置方案信息的操作,加载应用编辑器设置的方案配置界面,并在方案配置界面上提供用于配置方案模板文件中的至少部分配置项的配置接口。In one embodiment, the method for constructing an AI application may include: in response to an operation of configuring program information, loading a program configuration interface set by an application editor, and providing at least part of a template file for configuring a program on the program configuration interface The configuration interface of the configuration item.
在一个实施例中,该构建AI应用的方法还可以包括:响应于定义方案信息中的任务内容信息的操作,加载功能组件库中的功能组件的列表项;及检测对该列表项进行的编辑操作,获得该方案使用的功能组件及每一功能组件的运行信息。In one embodiment, the method for constructing an AI application may further include: in response to an operation of defining task content information in the plan information, loading a list item of a functional component in the functional component library; and detecting editing of the list item Operate to obtain the functional components used by the program and the operating information of each functional component.
该实施例中,功能组件通过注册至组件库,应用编辑器便可以加载到组件库中具有的所有功能组件,并在应用开发者触发定义任务内容信息的操作时,这可以是触发编辑功能组件的操作时,提供这些功能组件的列表项,即,每一列表项对应一个功能组件,该列表项上可以显示该功能组件的至少部分基本信息,以供应用开发者根据列表项上显示的内容选择所需的功能组件。In this embodiment, by registering the functional component with the component library, the application editor can load all the functional components in the component library, and when the application developer triggers the operation of defining task content information, this can be triggered to edit the functional component During the operation, the list items of these functional components are provided, that is, each list item corresponds to a functional component, and at least part of the basic information of the functional component can be displayed on the list item, so that the application developer can base on the content displayed on the list item Select the required functional components.
该编辑操作例如可以包括选择操作和移位操作等。在此,通过检测应用开发者对列表项进行的选择操作,可以获得该方案使用的功能组件,及通过检测应用开发者对列表项进行的移位操作,例如上移、下移等操作,可以获得各功能组件的初始化顺序等。The editing operation may include, for example, a selection operation and a shift operation. Here, by detecting the selection operation performed by the application developer on the list item, the functional components used by the solution can be obtained, and by detecting the shift operation performed by the application developer on the list item, such as moving up, moving down, etc., you can Obtain the initialization sequence of each functional component, etc.
在一个实施例中,该构建AI应用的方法可以包括:响应于配置所选择的功能组件的操作,解析对应功能组件的组件模板文件;及在该组件模板文件定义有配置界面信息的情况下,根据该配置界面信息渲染对应功能组件的配置界面。这样,应用开发者便可以选择通过功能组件自定义的配置界面完成对于对应组件模板文件的配置。In one embodiment, the method for constructing an AI application may include: in response to the operation of configuring the selected functional component, parsing the component template file of the corresponding functional component; and in the case that the component template file defines configuration interface information, Render the configuration interface of the corresponding functional component according to the configuration interface information. In this way, application developers can choose to complete the configuration of the corresponding component template file through the custom configuration interface of the functional component.
在通过组件模板文件进行对应功能组件的配置的例子中,配置功能组件也即为配置功能组件的组件模板文件。In the example of configuring the corresponding functional component through the component template file, configuring the functional component is also a component template file for configuring the functional component.
在一个实施例中,该构建AI应用的方法可以包括:响应于配置所选择的功能组件的操作,加载对应功能组件的组件模板文件的文件内容以供配置。该实施例中,应用开发者可以选择直接在组件模板文件上,为需要针对所构建的AI应用进行个性化配置的配置项填写或者修改对应的配置信息。In one embodiment, the method for constructing an AI application may include: in response to an operation of configuring the selected functional component, loading the file content of the component template file of the corresponding functional component for configuration. In this embodiment, the application developer can choose to directly fill in or modify the corresponding configuration information for the configuration items that need to be personalized for the constructed AI application on the component template file.
在一个实施例中,应用编辑器可以提供多种配置功能组件的方式,例如通过功能组件自定义的配置界面进行配置,直接通过功能组件模板进行配置,及通过应用编辑器默认的组件配置界面进行配置等。In one embodiment, the application editor can provide a variety of ways to configure functional components, such as configuration through the configuration interface customized by the functional component, configuration directly through the functional component template, and through the default component configuration interface of the application editor. Configuration etc.
该实施例中,该构建AI应用的方法还可以包括:响应于配置所选择的功能组件的操作,提供配置入口界面,其中,该配置入口界面包括第一配置入口和第二配置入口,其中,第一配置入口为选择加载对应功能组件的组件模板文件定义的配置界面以进行配置的入口,第二配置入口为选择加载对应功能组件的组件模板文件的文件内容以进行配置的入口。In this embodiment, the method for constructing an AI application may further include: in response to an operation of configuring the selected functional component, providing a configuration portal interface, where the configuration portal interface includes a first configuration portal and a second configuration portal, wherein, The first configuration entry is an entry that selects to load the configuration interface defined by the component template file of the corresponding functional component for configuration, and the second configuration entry is the entry that selects to load the file content of the component template file of the corresponding functional component for configuration.
该实施例中,该配置入口界面还可以包括其他配置入口,例如,通过应用编辑器默认的组件配置界面进行配置的入口等,在此不做限定。In this embodiment, the configuration portal interface may also include other configuration portals, for example, portals configured through the default component configuration interface of the application editor, etc., which are not limited herein.
例如,如图4所示,在例子中,配置入口界面提供三个配置入口,分别为“原始文件”配置入口、“官方UI”配置入口和“标准UI”配置入口。该例子中,“官方UI”配置入口对应第 一配置入口,应用编辑器在检测到应用开发者点击该“官方UI”的选项的情况下,便会加载对应功能组件的组件模板文件定义的配置界面,以供应用开发者进行对应功能组件的配置。该例子中,“原始文件”配置入口对应第二配置入口,如图4所示,应用开发者点击了该“原始文件”选项,因此,应用编辑器在下方加载了对应功能组件的模板文件的文件内容,应该开发者可以直接在针对编辑该文件内容,以实现对于对应功能组件的额配置。该例子中,“标准UI”为选择通过应用编辑器默认的组件配置界面进行配置的入口,应用编辑器在检测到应用开发者选择该“标准UI”的选项后,便会加载该默认的组件配置界面。For example, as shown in Figure 4, in the example, the configuration entry interface provides three configuration entries, namely the "original file" configuration entry, the "official UI" configuration entry, and the "standard UI" configuration entry. In this example, the "official UI" configuration entry corresponds to the first configuration entry. When the application editor detects that the application developer clicks on the "official UI" option, it will load the configuration defined by the component template file of the corresponding functional component The interface is used by application developers to configure the corresponding functional components. In this example, the "original file" configuration entry corresponds to the second configuration entry. As shown in Figure 4, the application developer clicks the "original file" option. Therefore, the application editor loads the template file of the corresponding functional component below. The content of the file, the developer can directly edit the content of the file to realize the configuration of the corresponding functional components. In this example, the "standard UI" is the entry for selecting the configuration through the default component configuration interface of the application editor. The application editor will load the default component after detecting that the application developer selects the option of the "standard UI" Configuration interface.
在一个实施例中,可以在应用编辑器记载的功能组件的列表项上提供用于触发配置对应功能组件的操作的操作接口。该操作接口例如是列表项本身,应用开发者可以通过点击该列表项触发配置对应功能组件的操作。该操作接口例如也可以是设置在该列表项上的一个接口,应用开发者可以通过点击列表项上的该接口,触发配置对应功能组件的操作。In an embodiment, an operation interface for triggering the operation of configuring the corresponding function component may be provided on the list item of the function component recorded in the application editor. The operation interface is, for example, the list item itself, and the application developer can trigger the operation of configuring the corresponding functional component by clicking the list item. The operation interface may also be, for example, an interface set on the list item, and the application developer can trigger the operation of configuring the corresponding functional component by clicking the interface on the list item.
继续以图4为例,应用编辑器可以在编辑界面的流程编排区域显示应用开发者选择的功能组件的列表项,例如,显示数据处理组件的列表项和模型训练组件的列表项,应用开发者可以通过点击“数据处理组件”的列表项,触发配置该数据处理组件的操作,这样,应用编辑器便会在流程编排区域的右侧提供该数据处理组件的配置入口界面。Continuing to take Figure 4 as an example, the application editor can display the list items of the functional components selected by the application developer in the process layout area of the editing interface, for example, display the list items of the data processing component and the list items of the model training component, the application developer The operation of configuring the data processing component can be triggered by clicking the list item of the "data processing component". In this way, the application editor will provide the configuration entry interface of the data processing component on the right side of the process layout area.
在预置的模板文件包括方案模板文件和组件模板文件的实施例中,上述步骤S3200中根据应用配置信息和预置的模板文件,生成应用的可执行文件,可以包括如下步骤S3210~S3230:In an embodiment where the preset template file includes a solution template file and a component template file, generating an application executable file according to the application configuration information and the preset template file in step S3200 may include the following steps S3210 to S3230:
步骤S3210,根据方案信息和方案模板文件,生成定义该方案的第一文件。Step S3210, according to the scheme information and the scheme template file, a first file defining the scheme is generated.
该第一文件例如可以是.yaml格式的文件。The first file may be a file in .yaml format, for example.
该方案信息包括对于方案模板文件中至少部分配置项的配置信息,该步骤S3210可以包括将这些配置信息填写至方案模板文件的对应配置项下,和/或,利用这些配置信息替换方案模板文件的对应配置项的已有配置信息。The scheme information includes configuration information for at least part of the configuration items in the scheme template file. This step S3210 may include filling in the configuration information under the corresponding configuration items of the scheme template file, and/or replacing the configuration information of the scheme template file with the configuration information. The existing configuration information of the corresponding configuration item.
步骤S3220,针对每一功能组件,根据对应功能组件的组件配置信息和对应功能组件的组件模板文件,生成定义对应功能组件的第二文件。Step S3220, for each functional component, according to the component configuration information of the corresponding functional component and the component template file of the corresponding functional component, a second file defining the corresponding functional component is generated.
该第二文件例如可以是.yaml格式的文件。The second file may be a file in .yaml format, for example.
本实施例中,将针对所选择的每一功能组件,均生成对应的第二文件。例如,应用开发者选择了三个功能组件,则将生成三个第二文件。In this embodiment, a corresponding second file will be generated for each selected functional component. For example, if the application developer selects three functional components, three second files will be generated.
该组件配置信息包括对于对应组件模板文件中至少部分配置项的配置信息,该步骤S3220可以包括将这些配置信息填写至对应组件模板文件的对应配置项下,和/或,利用这些配置信息替换对应组件模板文件的对应配置项的已有配置信息。The component configuration information includes configuration information for at least part of the configuration items in the corresponding component template file. This step S3220 may include filling in the configuration information under the corresponding configuration items of the corresponding component template file, and/or replacing the corresponding configuration information with the configuration information. The existing configuration information of the corresponding configuration item of the component template file.
步骤S3230,打包该第一文件和每一第二文件,生成所构建应用的可执行文件。In step S3230, the first file and each second file are packaged, and an executable file of the built application is generated.
本实施例中,该可执行文件为压缩基于方案模板文件生成的第一文件,及基于所选择的功能组件的组件模板文件生成的第二文件,而形成的打包文件,即,所生成的可执行文件包括一份第一文件和至少一份第二文件,第二文件与第一文件中涉及的功能组件一一对应。In this embodiment, the executable file is a packaged file formed by compressing the first file generated based on the solution template file and the second file generated based on the component template file of the selected functional component, that is, the generated executable file The execution file includes a first file and at least a second file, and the second file has a one-to-one correspondence with the functional components involved in the first file.
以下是根据一个例子的方案模板文件的文件内容或者基于方案模板文件生成的第一文件的文件内容:The following is the file content of the project template file according to an example or the file content of the first file generated based on the project template file:
Figure PCTCN2020139466-appb-000001
Figure PCTCN2020139466-appb-000001
Figure PCTCN2020139466-appb-000002
Figure PCTCN2020139466-appb-000002
以下是根据一个例子的一组件模板文件的文件内容或者基于一组件模板文件生成的第二文件的文件内容:The following is the file content of a component template file according to an example or the file content of a second file generated based on a component template file:
Figure PCTCN2020139466-appb-000003
Figure PCTCN2020139466-appb-000003
Figure PCTCN2020139466-appb-000004
Figure PCTCN2020139466-appb-000004
<运行AI应用的方法实施例><Method Example of Running AI Application>
根据以上构建AI应用的方法实施例可知,通过装置4000a可以构建出AI应用的可执行文件,该可执行文件具有引擎装置5000能够解析的数据结构,因此,可以通过引擎装置5000运行该可执行文件,以实现该AI应用的上线使用。According to the above embodiment of the method for constructing an AI application, it can be seen that the executable file of the AI application can be constructed by the device 4000a, and the executable file has a data structure that can be parsed by the engine device 5000. Therefore, the executable file can be run by the engine device 5000 , In order to realize the online use of the AI application.
图5示出了一个实施例中通过引擎装置5000运行AI应用的方法的流程图,该方法可以包括如下步骤S5100和S5200:FIG. 5 shows a flowchart of a method for running an AI application through an engine device 5000 in an embodiment, and the method may include the following steps S5100 and S5200:
步骤S5100,解析AI应用的可执行文件,其中,该可执行文件通过基于与引擎装置5000相适配的模板文件定义该应用得到。Step S5100: parse the executable file of the AI application, where the executable file is obtained by defining the application based on a template file adapted to the engine device 5000.
本实施例中,该可执行文件可以通过以上任意的构建AI应用的方法实施例定义该AI应用得到,在此不再赘述。In this embodiment, the executable file can be obtained by defining the AI application in any of the above method embodiments for constructing an AI application, and will not be repeated here.
该可执行文件可以仅包括第一文件。该第一文件包含定义实现该AI应用的方案的方案信息,该方案信息包含任务内容信息等,具体可参见上述的构建AI应用的方法实施例,在此不做赘述。The executable file may only include the first file. The first file contains plan information that defines a plan for implementing the AI application, and the plan information contains task content information, etc. For details, please refer to the above-mentioned method embodiment for constructing an AI application, which will not be repeated here.
该可执行文件也可以包括第一文件及与第一文件中涉及的功能组件一一对应的第二文件。每一第二文件包含定义对应功能组件的组件信息(即功能组件信息),具体可参见上述的构建AI应用的方法实施例,在此不做赘述。The executable file may also include a first file and a second file corresponding to the functional components involved in the first file in a one-to-one correspondence. Each second file contains component information (ie, functional component information) that defines the corresponding functional component. For details, please refer to the above-mentioned method embodiment for constructing an AI application, which will not be repeated here.
该可执行文件可以是压缩所包含的各文件所得到的一压缩文件。因此,在一个实施例中,该步骤S5100中解析AI应用的可执行文件可以包括:解压该可执行文件;以及,按照设定的保存路径,将解压得到的所有文件保存至目录区。The executable file may be a compressed file obtained by compressing the included files. Therefore, in one embodiment, parsing the executable file of the AI application in step S5100 may include: decompressing the executable file; and, according to the set saving path, saving all the files obtained by decompression to the directory area.
例如,可执行文件包括第一文件和至少一个第二文件的压缩文件,因此,在解析该可执行文件时,可以先解压该可执行文件得到第一文件和至少一个第二文件,并将这些文件保存至目录区,以供引擎装置5000读取。For example, the executable file includes a compressed file of a first file and at least one second file. Therefore, when the executable file is parsed, the executable file can be decompressed to obtain the first file and at least one second file, and these The file is saved in the directory area for the engine device 5000 to read.
该设定的保存路径是引擎装置5000默认的保存路径。The set save path is the default save path of the engine device 5000.
在一个实施例中,该步骤S5100中解析AI应用的可执行文件可以包括:响应于运行该应用的请求,解析该应用的可执行文件,以根据该可执行文件运行所述应用。In one embodiment, parsing the executable file of the AI application in step S5100 may include: in response to a request to run the application, parsing the executable file of the application to run the application according to the executable file.
该请求可以由应用使用者触发,引擎装置接收到该请求之后,便会解析该请求对应的AI应用的可执行文件,以运行该应用。The request may be triggered by the application user. After receiving the request, the engine device will parse the executable file of the AI application corresponding to the request to run the application.
在一个实施例中,该步骤S5100中解析AI应用的可执行文件可以包括:在获取到可执行文件后,检测是否可以识别该可执行文件;并在可以识别该可执行文件的情况下,再解 压该可执行文件,以执行后续步骤S5200。In one embodiment, parsing the executable file of the AI application in step S5100 may include: after the executable file is obtained, detecting whether the executable file can be identified; and if the executable file can be identified, then Decompress the executable file to execute the subsequent step S5200.
该实施例中,检测是否可以识别该可执行文件例如可以包括:引擎装置在模板文件的备案数据中查找该可执行文件使用的模板文件的版本号,如果查找到该版本号,则说明该可执行文件使用引擎装置5000能够识别的模板文件生成,则检测结果为引擎装置能够识别该可执行文件。In this embodiment, detecting whether the executable file can be identified may include, for example, the engine device searches for the version number of the template file used by the executable file in the record data of the template file, and if the version number is found, it indicates that the executable file is available. The executable file is generated using a template file that can be recognized by the engine device 5000, and the detection result is that the engine device can recognize the executable file.
步骤S5200,根据该可执行文件运行该应用。Step S5200: Run the application according to the executable file.
在一个实施例中,引擎装置5000将解压该可执行文件得到的所有文件均保存在临时的目录区,引擎装置在该步骤S5200可以根据目录区中的文件运行该应用。In one embodiment, the engine device 5000 stores all files obtained by decompressing the executable file in a temporary directory area, and the engine device may run the application according to the files in the directory area in this step S5200.
在一个实施例中,引擎装置5000在根据该可执行文件运行该应用时,可以根据可执行文件中配置的该应用的首页界面信息,加载显示该应用的首页界面。该首页界面信息例如为第一文件中业务信息配置项下的配置信息。In one embodiment, when the engine device 5000 runs the application according to the executable file, it can load and display the home page interface of the application according to the home page interface information of the application configured in the executable file. The homepage interface information is, for example, the configuration information under the business information configuration item in the first file.
在一个实施例中,引擎装置5000根据目录区的文件运行该应用可以包括:根据目录区的文件初始化该引擎装置,获得引擎实例模块;以及,启动该引擎实例模块运行该应用。In one embodiment, the engine device 5000 running the application according to the files in the directory area may include: initializing the engine device according to the files in the directory area to obtain an engine instance module; and starting the engine instance module to run the application.
该实施例中,引擎装置5000是能够运行各种AI应用的通用装置,引擎装置5000具有用于根据可执行文件运行应用的通用配置,但是,由于不同的AI应用可能具有各自的运行需求,因此,引擎装置5000在需要运行一个AI应用时,可以根据目录区的文件(例如包括第一文件和第二文件)中的各配置项的配置信息进行初始化,使得该引擎装置5000形成能够专用于运行该AI应用的引擎实例模块(Engine Core-Instance,ECI),并通过该引擎实例模块运行该AI应用,即由引擎实例模块执行以下步骤S5200。In this embodiment, the engine device 5000 is a general-purpose device capable of running various AI applications. The engine device 5000 has a general configuration for running applications according to executable files. However, because different AI applications may have their own operating requirements, When the engine device 5000 needs to run an AI application, it can be initialized according to the configuration information of each configuration item in the files (for example, including the first file and the second file) in the directory area, so that the engine device 5000 can be dedicated to running The engine instance module (Engine Core-Instance, ECI) of the AI application, and the AI application is run through the engine instance module, that is, the engine instance module executes the following step S5200.
该实施例中,引擎实例模块的配置信息例如即为第一文件中的运维信息配置项的配置信息。这样,引擎装置5000经过该初始化形成的引擎实例模块便具有运行对应的AI应用的能力。In this embodiment, the configuration information of the engine instance module is, for example, the configuration information of the operation and maintenance information configuration item in the first file. In this way, the engine instance module formed by the engine device 5000 after the initialization has the ability to run the corresponding AI application.
在一个实施例中,该可执行文件定义有实现对应应用的方案的任务内容信息,这样,该步骤S5200中根据该可执行文件运行该应用可以包括:根据该任务内容信息执行方案包含的各任务事项,以运行该应用。In one embodiment, the executable file defines task content information for implementing the solution of the corresponding application. In this way, running the application according to the executable file in step S5200 may include: executing each task included in the solution according to the task content information Matters to run the application.
该实施例中,在可执行文件通过模板文件中的自定义任务事项及各个任务事项之间的关联信息的配置项,例如jobs配置项,来表达任务内容信息的情况下,该引擎装置可以根据该配置项的配置信息执行各任务事项,以运行该应用。In this embodiment, in the case that the executable file expresses the task content information through the custom task items in the template file and the configuration items of the associated information between each task item, such as the jobs configuration item, the engine device can express task content information according to The configuration information of the configuration item performs various tasks to run the application.
该实施例中,可执行文件也可以通过功能组件表达该任务内容信息,即,该任务内容信息包括该方案使用的功能组件及每一功能组件的运行信息;这样,该引擎装置在根据可执行文件运行该应用时,可以根据该可执行文件调用功能组件以运行该应用。In this embodiment, the executable file can also express the task content information through functional components, that is, the task content information includes the functional components used by the solution and the operation information of each functional component; in this way, the engine device is based on the executable When the file runs the application, functional components can be called according to the executable file to run the application.
如在构建AI应用的方法实施例中所述,该运行信息例如可以包括对应功能组件在所述方案中所属的运行阶段信息、对应功能组件的初始化信息、及对应功能组件的运行条件信息中的至少一项。As described in the embodiment of the method for constructing an AI application, the operating information may include, for example, the operating phase information to which the corresponding functional component belongs in the solution, the initialization information of the corresponding functional component, and the operating condition information of the corresponding functional component. At least one item.
在一个实施例中,为了使得该可执行文件涉及的功能组件,在被引擎装置5000调用时能够按照所配置的方式起作用,该方法在根据该可执行文件调用功能组件以运行该应用之前,还可以包括如下步骤:根据可执行文件定义的每一功能组件的运行信息,初始化对应的功能组件;获取并注册每一功能组件在完成初始化后返回的对外通信接口;通过该对外 通信接口,将可执行文件定义的每一功能组件的组件信息推送至对应的功能组件。In one embodiment, in order to enable the functional components involved in the executable file to function in a configured manner when called by the engine device 5000, the method before calling the functional components according to the executable file to run the application, It may also include the following steps: according to the operating information of each functional component defined by the executable file, initialize the corresponding functional component; obtain and register the external communication interface returned by each functional component after the initialization is completed; through the external communication interface, The component information of each functional component defined by the executable file is pushed to the corresponding functional component.
该实施例中,引擎装置5000例如根据第一文件对于业务信息配置项businessSetting下的功能组件配置项scComponents的配置信息,进行功能组件的初始化,其中,该功能组件配置项scComponents的配置信息即包括对应方案所使用的功能组件及对应功能组件的运行信息。In this embodiment, the engine device 5000, for example, initializes the functional components according to the configuration information of the functional component configuration item scComponents under the business information configuration item businessSetting in the first file, where the configuration information of the functional component configuration item scComponents includes the corresponding The functional components used in the solution and the operating information of the corresponding functional components.
该实施例中,该功能组件的运行信息包括初始化信息,该初始化信息反映对应功能组件是否需要初始化及初始化顺序等,引擎装置5000可以根据由功能组件的初始化信息决定的初始化顺序,顺序初始化各功能组件,以完成各功能组件的启动,对于无需执行初始化的功能组件,则在初始化阶段跳过不启动,而是在检测到对应的运行条件后,再启动对应的功能组件。In this embodiment, the operating information of the functional component includes initialization information, and the initialization information reflects whether the corresponding functional component needs to be initialized and the initialization sequence, etc. The engine device 5000 can initialize each function sequentially according to the initialization sequence determined by the initialization information of the functional component. Components to complete the startup of each functional component. For functional components that do not need to be initialized, the initialization phase is skipped and not started. Instead, the corresponding functional component is started after the corresponding operating condition is detected.
该实施例中,这些功能组件在完成初始化后会向引擎装置5000返回自身的对外通信接口,以使得引擎装置5000能够通过该对外通信接口将可执行文件中定义的对应功能组件的组件信息推送至对应的功能组件,以完成对应功能组件对于该AI应用的配置,进而使得该功能组件能够在引擎装置5000运行该应用中,以可执行文件配置的方式完成对应的任务事项。该实施例中,例如将第二文件中定义的功能组件信息推送至对应的功能组件,以完成对应功能组件对于该应用的配置。In this embodiment, these functional components will return their own external communication interface to the engine device 5000 after initialization, so that the engine device 5000 can push the component information of the corresponding functional component defined in the executable file to the engine device 5000 through the external communication interface The corresponding functional component is used to complete the configuration of the corresponding functional component for the AI application, so that the functional component can complete the corresponding task in the form of executable file configuration when the application is run by the engine device 5000. In this embodiment, for example, the functional component information defined in the second file is pushed to the corresponding functional component to complete the configuration of the corresponding functional component for the application.
引擎装置5000在进行各功能组件的初始化过程中,将自身的状态设置为“正在启动中”,在完成各功能组件的初始化后,将自身的状态设置为“运行中”,如果各功能组件的初始化出现异常,则将自身的状态设置为“异常”。In the process of initializing each functional component, the engine device 5000 sets its own state to "starting", and after completing the initialization of each functional component, sets its own state to "running". If the initialization is abnormal, the state of itself is set to "abnormal".
在一个实施例中,该方法在根据该可执行文件调用功能组件以运行该应用之前,还可以包括如下步骤:获取每一功能组件在完成初始化后返回的信息,该信息包括状态信息、运行环境上下文信息、订阅消息信息中的至少一项,该状态信息可以包括启动状态信息和运行状态信息等;以及,在引擎装置5000中注册该返回的信息。该实施例中,引擎装置5000注册该信息后,可以通过这些信息控制对应功能组件的表现行为等。In one embodiment, before calling the functional components according to the executable file to run the application, the method may further include the following steps: obtaining information returned by each functional component after completing initialization, the information including status information and operating environment At least one of context information and subscription message information, the status information may include startup status information, running status information, etc.; and the returned information is registered in the engine device 5000. In this embodiment, after the engine device 5000 registers the information, it can use the information to control the performance behavior of the corresponding functional components.
在一个实施例中,该引擎装置5000根据可执行文件调用功能组件以运行该应用时,可以包括:根据可执行文件中定义的每一功能组件的运行条件信息,调用功能组件执行对应的任务以运行该应用。In one embodiment, when the engine device 5000 invokes a functional component to run the application according to the executable file, it may include: according to the operating condition information of each functional component defined in the executable file, invoke the functional component to execute the corresponding task. Run the application.
该实施例中,例如可以在可执行文件的第一文件中配置所需使用的功能组件的运行条件信息,例如,该第一文件的业务信息配置项下的功能组件配置项配置了三个功能组件,并配置了三个功能组件的运行条件信息为:在第一个功能组件执行完对应的任务后,第二个功能组件基于第一个功能组件的输出数据执行对应的任务,而第三个功能组件则基于第二个功能组件的输出数据执行对应的任务,对此,引擎装置可以根据第一文件中配置的该运行条件信息调用这三个功能组件执行对应的任务以运行该应用。In this embodiment, for example, the operating condition information of the functional component to be used can be configured in the first file of the executable file. For example, the functional component configuration item under the business information configuration item of the first file is configured with three functions The operating condition information of the three functional components is configured as follows: after the first functional component has performed the corresponding task, the second functional component performs the corresponding task based on the output data of the first functional component, and the third One functional component executes the corresponding task based on the output data of the second functional component. For this, the engine device can call the three functional components to execute the corresponding tasks according to the operating condition information configured in the first file to run the application.
在一个实施例中,该可执行文件中配置的运行信息也可以不包括上述运行条件信息,而仅包括运行阶段信息、初始化信息等。该实施例中,引擎装置5000可以预置AI应用的常用运行阶段的运行顺序,这样,在可执行文件配置的运行信息包括运行阶段信息的情况下,引擎装置5000便可以根据预置的不同运行阶段的运行顺序来调用各功能组件执行对应的任务,这有利于减少构建AI应用所需配置的配置信息。In an embodiment, the running information configured in the executable file may not include the foregoing running condition information, but only include running stage information, initialization information, and the like. In this embodiment, the engine device 5000 can preset the running sequence of the common running stages of the AI application. In this way, when the running information configured by the executable file includes the running stage information, the engine device 5000 can run according to different presets. The operating sequence of the phases calls each functional component to perform the corresponding task, which helps to reduce the configuration information required to build the AI application.
该实施例中,该引擎装置5000根据可执行文件调用功能组件以运行该应用时,可以包括如下步骤S5211~S5214:In this embodiment, when the engine device 5000 invokes functional components according to the executable file to run the application, it may include the following steps S5211 to S5214:
步骤S5211,获取可执行文件定义的每一功能组件在方案中所属的运行阶段信息。Step S5211: Obtain the operation stage information to which each functional component defined by the executable file belongs in the solution.
该运行阶段信息例如为第一文件的功能组件配置项scComponents下的配置信息。The running stage information is, for example, the configuration information under the functional component configuration item scComponents of the first file.
步骤S5212,获取预置的反映各运行阶段的运行顺序的编排信息。Step S5212: Obtain preset scheduling information reflecting the running sequence of each running stage.
例如AI应用通常包括数据处理阶段、模型调研阶段、模型预测阶段、自学习阶段等,在任意的AI应用中,这些运行阶段的运行顺序基本是可以确定的,例如,模型调研阶段的运行顺序排在数据处理阶段的后面,模型预测阶段排在模型调研阶段的后面,自学习阶段排在模型预测阶段的后面等,因此,根据不同运行阶段可能的运行顺序关系,可以获得关于各运行阶段的运行顺序的编排信息,根据该编排信息便可以确定所要运行的应用涉及的这些功能组件间的运行顺序关系,进而获得这些功能组件的运行条件信息。For example, AI applications usually include data processing stage, model investigation stage, model prediction stage, self-learning stage, etc. In any AI application, the operating sequence of these operating stages can basically be determined, for example, the operating sequence of the model investigation stage After the data processing stage, the model prediction stage is arranged behind the model investigation stage, and the self-learning stage is arranged behind the model prediction stage. Therefore, according to the possible operation sequence relationship of different operation stages, the operation of each operation stage can be obtained. Sequence arrangement information, according to the arrangement information, the running sequence relationship among the functional components involved in the application to be run can be determined, and then the operating condition information of these functional components can be obtained.
步骤S5213,根据运行阶段信息和该编排信息,获得可执行文件定义的每一功能组件的运行条件信息。Step S5213: Obtain the operating condition information of each functional component defined by the executable file according to the operating stage information and the layout information.
步骤S5214,根据该运行条件信息,调用功能组件执行对应的任务以运行该应用。Step S5214: According to the operating condition information, call the functional component to execute the corresponding task to run the application.
该实施例中,在可执行文件定义有功能组件的运行阶段信息的情况下,引擎装置5000可以根据该运行阶段信息及预置的编排信息确定各功能组件的运行条件信息,而无需要求应用开发人员必须在构建AI应用时配置该运行条件信息,提高了系统AIS的易用性。In this embodiment, when the executable file defines the operating phase information of the functional components, the engine device 5000 can determine the operating condition information of each functional component according to the operating phase information and preset layout information, without requiring application development. The personnel must configure the operating condition information when building the AI application, which improves the ease of use of the system AIS.
在一个实施例中,该引擎装置5000在根据可执行文件调用功能组件以运行该应用时,还可以包括:根据可执行文件配置的对应功能组件的运行界面信息,加载显示对应的运行界面。例如,可以在配置功能组件的第二文件中配置该运行界面信息。通过该运行界面,应用使用者可以看到对应功能组件的运行情况,并通过该运行界面提供的入口和/或接口查询相关信息、状态、数据等。In one embodiment, when the engine device 5000 invokes a functional component according to the executable file to run the application, it may further include: loading and displaying the corresponding running interface according to the running interface information of the corresponding functional component configured by the executable file. For example, the running interface information can be configured in the second file of the configuration function component. Through the running interface, application users can see the running status of the corresponding functional components, and query related information, status, data, etc. through the entry and/or interface provided by the running interface.
在一个实施例中,该引擎装置5000根据可执行文件调用功能组件以运行该应用时,可以包括如下步骤S5221~S5222:In an embodiment, when the engine device 5000 invokes functional components according to the executable file to run the application, it may include the following steps S5221 to S5222:
步骤S5221,响应于监测到该方案的当前运行阶段的功能组件返回的任务完成消息的事件,根据该可执行文件检查当前运行阶段是否已完成。Step S5221: In response to monitoring the event of the task completion message returned by the functional component of the current running stage of the solution, check whether the current running stage has been completed according to the executable file.
本实施例中,功能组件在执行完对应的任务后,会向引擎装置返回任务完成消息,引擎装置在接收到该任务完成消息后,响应于接收到该任务完成消息的事件,可以根据可执行文件中配置的功能组件的运行阶段信息,检查当前运行阶段的所有功能组件是否均已返回任何完成消息,如是,则说明当前运行阶段已经完成,如否,则说明当前运行阶段仍在运行。In this embodiment, the functional component returns a task completion message to the engine device after executing the corresponding task. After receiving the task completion message, the engine device can respond to the event of receiving the task completion message according to the executable The operating phase information of the functional components configured in the file, check whether all functional components in the current operating phase have returned any completion messages, if yes, the current operating phase has been completed, if not, the current operating phase is still running.
步骤S5222,在已完成的情况下,向该方案的下一运行阶段的功能组件提供当前运行阶段的输出数据,并调用下一运行阶段的功能组件执行对应的任务。Step S5222, in the case of completion, provide the output data of the current operation stage to the functional component of the next operation stage of the solution, and call the functional component of the next operation stage to execute the corresponding task.
<装置实施例><Device Example>
在一个实施例中,还提供了一种引擎装置5000,如图6所示,该引擎装置5000包括引擎管理(Engine Mangager)模块5100和引擎执行(Engine Core)模块5200。该引擎装置5000的各个模块可以通过电子设备的处理器运行电子设备的存储器存储的计算机指令实现。In one embodiment, an engine device 5000 is also provided. As shown in FIG. 6, the engine device 5000 includes an engine management (Engine Manager) module 5100 and an engine execution (Engine Core) module 5200. The various modules of the engine device 5000 can be implemented by a processor of the electronic device running computer instructions stored in a memory of the electronic device.
该引擎管理模块5100被配置为解析AI应用的可执行文件,其中,该可执行文件通过基于与引擎装置5000相适配的模板文件定义该应用得到。The engine management module 5100 is configured to parse an executable file of an AI application, where the executable file is obtained by defining the application based on a template file adapted to the engine device 5000.
该模板文件例如包括方案模板文件和组件模板文件。The template file includes, for example, a solution template file and a component template file.
该引擎执行模块5200被配置为根据该可执行文件运行该应用。The engine execution module 5200 is configured to run the application according to the executable file.
在一个实施例中,该引擎执行模块5200在根据该可执行文件运行该应用时,可以被配置为:根据可执行文件中配置的该应用的首页界面信息,加载显示该应用的首页界面。该首页界面信息例如为第一文件中业务信息配置项下的配置信息。In one embodiment, when the engine execution module 5200 runs the application according to the executable file, it may be configured to load and display the home page interface of the application according to the home page interface information of the application configured in the executable file. The homepage interface information is, for example, the configuration information under the business information configuration item in the first file.
在一个实施例中,如图6所示,该引擎执行模块5200例如可以包括流程协调模块(Process Cooudinator)5201、组件生命周期(Component LifeCycle)管理模块5202、消息(Message)管理模块5203、运行环境上下文(Context)管理模块5204、切入点(EntryPoint)管理模块5205、运维横向支持(Ops Support)模块5206、业务横向支持(Business Support)模块5207和路由(Router)模块5208。In an embodiment, as shown in FIG. 6, the engine execution module 5200 may include, for example, a process coordination module (Process Cooudinator) 5201, a component life cycle (Component LifeCycle) management module 5202, a message (Message) management module 5203, and an operating environment. A Context management module 5204, an EntryPoint management module 5205, an Ops Support module 5206, a Business Support module 5207, and a Router module 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等的转发及代理,但并不负责功能组件对外端口暴露的服务转发。The component life cycle management module 5202 can be configured to handle the management and control of the entire life cycle such as starting, stopping, updating, and monitoring of functional components. The process coordination module 5201 may be configured to perform the transformation process of the migration of each operation stage according to preset scheduling information of each operation stage, and coordinate the orderly work of each functional component. The pointcut management module 5205 can be configured to perform built-in pointcuts (serviceComponent, taskComponent), and manage, trigger, and run custom pointcuts. The message management module 5203 may be configured to perform internal message management of the engine device 5000 and provide a Topic-Subscribe mode. The operating environment context management module 5204 may be configured to perform the storage and exchange of built-in variables of the entire life cycle of the engine device 5000 and public information. The operation and maintenance horizontal support module 5206 can be configured to perform operation and maintenance related public capability support of the engine device 5000 and functional components, such as data collection and analysis such as Log, monitoring, and tracing. The business horizontal support module 5207 can be configured to perform public capability support related to the engine device 5000 and functional component business, such as consistency, effect, performance, efficiency analysis, etc. The routing module 5208 may be configured to forward and proxy the framework of the engine device 5000 to the view, api, cli, etc. of the functional components, but is not responsible for the service forwarding exposed by the external ports of the functional components.
在一个实施例中,该可执行文件可以包括第一文件和与所使用的功能组件一一对应的第二文件;该第一文件包含定义方案的方案信息,该方案信息包含任务内容信息;每一第二文件包含定义对应功能组件的组件信息。In one embodiment, the executable file may include a first file and a second file corresponding to the functional components used in a one-to-one correspondence; the first file contains program information defining a program, and the program information includes task content information; A second file contains component information defining corresponding functional components.
在一个实施例中,该方案信息包含方案的基本信息、方案的业务信息及方案的运维信息,其中,业务信息包含任务内容信息。In one embodiment, the plan information includes basic information of the plan, business information of the plan, and operation and maintenance information of the plan, where the business information contains task content information.
在一个实施例中,该方案的业务信息还可以包括方案的入口信息和方案的界面信息中的至少一项。In an embodiment, the business information of the solution may further include at least one of entry information of the solution and interface information of the solution.
在一个实施例中,该方案的基本信息可以包括方案名称、方案适用领域的关键词、及方案描述信息中的至少一项。In an embodiment, the basic information of the solution may include at least one of the solution name, the keywords of the application field of the solution, and the solution description information.
在一个实施例中,每一第二文件的组件信息可以包含对应功能组件的基本信息、对应功能组件的业务信息及对应功能组件的运维信息,其中,所述对应功能组件的业务信息包括对应功能组件的业务规则信息等。In one embodiment, the component information of each second file may include the basic information of the corresponding functional component, the business information of the corresponding functional component, and the operation and maintenance information of the corresponding functional component, wherein the business information of the corresponding functional component includes the corresponding Business rule information of functional components, etc.
在一个实施例中,该引擎管理模块5100在解析该应用的可执行文件时,可以被配置为:解 压该可执行文件;以及,按照设定的保存路径,将解压得到的所有文件保存至目录区。该引擎执行模块5200在根据可执行文件运行该应用时,可以被配置为:根据目录区的文件运行该应用。In one embodiment, when the engine management module 5100 parses the executable file of the application, it can be configured to: decompress the executable file; and, according to the set save path, save all the files obtained by decompression to the directory Area. When the engine execution module 5200 runs the application according to the executable file, it can be configured to run the application according to the files in the directory area.
例如,该引擎管理模块5100可以包括文件解析模块(AsolExpl)5101,引擎管理模块5100可以通过该文件解析模块5101解析可执行文件。For example, the engine management module 5100 may include a file parsing module (AsolExpl) 5101, and the engine management module 5100 may parse the executable file through the file parsing module 5101.
在一个实施例中,该引擎执行模块5200在根据目录区的文件运行该应用时,可以被配置为:根据目录区的文件初始化引擎执行模块5200,包括初始化引擎执行模块5200的各组成部分,获得引擎实例模块5200',即使得该引擎执行模块成为专被配置为运行该应用的引擎实例模块5200';以及,启动该引擎实例模块5200'以运行该应用。In one embodiment, when the engine execution module 5200 runs the application according to the files in the directory area, it may be configured to initialize the engine execution module 5200 according to the files in the directory area, including the components of the initialization engine execution module 5200, to obtain The engine instance module 5200', that is, the engine execution module becomes an engine instance module 5200' specially configured to run the application; and, the engine instance module 5200' is started to run the application.
在一个实施例中,该引擎管理模块5100在解析该应用的可执行文件时,可以被配置为:响应于运行该应用的请求,获取该应用的可执行文件,并通知引擎执行模块5200根据该可执行文件运行该应用。In one embodiment, when the engine management module 5100 parses the executable file of the application, it may be configured to: in response to a request to run the application, obtain the executable file of the application, and notify the engine execution module 5200 according to the The executable file runs the application.
在一个实施例中,该引擎管理模块5100在解析该应用的可执行文件时,可以被配置为:检测是否可以识别该可执行文件;在可以识别该可执行文件的情况下,再通知引擎执行模块5200执行根据该可执行文件运行该应用的操作。In one embodiment, when the engine management module 5100 parses the executable file of the application, it may be configured to: detect whether the executable file can be identified; if the executable file can be identified, then notify the engine to execute The module 5200 executes the operation of running the application according to the executable file.
在一个实施例中,该可执行文件定义有实现该应用的方案的任务内容信息。该实施例中,该引擎执行模块5200在根据该可执行文件运行应用时,可以被配置为根据该任务内容信息执行方案包含的各任务事项,以运行该应用。In one embodiment, the executable file defines task content information for implementing the solution of the application. In this embodiment, when the engine execution module 5200 runs the application according to the executable file, it may be configured to execute each task item included in the scheme according to the task content information to run the application.
在一个实施例中,该可执行文件定义有实现该应用的方案的任务内容信息,该任务内容信息包括方案使用的功能组件及每一功能组件的运行信息。该实施例中,该引擎执行模块5200在根据该可执行文件运行该应用时,可以被配置为根据该可执行文件调用所使用的功能组件以运行该应用。该实施例中,例如可以由引擎执行模块5200的流程协调模块5201根据该可执行文件调用所使用的功能组件完成对应的任务事项,以运行该应用。In one embodiment, the executable file defines task content information of a solution for implementing the application, and the task content information includes functional components used by the solution and operating information of each functional component. In this embodiment, when the engine execution module 5200 runs the application according to the executable file, it may be configured to call the used functional components according to the executable file to run the application. In this embodiment, for example, the process coordination module 5201 of the engine execution module 5200 may complete the corresponding task items according to the functional components used by the executable file call to run the application.
在一个实施例中,该运行信息包括对应功能组件在该方案中所属的运行阶段信息、对应功能组件的初始化信息、及对应功能组件的运行条件信息中的至少一项。该实施例中,引擎执行模块5200可以根据该可执行文件的运行信息启动(或者称初始化)所使用的功能组件,以运行该应用。该实施例中,例如可以由引擎执行模块5200的组件生命周期管理模块5202根据该运行信息启动所使用的功能组件等。In one embodiment, the operation information includes at least one of the operation stage information to which the corresponding functional component belongs in the solution, the initialization information of the corresponding functional component, and the operating condition information of the corresponding functional component. In this embodiment, the engine execution module 5200 can start (or initialize) the used functional components according to the running information of the executable file to run the application. In this embodiment, for example, the component life cycle management module 5202 of the engine execution module 5200 may activate the used functional components and the like according to the operation information.
在一个实施例中,该引擎执行模块5200还被配置为在根据可执行文件调用功能组件以运行该应用之前:根据可执行文件定义的每一功能组件的运行信息,初始化对应的功能组件;获取并注册每一功能组件在完成初始化后返回的对外通信接口;以及,通过对外通信接口,将可执行文件定义的每一功能组件的组件信息推送至对应的功能组件。该实施例中,例如可以由引擎执行模块5200的组件生命周期管理模块5202执行相关操作。In one embodiment, the engine execution module 5200 is further configured to, before calling the functional component according to the executable file to run the application: initialize the corresponding functional component according to the operating information of each functional component defined by the executable file; obtain And register the external communication interface returned by each functional component after initialization; and, through the external communication interface, push the component information of each functional component defined by the executable file to the corresponding functional component. In this embodiment, for example, the component life cycle management module 5202 of the engine execution module 5200 may perform related operations.
在一个实施例中,该引擎执行模块5200还被配置为在根据可执行文件调用功能组件以运行该应用之前:获取每一功能组件在完成初始化后返回的状态信息、运行环境上下文信息、及订阅消息信息中的至少一项;以及,在引擎执行模块5200中注册该功能组件返回的信息。该实施例中,引擎执行模块5200例如可以在运行该应用的过程中,根据这些信息控制对应功能组件的表现行为等,例如,订阅相关消息、定期检查公共上下文信息等。该实 施例中,例如可以由引擎执行模块5200的消息管理模块5203、运行环境上下文管理模块5204执行相关操作。In one embodiment, the engine execution module 5200 is further configured to: before invoking the functional components according to the executable file to run the application: obtain the status information returned by each functional component after the initialization, the running environment context information, and the subscription At least one item of message information; and, register the information returned by the functional component in the engine execution module 5200. In this embodiment, the engine execution module 5200 may, for example, control the performance behavior of the corresponding functional components according to the information during the process of running the application, for example, subscribe to related messages, regularly check public context information, and so on. In this embodiment, for example, the message management module 5203 of the engine execution module 5200 and the operating environment context management module 5204 can perform related operations.
在一个实施例中,该可执行文件定义有功能组件的运行条件信息,该引擎执行模块5200在根据该可执行文件调用该功能组件以运行该应用时,可以被配置为:根据可执行文件中定义的每一功能组件的运行条件信息,调用功能组件执行对应的任务以运行所述应用。该实施例中,例如可以由引擎执行模块5200的流程协调模块5201执行相关操作。In one embodiment, the executable file defines the operating condition information of the functional component. When the engine execution module 5200 invokes the functional component to run the application according to the executable file, it can be configured to: Define the operating condition information of each functional component, call the functional component to execute the corresponding task to run the application. In this embodiment, for example, the process coordination module 5201 of the engine execution module 5200 may perform related operations.
在一个实施例中,该引擎执行模块5200在根据该可执行文件调用该功能组件以运行该应用时,可以被配置为:获取可执行文件定义的每一功能组件在方案中所属的运行阶段信息;获取预置的反映各运行阶段的运行顺序的编排信息;根据运行阶段信息和所述编排信息,获得可执行文件定义的每一功能组件的运行条件信息;以及,根据该运行条件信息,调用功能组件执行对应的任务以运行该应用。该实施例中,例如可以由引擎执行模块5200的流程协调模块5201执行相关操作。In one embodiment, when the engine execution module 5200 invokes the functional component according to the executable file to run the application, it may be configured to: obtain the runtime information of each functional component defined by the executable file in the solution. ; Obtain preset orchestration information that reflects the operating sequence of each operating phase; obtain operating condition information of each functional component defined by the executable file according to the operating phase information and the orchestration information; and, according to the operating condition information, call The functional component executes the corresponding task to run the application. In this embodiment, for example, the process coordination module 5201 of the engine execution module 5200 may perform related operations.
在一个实施例中,该引擎执行模块5200在根据该可执行文件调用该功能组件以运行该应用时,可以被配置为:响应于监测到方案的当前运行阶段的功能组件返回的任务完成消息的事件,根据可执行文件检查所述当前运行阶段是否已完成;以及,在已完成的情况下,向方案的下一运行阶段的功能组件提供当前运行阶段的输出数据,并调用下一运行阶段的功能组件执行对应的任务。该实施例中,例如可以由引擎执行模块5200的流程协调模块5201执行相关操作。In one embodiment, when the engine execution module 5200 invokes the functional component to run the application according to the executable file, it may be configured to respond to the task completion message returned by the functional component in the current running stage of the solution. Event, check whether the current operation stage has been completed according to the executable file; and, in the case of completion, provide the output data of the current operation stage to the functional components of the next operation stage of the solution, and call the next operation stage The functional components perform corresponding tasks. In this embodiment, for example, the process coordination module 5201 of the engine execution module 5200 may perform related operations.
在一个实施例中,该引擎执行模块5200在根据可执行文件调用功能组件以运行该应用时,还可以包括:根据可执行文件配置的对应功能组件的运行界面信息,加载显示对应的运行界面。例如,可以在配置功能组件的第二文件中配置该运行界面信息。通过该运行界面,应用使用者可以看到对应功能组件的运行情况,并通过该运行界面提供的入口和/或接口查询相关信息、状态、数据等。该实施例中,例如可以由路由装置5208执行相关操作。In one embodiment, when the engine execution module 5200 invokes a functional component according to the executable file to run the application, it may further include: according to the running interface information of the corresponding functional component configured by the executable file, loading and displaying the corresponding running interface. For example, the running interface information can be configured in the second file of the configuration function component. Through the running interface, application users can see the running status of the corresponding functional components, and query related information, status, data, etc. through the entry and/or interface provided by the running interface. In this embodiment, for example, the routing device 5208 may perform related operations.
下面以一个在线预估服务应用为例,说明引擎装置5000运行该应用的过程,根据该应用的可执行文件的定义,如图7所示,该应用的方案涉及四个运行阶段,分别为数据处理阶段、方案探索阶段、模型迭代阶段和模型应用阶段,每个阶段包括至少一个功能组件,例如,数据处理阶段包括数据处理组件,方案探索阶段包括方案探索组件、模型迭代阶段包括自学习组件、模型应用阶段包括在线预估组件等,该过程例如可以包括:The following takes an online estimation service application as an example to illustrate the process of running the application by the engine device 5000. According to the definition of the executable file of the application, as shown in Figure 7, the application scheme involves four operating stages, which are data Processing stage, solution exploration stage, model iteration stage, and model application stage. Each stage includes at least one functional component. For example, the data processing stage includes data processing components, the solution exploration stage includes solution exploration components, and the model iteration stage includes self-learning components. The model application stage includes online estimation components, etc. The process may include, for example:
1)引擎管理模块5100检查是否可以识别该可执行文件,在可以识别的情况下,解压该应用的可执行文件,并将解压得到的第一文件和第二文件保存在临时目录区。1) The engine management module 5100 checks whether the executable file can be identified, and if it can be identified, decompresses the executable file of the application, and saves the first file and the second file obtained by the decompression in the temporary directory area.
2)引擎执行模块5200根据临时目标区下文件(包括第一文件和第二文件),进行引擎执行模块5200的初始化,获得能够运行该应用的引擎实例模块5200'。2) The engine execution module 5200 initializes the engine execution module 5200 according to the files in the temporary target area (including the first file and the second file), and obtains the engine instance module 5200' that can run the application.
引擎实例模块5200'在运行在线服务应用时,可以根据第一文件中业务信息配置项部分定义的首页路径配置信息,加载显示应用的界面首页。When the engine instance module 5200' runs the online service application, it can load and display the interface homepage of the application according to the homepage path configuration information defined in the business information configuration item part of the first file.
3)引擎实例模块5200'根据可执行文件中定义的功能组件的运行信息,通知以上各功能组件进行初始化,在功能组件完成初始化后,引擎实例模块5200'将各功能组件的配置信息推送至对应的功能组件。引擎实例模块5200'在完成启动,向引擎管理模块5100 汇报自身的状态,引擎管理模块5100将引擎装置5000的运行状态设置为“运行中”。3) The engine instance module 5200' notifies the above functional components to initialize according to the operating information of the functional components defined in the executable file. After the functional components are initialized, the engine instance module 5200' pushes the configuration information of each functional component to the corresponding Functional components. The engine instance module 5200' is finished starting, and reports its own status to the engine management module 5100, and the engine management module 5100 sets the running status of the engine device 5000 to "running".
4)引擎实例模块5200'在运行时,根据预置的编排信息确定这四个运行阶段的运行条件信息为:方案探索阶段在数据处理阶段完成后运行,模型迭代阶段在方案探索阶段完成后运行,模型应用阶段基于模型迭代阶段的产出提供预估服务。4) When the engine instance module 5200' is running, the operating condition information of these four operating stages is determined according to the preset arrangement information: the plan exploration stage will run after the data processing stage is completed, and the model iteration stage will run after the plan exploration stage is completed. , The model application stage provides predictive services based on the output of the model iteration stage.
5)引擎实例模块5200'的流程协调模块根据方案定义,调用数据处理阶段的数据处理组件导入数据,数据处理组件在完成数据导入后将触发数据导入完成消息,并将完成情况汇报给引擎实例模块5200'。5) The process coordination module of the engine instance module 5200' calls the data processing component in the data processing stage to import data according to the plan definition. The data processing component will trigger the data import completion message after completing the data import, and report the completion to the engine instance module 5200'.
引擎实例模块5200'在数据处理阶段进行相应的阶段处理包括:通过路由模块5208进行引擎框架到数据处理组件的view、api、cli的转发,及加载显示数据处理组件的第二文件定义的运行界面等;通过组件生命周期管理模块5202监听或者定时调用与数据处理组件之间的接口;通过流程协调模块5201更新该阶段的运行信息;通过运行环境上下文管理模块5204更新该阶段所处的运行环境上下文(context);通过消息管理模块5203发布该阶段的变更信息;通过切入点管理模块5205设置切入点(EntryPoint)逻辑,及绑定触发事件等;以及,通过流程协调模块5201处理该阶段的阶段产出等。The engine instance module 5200' performs corresponding stage processing in the data processing stage, including: forwarding the engine framework to the view, api, and cli of the data processing component through the routing module 5208, and loading the running interface defined by the second file of the display data processing component Etc.; through the component life cycle management module 5202, monitor or periodically call the interface with the data processing component; through the process coordination module 5201 to update the operating information of this stage; through the operating environment context management module 5204 to update the operating environment context at this stage (context); publish the change information of this stage through the message management module 5203; set the entry point (EntryPoint) logic and bind trigger events through the entry point management module 5205; and process the stage output of this stage through the process coordination module 5201 Wait.
6)引擎实例模块5200'根据可执行文件的定义,检查数据处理阶段是否已经完成,若完成,将该阶段的输出设置为导入的数据组地址。6) The engine instance module 5200' checks whether the data processing stage has been completed according to the definition of the executable file. If completed, the output of this stage is set as the imported data group address.
7)引擎实例模块5200'在检查数据处理阶段完成后,进入方案探索阶段,在方案探索阶段,通过调用方案探索组件进行自动的方案探索,完成方案调研,调研产生最初的模型后,方案探索组件将触发探索完成消息,并向引擎实例模块汇报产出的模型。7) The engine instance module 5200' enters the plan exploration stage after the inspection data processing stage is completed. In the plan exploration stage, automatic plan exploration is carried out by calling the plan exploration component, complete the plan investigation, and after the investigation produces the initial model, the plan exploration component The exploration completion message will be triggered, and the output model will be reported to the engine instance module.
8)引擎实例模块5200'在检查到方案探索阶段已经完成后,进入模型迭代阶段,在该模型迭代阶段,通过调用自学习组件根据方案探索阶段产出的模型进行自学习训练,训练产出更新的模型后,自学习组件将触发自学习完成消息,并向引擎实例模块汇报产出的更新的模型。8) The engine instance module 5200' enters the model iteration stage after checking that the plan exploration stage has been completed. In the model iteration stage, the self-learning component is used to perform self-learning training based on the model produced in the plan exploration stage, and the training output is updated. After the model, the self-learning component will trigger the self-learning completion message and report the updated model output to the engine instance module.
9)引擎实例模块5200'在检查到模型迭代阶段完成后,进入模型应用阶段,在该模型应用阶段,引擎实例模块调用模型迭代阶段产出的更新的模型提供预估服务,并将执行预估服务的状态汇报给引擎实例模块5200'。9) After the engine instance module 5200' checks that the model iteration stage is completed, it enters the model application stage. In the model application stage, the engine instance module invokes the updated model produced in the model iteration stage to provide estimation services, and executes the estimation The status of the service is reported to the engine instance module 5200'.
图8是根据一个实施例的构建人工智能应用的装置的结构原理框图。如图8所示,该装置4000的应用开发装置4000a可以包括应用配置模块4100和文件生成模块4200。该装置4000的各个模块可以通过电子设备的处理器运行电子设备的存储器存储的计算机指令实现。Fig. 8 is a structural principle block diagram of a device for constructing an artificial intelligence application according to an embodiment. As shown in FIG. 8, the application development device 4000a of the device 4000 may include an application configuration module 4100 and a file generation module 4200. The various modules of the apparatus 4000 may be implemented by a processor of the electronic device running computer instructions stored in a memory of the electronic device.
该应用配置模块4100被配置为获取针对应用配置的应用配置信息,其中,该应用配置信息包括实现该应用的人工智能方案的方案信息。The application configuration module 4100 is configured to obtain application configuration information for application configuration, where the application configuration information includes scheme information for implementing an artificial intelligence scheme of the application.
该文件生成模块4200被配置为根据应用配置信息和预置的模板文件,生成该应用的可执行文件。The file generating module 4200 is configured to generate an executable file of the application according to the application configuration information and a preset template file.
在一个实施例中,该方案信息包括方案的任务内容信息。In one embodiment, the plan information includes task content information of the plan.
在一个实施例中,该任务内容信息包括每一任务事项的内容信息及各个任务事项之间的关联信息。In one embodiment, the task content information includes content information of each task item and association information between each task item.
在一个实施例中,该任务内容信息包括所述方案使用的功能组件及每一所述功能组件的运行信息;该应用配置信息还包括分别针对每一所述功能组件配置的组件配置信息。In one embodiment, the task content information includes the functional components used by the solution and the operation information of each of the functional components; the application configuration information also includes component configuration information configured for each of the functional components.
在一个实施例中,该运行信息包括对应功能组件在所述方案中所属的运行阶段信息、对应功能组件的初始化信息、及对应功能组件的运行条件信息中的至少一项。In one embodiment, the operating information includes at least one of operating stage information to which the corresponding functional component belongs in the solution, initialization information of the corresponding functional component, and operating condition information of the corresponding functional component.
在一个实施例中,该文件生成模块4200在根据应用配置信息和预置的模板文件,生成该应用的可执行文件时,可以被配置为:根据所述方案信息和方案模板文件,生成定义所述方案的第一文件;针对每一所述功能组件,根据对应功能组件的组件配置信息和对应功能组件的组件模板文件,生成定义对应功能组件的第二文件;以及,打包所述第一文件和每一所述第二文件,生成所述可执行文件。In one embodiment, when the file generating module 4200 generates the executable file of the application according to the application configuration information and the preset template file, it may be configured to: generate the definition file according to the scheme information and the scheme template file. The first file of the solution; for each of the functional components, according to the component configuration information of the corresponding functional component and the component template file of the corresponding functional component, a second file defining the corresponding functional component is generated; and the first file is packaged And each of the second files to generate the executable file.
在一个实施例中,该组件模板文件可以包括对应组件的基本信息配置项、对应组件的业务信息配置项、及对应组件的运维信息配置项,其中,该组件的业务信息包括对应组件的运行规则信息。In one embodiment, the component template file may include basic information configuration items of the corresponding component, business information configuration items of the corresponding component, and operation and maintenance information configuration items of the corresponding component, wherein the business information of the component includes the operation of the corresponding component Rules information.
在一个实施例中,该组件的基本信息可以包括对应功能组件的版本、对应功能组件的创建者、对应功能组件的唯一标识、对应功能组件的名称、及对应功能组件所在的数据组中的至少一项。In one embodiment, the basic information of the component may include at least the version of the corresponding functional component, the creator of the corresponding functional component, the unique identifier of the corresponding functional component, the name of the corresponding functional component, and the data group in which the corresponding functional component is located. One item.
在一个实施例中,该组价的业务信息还可以包括上下文声明信息和消息声明信息中的至少一项。In an embodiment, the service information of the group price may further include at least one of context declaration information and message declaration information.
在一个实施例中,该组件模板文件还可以包括配置界面信息。In an embodiment, the component template file may also include configuration interface information.
在一个实施例中,该应用配置模块4100还可以被配置为:响应于配置所述功能组件的操作,解析对应功能组件的组件模板文件;以及,在所述组件模板文件定义有配置界面信息的情况下,根据所述配置界面信息渲染对应功能组件的配置界面。In one embodiment, the application configuration module 4100 may also be configured to: in response to the operation of configuring the functional component, parse the component template file of the corresponding functional component; and, define the configuration interface information in the component template file. In this case, the configuration interface of the corresponding functional component is rendered according to the configuration interface information.
在一个实施例中,该应用配置模块4100还可以被配置为:响应于配置所述功能组件的操作,加载对应功能组件的组件模板文件的文件内容以供配置。In an embodiment, the application configuration module 4100 may also be configured to: in response to the operation of configuring the functional component, load the file content of the component template file of the corresponding functional component for configuration.
在一个实施例中,该应用配置模块4100还可以被配置为:响应于配置所述功能组件的操作,提供配置入口界面,其中,所述配置入口界面包括第一配置入口和第二配置入口,其中,所述第一配置入口为选择加载对应功能组件的组件模板文件定义的配置界面以进行配置的入口,所述第二配置入口为选择加载对应功能组件的组件模板文件的文件内容以进行配置的入口。In an embodiment, the application configuration module 4100 may be further configured to provide a configuration portal interface in response to the operation of configuring the functional component, wherein the configuration portal interface includes a first configuration portal and a second configuration portal, Wherein, the first configuration entry is an entry for selecting to load the configuration interface defined by the component template file of the corresponding functional component for configuration, and the second configuration entry is the entry for selecting to load the file content of the component template file of the corresponding functional component for configuration. Entrance.
在一个实施例中,该应用配置模块4100还可以被配置为:响应于定义所述任务内容信息的操作,加载功能组件库中的功能组件的列表项;以及,检测对所述列表项进行的编辑操作,并根据所述编辑操作获得所述方案使用的功能组件及每一所述功能组件的运行信息。In one embodiment, the application configuration module 4100 may also be configured to: in response to the operation of defining the task content information, load the list items of the function components in the function component library; and detect the actions performed on the list items Edit operation, and obtain the functional components used by the solution and the operation information of each of the functional components according to the editing operation.
在一个实施例中,该编辑操作包括选择操作和移位操作。In one embodiment, the editing operation includes a selection operation and a shift operation.
在一个实施例中,该应用配置模块4100还可以被配置为:在所述列表项上提供被配置为触发配置对应功能组件的操作的操作接口。In an embodiment, the application configuration module 4100 may be further configured to provide an operation interface configured to trigger an operation of configuring a corresponding functional component on the list item.
在一个实施例中,该方案使用的功能组件可以包括如下中的任一个或多个组件:数据预处理组件、数据拆分组件、数据合并组件、特征抽取组件、模型训练组件、模型评估组件、自学习组件、实时预估组件、及批量预估组件。In one embodiment, the functional components used in the solution may include any one or more of the following components: data preprocessing components, data splitting components, data merging components, feature extraction components, model training components, model evaluation components, Self-learning components, real-time estimation components, and batch estimation components.
在一个实施例中,该装置4000的组件开发装置4000b还可以包括组件生成模块,该组件生成模块可以被配置为:提供功能组件开发模板;获取根据所述功能组件开发模板定义的功能组件 信息和有关配置功能组件的信息,所述功能组件信息包括对应功能组件的功能实现信息;打包包含所述功能组件信息的文件,生成对应功能组件;以及,根据有关配置功能组件的信息,生成对应功能组件的组件配置模板。In one embodiment, the component development device 4000b of the device 4000 may further include a component generation module, the component generation module may be configured to: provide a functional component development template; obtain the functional component information defined according to the functional component development template and Information about the configuration function component, the function component information includes the function realization information of the corresponding function component; the file containing the function component information is packaged to generate the corresponding function component; and the corresponding function component is generated according to the information about the configuration function component Component configuration template.
在一个实施例中,该装置4000的组件开发装置4000b还可以包括组件发布模块,该组件发布模块被配置为:响应于发布所述对应功能组件的操作,将所述对应功能组件和对应功能组件的组件配置模板上传至组件库,并在所述组件库注册所述对应功能组件。In one embodiment, the component development device 4000b of the device 4000 may further include a component publishing module configured to: in response to an operation of publishing the corresponding functional component, combine the corresponding functional component and the corresponding functional component The component configuration template of is uploaded to the component library, and the corresponding functional component is registered in the component library.
在一个实施例中,预设的模板文件可以包括方案模板文件,所述方案模板文件包括方案的基本信息配置项、方案的业务信息配置项、及方案的运维信息配置项,其中,所述业务信息包括所述任务内容信息。In an embodiment, the preset template file may include a solution template file, the solution template file includes basic information configuration items of the solution, business information configuration items of the solution, and operation and maintenance information configuration items of the solution, wherein the The business information includes the task content information.
在一个实施例中,该任务内容信息可以包括所述方案使用的功能组件及每一所述功能组件的运行信息;所述业务信息还包括各个所述功能组件的公共配置信息。In an embodiment, the task content information may include the functional components used by the solution and the operation information of each of the functional components; the business information also includes common configuration information of each of the functional components.
在一个实施例中,该公共配置信息可以包括公共的数据字典、公开的系统参数及公共的初始化信息中至少一项。In an embodiment, the public configuration information may include at least one of a public data dictionary, public system parameters, and public initialization information.
在一个实施例中,该方案的业务信息还可以包括该方案的入口信息和所述方案的界面信息中的至少一项。In an embodiment, the business information of the solution may further include at least one of entry information of the solution and interface information of the solution.
在一个实施例中,该方案的运维信息可以包括运行方式信息和运行资源信息。In an embodiment, the operation and maintenance information of the solution may include operation mode information and operation resource information.
在一个实施例中,该方案信息还可以包括该方案的基本信息,该方案的基本信息包括方案名称、方案适用领域的关键词、及方案描述信息中的至少一项。In an embodiment, the program information may further include basic information of the program, and the basic information of the program includes at least one of a program name, a keyword of a program applicable field, and program description information.
在一个实施例中,该应用配置模块4100在获取针对所述应用配置的应用配置信息时,可以被配置为:获取通过提供的配置接口输入的所述应用配置信息。In one embodiment, when the application configuration module 4100 obtains the application configuration information configured for the application, it may be configured to obtain the application configuration information input through the provided configuration interface.
在一个实施例中,上述任意的配置接口可以包括提供勾选项的配置项及提供输入框的配置项中的至少一项。In one embodiment, any of the above configuration interfaces may include at least one of a configuration item that provides a check option and a configuration item that provides an input box.
在一个实施例中,该应用配置模块4100还可以被配置为:查找所述模板文件是否具有对应所述配置接口的配置项的配置信息;以及,在具有所述配置信息的情况下,在所述配置接口的对应配置项中提供对应的配置信息。In an embodiment, the application configuration module 4100 may be further configured to: search for whether the template file has configuration information corresponding to the configuration items of the configuration interface; The corresponding configuration information is provided in the corresponding configuration items of the configuration interface.
在一个实施例中,该模板文件对于所包含的配置项中的至少部分配置项已定义有对应的配置信息。In an embodiment, the template file has defined corresponding configuration information for at least some of the included configuration items.
在一个实施例中,该文件生成模块4200在根据应用配置信息和预置的模板文件,生成应用的可执行文件时,可以被配置为:根据应用配置信息更新该模板文件,生成该应用的可执行文件。In one embodiment, when the file generating module 4200 generates the executable file of the application according to the application configuration information and the preset template file, it may be configured to update the template file according to the application configuration information, and generate the executable file of the application. executable file.
在一个实施例中,该装置4000的应用开发装置4000a还可以包括应用发布模块,该应用发布模块可以被配置为:在所述文件生成模块生成所述应用的可执行文件之后,加载与所述模板文件相适配的引擎运行所述可执行文件;以及,在运行通过的情况下,发布所述可执行文件以供下载。In one embodiment, the application development device 4000a of the device 4000 may further include an application publishing module, and the application publishing module may be configured to: after the file generation module generates the executable file of the application, load and The engine adapted to the template file runs the executable file; and, in the case of passing the run, releases the executable file for download.
在一个实施例中,该应用发布模块可以被配置为:在文件生成模块4200生成该应用的可执行文件之后,将该可执行文件发布至应用提供装置以供下载。In one embodiment, the application publishing module may be configured to publish the executable file to the application providing apparatus for downloading after the file generating module 4200 generates the executable file of the application.
<介质实施例><Medium Example>
在一个实施例中,还提供了一种计算机可读存储介质,其中,该计算机可读存储介质存储有可被计算机读取执行的计算机程序,所述计算机程序用于在被所述计算机读取运行 时,执行根据任意方法实施例的运行人工智能应用的方法或者根据任意方法实施例的构建人工智能应用的方法。In one embodiment, there is also provided a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program that can be read and executed by a computer, and the computer program is used to be read by the computer. At runtime, the method of running an artificial intelligence application according to any method embodiment or the method of constructing an artificial intelligence application according to any method embodiment is executed.
本公开可以是设备、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。The present disclosure may be a device, a method, and/or a computer program product. The computer program product may include a computer-readable storage medium loaded with computer-readable program instructions for enabling a processor to implement various aspects of the present disclosure.
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。The computer-readable storage medium may be a tangible device that can hold and store instructions used by the instruction execution device. The computer-readable storage medium may be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples (non-exhaustive list) of computer-readable storage media include: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM) Or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, mechanical encoding device, such as a printer with instructions stored thereon The protruding structure in the hole card or the groove, and any suitable combination of the above. The computer-readable storage medium used here is not interpreted as the instantaneous signal itself, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (for example, light pulses through fiber optic cables), or through wires Transmission of electrical signals.
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to various computing/processing devices, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, optical fiber transmission, wireless transmission, routers, firewalls, switches, gateway computers, and/or edge servers. The network adapter card or network interface in each computing/processing device receives computer-readable program instructions from the network, and forwards the computer-readable program instructions for storage in the computer-readable storage medium in each computing/processing device .
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。The computer program instructions used to perform the operations of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, or in one or more programming languages. Source code or object code written in any combination, the programming language includes object-oriented programming languages such as Smalltalk, C++, etc., and conventional procedural programming languages such as "C" language or similar programming languages. Computer-readable program instructions can be executed entirely on the user's computer, partly on the user's computer, executed as a stand-alone software package, partly on the user's computer and partly executed on a remote computer, or entirely on the remote computer or server carried out. In the case of a remote computer, the remote computer can be connected to the user's computer through any kind of network-including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computer (for example, using an Internet service provider to connect to the user's computer) connection). In some embodiments, an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), can be customized by using the status information of the computer-readable program instructions. The computer-readable program instructions are executed to realize various aspects of the present disclosure.
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。Here, various aspects of the present disclosure are described with reference to flowcharts and/or block diagrams of methods, devices (systems) and computer program products according to embodiments of the present disclosure. It should be understood that each block of the flowcharts and/or block diagrams, and combinations of blocks in the flowcharts and/or block diagrams, can be implemented by computer-readable program instructions.
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理 装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。These computer-readable program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine that makes these instructions when executed by the processor of the computer or other programmable data processing device , A device that implements the functions/actions specified in one or more blocks in the flowcharts and/or block diagrams is produced. It is also possible to store these computer-readable program instructions in a computer-readable storage medium. These instructions make computers, programmable data processing apparatuses, and/or other devices work in a specific manner. Thus, the computer-readable medium storing the instructions includes An article of manufacture, which includes instructions for implementing various aspects of the functions/actions specified in one or more blocks in the flowcharts and/or block diagrams.
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。It is also possible to load computer-readable program instructions on a computer, other programmable data processing device, or other equipment, so that a series of operation steps are executed on the computer, other programmable data processing device, or other equipment to produce a computer-implemented process , So that the instructions executed on the computer, other programmable data processing apparatus, or other equipment realize the functions/actions specified in one or more blocks in the flowcharts and/or block diagrams.
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。The flowcharts and block diagrams in the accompanying drawings show the possible implementation architecture, functions, and operations of the system, method, and computer program product according to multiple embodiments of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, program segment, or part of an instruction, and the module, program segment, or part of an instruction contains one or more components for realizing the specified logical function. Executable instructions. In some alternative implementations, the functions marked in the block may also occur in a different order from the order marked in the drawings. For example, two consecutive blocks can actually be executed substantially in parallel, or they can sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and/or flowchart, and the combination of the blocks in the block diagram and/or flowchart, can be implemented by a dedicated hardware-based system that performs the specified functions or actions Or it can be realized by a combination of dedicated hardware and computer instructions. It is well known to those skilled in the art that implementation through hardware, implementation through software, and implementation through a combination of software and hardware are all equivalent.
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本公开的范围由所附权利要求来限定。The embodiments of the present disclosure have been described above, and the above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Without departing from the scope and spirit of the illustrated embodiments, many modifications and changes are obvious to those of ordinary skill in the art. The choice of terms used herein is intended to best explain the principles, practical applications, or technical improvements in the market of the various embodiments, or to enable other ordinary skilled in the art to understand the various embodiments disclosed herein. The scope of the present disclosure is defined by the appended claims.
工业实用性Industrial applicability
通过本公开实施例,其在工作节点执行分配的任务的过程中,针对资源使用情况进行动态调节,从而实现有效率的任务分配和资源调度,提高任务的执行效率以及资源利用率。因此本公开具有很强的工业实用性。Through the embodiments of the present disclosure, in the process of executing the assigned tasks by the working nodes, it dynamically adjusts the resource usage, thereby realizing efficient task allocation and resource scheduling, and improving task execution efficiency and resource utilization. Therefore, the present disclosure has strong industrial applicability.

Claims (46)

  1. 一种运行人工智能应用的方法,包括:A method of running artificial intelligence applications, including:
    获取针对所述应用配置的应用配置信息,其中,所述应用配置信息包括实现所述应用的人工智能方案的方案信息;Acquiring application configuration information configured for the application, where the application configuration information includes scheme information for implementing the artificial intelligence scheme of the application;
    根据所述应用配置信息和预置的模板文件,生成所述应用的可执行文件以供运行。According to the application configuration information and the preset template file, an executable file of the application is generated for running.
  2. 根据权利要求1所述的方法,其中,所述方案信息包括所述方案的任务内容信息,所述任务内容信息包括所述方案使用的功能组件及每一所述功能组件的运行信息;The method according to claim 1, wherein the plan information includes task content information of the plan, and the task content information includes functional components used by the plan and operation information of each of the functional components;
    所述应用配置信息还包括分别针对每一所述功能组件配置的组件配置信息;The application configuration information also includes component configuration information configured for each of the functional components;
    所述运行信息包括对应功能组件在所述方案中所属的运行阶段信息、对应功能组件的初始化信息、及对应功能组件的运行条件信息中的至少一项。The operating information includes at least one of the operating phase information to which the corresponding functional component belongs in the solution, the initialization information of the corresponding functional component, and the operating condition information of the corresponding functional component.
  3. 根据权利要求2所述的方法,其中,根据所述应用配置信息和预置的模板文件,生成所述应用的可执行文件包括:The method according to claim 2, wherein, according to the application configuration information and a preset template file, generating the executable file of the application comprises:
    根据所述方案信息和方案模板文件,生成定义所述方案的第一文件;Generating a first file defining the scheme according to the scheme information and the scheme template file;
    针对每一所述功能组件,根据对应功能组件的组件配置信息和对应功能组件的组件模板文件,生成定义对应功能组件的第二文件;For each of the functional components, according to the component configuration information of the corresponding functional component and the component template file of the corresponding functional component, a second file defining the corresponding functional component is generated;
    打包所述第一文件和每一所述第二文件,生成所述可执行文件。The first file and each of the second files are packaged to generate the executable file.
  4. 根据权利要求3所述的方法,其中,所述组件模板文件包括配置界面信息、对应组件的基本信息配置项、对应组件的业务信息配置项、及对应组件的运维信息配置项;The method according to claim 3, wherein the component template file includes configuration interface information, basic information configuration items of the corresponding component, business information configuration items of the corresponding component, and operation and maintenance information configuration items of the corresponding component;
    所述业务信息包括对应组件的运行规则信息;The business information includes operation rule information of the corresponding component;
    所述基本信息包括对应功能组件的版本、对应功能组件的创建者、对应功能组件的唯一标识、对应功能组件的名称、及对应功能组件所在的数据组中的至少一项;The basic information includes at least one of the version of the corresponding function component, the creator of the corresponding function component, the unique identifier of the corresponding function component, the name of the corresponding function component, and the data group in which the corresponding function component is located;
    所述业务信息还包括上下文声明信息和消息声明信息中的至少一项。The service information also includes at least one of context declaration information and message declaration information.
  5. 根据权利要求3或4所述的方法,其中,所述方法还包括:The method according to claim 3 or 4, wherein the method further comprises:
    响应于配置所述功能组件的操作,解析对应功能组件的组件模板文件;In response to the operation of configuring the functional component, parsing the component template file of the corresponding functional component;
    在所述组件模板文件定义有配置界面信息的情况下,根据所述配置界面信息渲染对应功能组件的配置界面;或者,If the component template file defines configuration interface information, render the configuration interface of the corresponding functional component according to the configuration interface information; or,
    响应于配置所述功能组件的操作,加载对应功能组件的组件模板文件的文件内容以供配置。In response to the operation of configuring the functional component, the file content of the component template file corresponding to the functional component is loaded for configuration.
  6. 根据权利要求3至5中任一项所述的方法,其中,所述方法还包括:The method according to any one of claims 3 to 5, wherein the method further comprises:
    响应于配置所述功能组件的操作,提供配置入口界面,其中,所述配置入口界面包括第一配置入口和第二配置入口,其中,所述第一配置入口为选择加载对应功能组件的组件模板文件定义的配置界面以进行配置的入口,所述第二配置入口为选择加载对应功能组件的组件模板文件的文件内容以进行配置的入口。In response to the operation of configuring the functional component, a configuration entry interface is provided, wherein the configuration entry interface includes a first configuration entry and a second configuration entry, wherein the first configuration entry is a component template for selecting and loading a corresponding functional component The configuration interface defined by the file is an entry for configuration, and the second configuration entry is an entry for selecting and loading the file content of the component template file of the corresponding functional component for configuration.
  7. 根据权利要求3至6中任一项所述的方法,所述方法还包括:The method according to any one of claims 3 to 6, the method further comprising:
    响应于定义所述任务内容信息的操作,加载功能组件库中的功能组件的列表项,其中,所述列表项提供有用于触发配置对应功能组件的操作的操作接口;In response to the operation of defining the task content information, load the list item of the functional component in the functional component library, wherein the list item provides an operation interface for triggering the operation of configuring the corresponding functional component;
    检测对所述列表项进行的编辑操作,获得所述方案使用的功能组件及每一所述功能组件的运行信息。The editing operation performed on the list item is detected, and the functional components used by the solution and the operation information of each of the functional components are obtained.
  8. 根据权利要求3至7中任一项所述的方法,其中,所述方法还包括生成所述功能组件的步骤,包括:The method according to any one of claims 3 to 7, wherein the method further comprises the step of generating the functional component, including:
    提供功能组件开发模板;Provide functional component development templates;
    获取根据所述功能组件开发模板定义的功能组件信息和有关配置功能组件的信息,所述功能组件信息包括对应功能组件的功能实现信息;Acquiring function component information defined according to the function component development template and information about configuration function components, where the function component information includes function realization information of the corresponding function component;
    打包包含所述功能组件信息的文件,生成对应功能组件;Package the file containing the functional component information to generate the corresponding functional component;
    根据所述有关配置功能组件的信息,生成对应功能组件的组件配置模板。According to the information about the configuration function component, a component configuration template corresponding to the function component is generated.
  9. 根据权利要求8所述的方法,其中,所述方法还包括:The method according to claim 8, wherein the method further comprises:
    响应于发布所述对应功能组件的操作,将所述对应功能组件和对应功能组件的组件配置模板上传至组件库,并在所述组件库注册所述对应功能组件。In response to the operation of publishing the corresponding function component, upload the corresponding function component and the component configuration template of the corresponding function component to the component library, and register the corresponding function component in the component library.
  10. 根据权利要求2至9中任一项所述的方法,其中,所述模板文件包括方案模板文件,所述方案模板文件包括方案的基本信息配置项、方案的业务信息配置项、及方案的运维信息配置项;The method according to any one of claims 2 to 9, wherein the template file comprises a scheme template file, and the scheme template file includes basic information configuration items of the scheme, business information configuration items of the scheme, and operation of the scheme. Dimension information configuration items;
    所述方案的业务信息包括所述任务内容信息、各个所述功能组件的公共配置信息、所述方案的入口信息和所述方案的界面信息中的至少一项;The business information of the solution includes at least one of the task content information, the common configuration information of each functional component, the entry information of the solution, and the interface information of the solution;
    所述任务内容信息包括所述方案使用的功能组件及每一所述功能组件的运行信息;The task content information includes the functional components used by the solution and the operation information of each of the functional components;
    所述公共配置信息包括公共的数据字典、公开的系统参数及公共的初始化信息中至少一项;The public configuration information includes at least one of a public data dictionary, public system parameters, and public initialization information;
    所述运维信息包括运行方式信息和运行资源信息。The operation and maintenance information includes operation mode information and operation resource information.
  11. 根据权利要求1至10中任一项所述的方法,其中,所述方法还包括:The method according to any one of claims 1 to 10, wherein the method further comprises:
    响应于运行所述应用的请求,解析所述应用的所述可执行文件;In response to a request to run the application, parsing the executable file of the application;
    根据所述可执行文件运行所述应用。Run the application according to the executable file.
  12. 根据权利要求11所述的方法,其中,所述可执行文件定义有实现所述应用的方案的任务内容信息,所述任务内容信息包括所述方案使用的功能组件及每一所述功能组件的运行信息;The method according to claim 11, wherein the executable file defines task content information for implementing the solution of the application, and the task content information includes the functional components used by the solution and the functions of each of the functional components. Operating information;
    所述根据所述可执行文件运行所述应用包括:The running the application according to the executable file includes:
    根据所述可执行文件调用所述功能组件以运行所述应用。The function component is called according to the executable file to run the application.
  13. 根据权利要求12所述的方法,其中,所述方法在根据所述可执行文件调用所述功能组件以运行所述应用之前,还包括:The method according to claim 12, wherein, before invoking the functional component to run the application according to the executable file, the method further comprises:
    根据所述可执行文件定义的每一所述功能组件的运行信息,初始化对应的功能组件;Initialize the corresponding functional component according to the operating information of each of the functional components defined by the executable file;
    获取并注册每一所述功能组件在完成初始化后返回的对外通信接口;Acquiring and registering the external communication interface returned by each of the functional components after initialization;
    通过所述对外通信接口,将所述可执行文件定义的每一所述功能组件的组件信息推送至对应的功能组件。Through the external communication interface, the component information of each functional component defined by the executable file is pushed to the corresponding functional component.
  14. 根据权利要求12或13所述的方法,其中,所述方法在根据所述可执行文件调用所述功能组件以运行所述应用之前,还包括:The method according to claim 12 or 13, wherein, before invoking the functional component to run the application according to the executable file, the method further comprises:
    获取每一功能组件在完成初始化后返回的信息,其中,所述信息包括状态信息、运行环境上下文信息、订阅消息信息中的至少一项;Acquiring information returned by each functional component after completing initialization, where the information includes at least one of status information, operating environment context information, and subscription message information;
    在所述引擎装置中注册所述返回的信息。Register the returned information in the engine device.
  15. 根据权利要求12至14中任一项所述的方法,其中,所述根据所述可执行文件调用所述功能组件以运行所述应用,包括:The method according to any one of claims 12 to 14, wherein the invoking the functional component to run the application according to the executable file comprises:
    根据所述可执行文件中定义的每一所述功能组件的运行条件信息,调用所述功能组件执行对应的任务以运行所述应用;或者,According to the operating condition information of each functional component defined in the executable file, call the functional component to execute the corresponding task to run the application; or,
    所述根据所述可执行文件调用所述功能组件以运行所述应用,包括:The invoking the functional component to run the application according to the executable file includes:
    获取所述可执行文件定义的每一所述功能组件在所述方案中所属的运行阶段信 息;Acquiring information about the operating phase to which each of the functional components defined by the executable file belongs in the solution;
    获取预置的反映各运行阶段的运行顺序的编排信息;Obtain preset scheduling information reflecting the operation sequence of each operation stage;
    根据所述运行阶段信息和所述编排信息,获得所述可执行文件定义的每一功能组件的运行条件信息;以及,Obtain the operating condition information of each functional component defined by the executable file according to the operating stage information and the layout information; and,
    根据所述运行条件信息,调用所述功能组件执行对应的任务以运行所述应用。According to the operating condition information, call the functional component to execute the corresponding task to run the application.
  16. 根据权利要求12至15中任一项所述的方法,其中,所述根据所述可执行文件调用所述功能组件以运行所述应用,包括:The method according to any one of claims 12 to 15, wherein the invoking the functional component to run the application according to the executable file comprises:
    响应于监测到所述方案的当前运行阶段的功能组件返回的任务完成消息的事件,根据所述可执行文件检查所述当前运行阶段是否已完成;In response to monitoring the event of the task completion message returned by the functional component of the current running stage of the solution, check whether the current running stage has been completed according to the executable file;
    在已完成的情况下,向所述方案的下一运行阶段的功能组件提供所述当前运行阶段的输出数据,并调用所述下一运行阶段的功能组件执行对应的任务。In the case of completion, the output data of the current operation stage is provided to the functional component of the next operation stage of the solution, and the functional component of the next operation stage is called to execute the corresponding task.
  17. 根据权利要求12至16中任一项所述的方法,其中,所述根据所述可执行文件调用所述功能组件以运行所述应用,包括:The method according to any one of claims 12 to 16, wherein the invoking the functional component to run the application according to the executable file comprises:
    在调用所述功能组件以运行所述应用时,根据所述可执行文件配置的对应功能组件的运行界面信息,加载显示对应的运行界面。When the function component is called to run the application, the corresponding running interface is loaded and displayed according to the running interface information of the corresponding function component configured by the executable file.
  18. 根据权利要求11至17中任一项所述的方法,其中,所述解析所述应用的可执行文件包括:The method according to any one of claims 11 to 17, wherein the parsing of the executable file of the application comprises:
    解压所述可执行文件;Decompress the executable file;
    按照设定的保存路径,将解压得到的所有文件保存至目录区;Save all the files obtained by decompression to the directory area according to the set save path;
    所述根据所述可执行文件运行所述应用包括:The running the application according to the executable file includes:
    根据所述目录区的文件运行所述应用;Run the application according to the files in the directory area;
    其中,根据所述目录区的文件运行所述应用,包括:Wherein, running the application according to the files in the directory area includes:
    根据所述目录区的文件初始化引擎装置,获得引擎实例模块;Initialize the engine device according to the files in the directory area to obtain the engine instance module;
    启动所述引擎实例模块运行所述应用。Start the engine instance module to run the application.
  19. 根据权利要求1至18中任一项所述的方法,其中,所述获取针对所述应用配置的应用配置信息包括:The method according to any one of claims 1 to 18, wherein the obtaining application configuration information configured for the application comprises:
    获取通过提供的配置接口输入的所述应用配置信息;Acquiring the application configuration information input through the provided configuration interface;
    所述方法还包括:The method also includes:
    查找所述模板文件是否具有对应所述配置接口的配置项的配置信息;Searching whether the template file has configuration information corresponding to the configuration items of the configuration interface;
    在具有所述配置信息的情况下,在所述配置接口的对应配置项中提供对应的配置信息。In the case of having the configuration information, the corresponding configuration information is provided in the corresponding configuration item of the configuration interface.
  20. 根据权利要求1至19中任一项所述的方法,其中,所述模板文件对于所包含的配置项中的至少部分配置项已定义有对应的配置信息。The method according to any one of claims 1 to 19, wherein the template file has defined corresponding configuration information for at least some of the included configuration items.
  21. 根据权利要求1至20中任一项所述的方法,其中,所述根据所述应用配置信息和预置的模板文件,生成所述应用的可执行文件包括:The method according to any one of claims 1 to 20, wherein the generating the executable file of the application according to the application configuration information and a preset template file comprises:
    根据所述应用配置信息更新所述模板文件,生成所述应用的可执行文件。The template file is updated according to the application configuration information, and an executable file of the application is generated.
  22. 根据权利要求1至21中任一项所述的方法,其中,所述方法在生成所述应用的可执行文件之后,还包括:The method according to any one of claims 1 to 21, wherein after generating the executable file of the application, the method further comprises:
    将所述可执行文件发布至应用提供装置以供下载;或者,Publish the executable file to the application providing device for download; or,
    所述方法在生成所述应用的可执行文件之后,还包括:After generating the executable file of the application, the method further includes:
    加载与所述模板文件相适配的引擎运行所述可执行文件;Load an engine adapted to the template file to run the executable file;
    在运行通过的情况下,发布所述可执行文件以供下载。In the case that the operation is passed, the executable file is released for download.
  23. 一种运行人工智能应用的系统,包括构建人工智能应用的装置,所述构建人工智能应用的装置包括:A system for running artificial intelligence applications includes a device for constructing artificial intelligence applications. The device for constructing artificial intelligence applications includes:
    应用配置模块,被配置为获取针对所述应用配置的应用配置信息,其中,所述应用配置信息包括实现所述应用的人工智能方案的方案信息;以及,An application configuration module configured to obtain application configuration information for the application configuration, wherein the application configuration information includes scheme information for implementing the artificial intelligence scheme of the application; and,
    文件生成模块,被配置为根据所述应用配置信息和预置的模板文件,生成所述应用的可执行文件以供运行。The file generating module is configured to generate an executable file of the application for running according to the application configuration information and a preset template file.
  24. 根据权利要求23所述的系统,其中,所述方案信息包括所述方案的任务内容信息;所述任务内容信息包括所述方案使用的功能组件及每一所述功能组件的运行信息;23. The system according to claim 23, wherein the plan information includes task content information of the plan; the task content information includes functional components used by the plan and operation information of each of the functional components;
    所述应用配置信息还包括分别针对每一所述功能组件配置的组件配置信息;The application configuration information also includes component configuration information configured for each of the functional components;
    所述运行信息包括对应功能组件在所述方案中所属的运行阶段信息、对应功能组件的初始化信息、及对应功能组件的运行条件信息中的至少一项。The operating information includes at least one of the operating phase information to which the corresponding functional component belongs in the solution, the initialization information of the corresponding functional component, and the operating condition information of the corresponding functional component.
  25. 根据权利要求24所述的系统,其中,所述文件生成模块在根据所述应用配置信息和预置的模板文件,生成所述应用的可执行文件时,被配置为:The system according to claim 24, wherein the file generating module is configured to: when generating the executable file of the application according to the application configuration information and a preset template file:
    根据所述方案信息和方案模板文件,生成定义所述方案的第一文件;Generating a first file defining the scheme according to the scheme information and the scheme template file;
    针对每一所述功能组件,根据对应功能组件的组件配置信息和对应功能组件的组 件模板文件,生成定义对应功能组件的第二文件;以及,For each of the functional components, according to the component configuration information of the corresponding functional component and the component template file of the corresponding functional component, a second file defining the corresponding functional component is generated; and,
    打包所述第一文件和每一所述第二文件,生成所述可执行文件。The first file and each of the second files are packaged to generate the executable file.
  26. 根据权利要求25所述的系统,其中,所述组件模板文件包括配置界面信息、对应组件的基本信息配置项、对应组件的业务信息配置项、及对应组件的运维信息配置项;The system according to claim 25, wherein the component template file includes configuration interface information, basic information configuration items of the corresponding component, business information configuration items of the corresponding component, and operation and maintenance information configuration items of the corresponding component;
    所述业务信息包括对应组件的运行规则信息;The business information includes operation rule information of the corresponding component;
    所述基本信息包括对应功能组件的版本、对应功能组件的创建者、对应功能组件的唯一标识、对应功能组件的名称、及对应功能组件所在的数据组中的至少一项;The basic information includes at least one of the version of the corresponding function component, the creator of the corresponding function component, the unique identifier of the corresponding function component, the name of the corresponding function component, and the data group in which the corresponding function component is located;
    所述业务信息还包括上下文声明信息和消息声明信息中的至少一项。The service information also includes at least one of context declaration information and message declaration information.
  27. 根据权利要求25或26所述的系统,其中,所述应用配置模块还被配置为:The system according to claim 25 or 26, wherein the application configuration module is further configured to:
    响应于配置所述功能组件的操作,加载对应功能组件的组件模板文件的文件内容以供配置;或者,In response to the operation of configuring the functional component, load the file content of the component template file corresponding to the functional component for configuration; or,
    响应于配置所述功能组件的操作,解析对应功能组件的组件模板文件;以及,In response to the operation of configuring the functional component, parsing the component template file of the corresponding functional component; and,
    在所述组件模板文件定义有配置界面信息的情况下,根据所述配置界面信息渲染对应功能组件的配置界面。When the component template file defines configuration interface information, the configuration interface of the corresponding functional component is rendered according to the configuration interface information.
  28. 根据权利要求25至27中任一项所述的系统,其中,所述应用配置模块还被配置为:The system according to any one of claims 25 to 27, wherein the application configuration module is further configured to:
    响应于配置所述功能组件的操作,提供配置入口界面,其中,所述配置入口界面包括第一配置入口和第二配置入口,其中,所述第一配置入口为选择加载对应功能组件的组件模板文件定义的配置界面以进行配置的入口,所述第二配置入口为选择加载对应功能组件的组件模板文件的文件内容以进行配置的入口。In response to the operation of configuring the functional component, a configuration entry interface is provided, wherein the configuration entry interface includes a first configuration entry and a second configuration entry, wherein the first configuration entry is a component template for selecting and loading a corresponding functional component The configuration interface defined by the file is an entry for configuration, and the second configuration entry is an entry for selecting and loading the file content of the component template file of the corresponding functional component for configuration.
  29. 根据权利要求25至28中任一项所述的系统,所述应用配置模块还被配置为:According to the system according to any one of claims 25 to 28, the application configuration module is further configured to:
    响应于定义所述任务内容信息的操作,加载功能组件库中的功能组件的列表项,其中,所述列表项提供有用于触发配置对应功能组件的操作的操作接口;以及,In response to the operation of defining the task content information, load the list item of the functional component in the functional component library, wherein the list item provides an operation interface for triggering the operation of configuring the corresponding functional component; and,
    检测对所述列表项进行的编辑操作,并根据所述编辑操作获得所述方案使用的功能组件及每一所述功能组件的运行信息。The editing operation performed on the list item is detected, and the functional components used by the solution and the operation information of each of the functional components are obtained according to the editing operation.
  30. 根据权利要求25至29中任一项所述的系统,其中,所述构建人工智能应用的装置还包括组件生成模块,所述组件生成模块被配置为:The system according to any one of claims 25 to 29, wherein the apparatus for constructing an artificial intelligence application further comprises a component generation module, and the component generation module is configured to:
    提供功能组件开发模板;Provide functional component development templates;
    获取根据所述功能组件开发模板定义的功能组件信息和有关配置功能组件的信息,所述功能组件信息包括对应功能组件的功能实现信息;Acquiring function component information defined according to the function component development template and information about configuration function components, where the function component information includes function realization information of the corresponding function component;
    打包包含所述功能组件信息的文件,生成对应功能组件;以及,Package the file containing the functional component information to generate the corresponding functional component; and,
    根据有关配置功能组件的信息,生成对应功能组件的组件配置模板。According to the information about the configuration function component, a component configuration template of the corresponding function component is generated.
  31. 根据权利要求30所述的系统,其中,所述构建人工智能应用的装置还包括组件发布模块,所述组件发布模块被配置为:The system according to claim 30, wherein the device for building an artificial intelligence application further comprises a component publishing module, the component publishing module being configured to:
    响应于发布所述对应功能组件的操作,将所述对应功能组件和对应功能组件的组件配置模板上传至组件库,并在所述组件库注册所述对应功能组件。In response to the operation of publishing the corresponding function component, upload the corresponding function component and the component configuration template of the corresponding function component to the component library, and register the corresponding function component in the component library.
  32. 根据权利要求24至31中任一项所述的系统,其中,所述模板文件包括方案模板文件,所述方案模板文件包括方案的基本信息配置项、方案的业务信息配置项、及方案的运维信息配置项;The system according to any one of claims 24 to 31, wherein the template file comprises a scheme template file, and the scheme template file includes basic information configuration items of the scheme, business information configuration items of the scheme, and operation of the scheme. Dimension information configuration items;
    所述方案的业务信息包括所述任务内容信息、各个所述功能组件的公共配置信息、所述方案的入口信息和所述方案的界面信息中的至少一项;The business information of the solution includes at least one of the task content information, the common configuration information of each functional component, the entry information of the solution, and the interface information of the solution;
    所述任务内容信息包括所述方案使用的功能组件及每一所述功能组件的运行信息;The task content information includes the functional components used by the solution and the operation information of each of the functional components;
    所述公共配置信息包括公共的数据字典、公开的系统参数及公共的初始化信息中至少一项;The public configuration information includes at least one of a public data dictionary, public system parameters, and public initialization information;
    所述运维信息包括运行方式信息和运行资源信息。The operation and maintenance information includes operation mode information and operation resource information.
  33. 根据权利要求23至32中任一项所述的系统,其中,所述系统还包括引擎装置,所述引擎装置包括:The system according to any one of claims 23 to 32, wherein the system further comprises an engine device, and the engine device comprises:
    引擎管理模块,被配置为响应于运行所述应用的请求,解析所述应用的可执行文件,其中,所述可执行文件通过基于与所述引擎装置相适配的模板文件定义所述应用得到;以及,The engine management module is configured to parse the executable file of the application in response to a request to run the application, wherein the executable file is obtained by defining the application based on a template file adapted to the engine device ;as well as,
    引擎执行模块,被配置为根据所述可执行文件运行所述应用。The engine execution module is configured to run the application according to the executable file.
  34. 根据权利要求33所述的系统,其中,所述可执行文件定义有实现所述应用的方案的任务内容信息,所述任务内容信息包括所述方案使用的功能组件及每一所述功能组件的运行信息;The system according to claim 33, wherein the executable file defines task content information for implementing the solution of the application, and the task content information includes the functional components used by the solution and the configuration of each of the functional components. Operating information;
    所述引擎执行模块在根据所述可执行文件运行所述应用时,被配置为根据所述可执行文件调用所述功能组件以运行所述应用。When the engine execution module runs the application according to the executable file, it is configured to call the functional component according to the executable file to run the application.
  35. 根据权利要求34所述的系统,其中,所述引擎执行模块还被配置为在根据所述可执行文件调用所述功能组件以运行所述应用之前,The system according to claim 34, wherein the engine execution module is further configured to, before invoking the functional component to run the application according to the executable file,
    根据所述可执行文件定义的每一所述功能组件的运行信息,初始化对应的功能组件;Initialize the corresponding functional component according to the operating information of each of the functional components defined by the executable file;
    获取并注册每一所述功能组件在完成初始化后返回的对外通信接口;以及,Obtain and register the external communication interface returned by each of the functional components after initialization; and,
    通过所述对外通信接口,将所述可执行文件定义的每一所述功能组件的组件信息推送至对应的功能组件。Through the external communication interface, the component information of each functional component defined by the executable file is pushed to the corresponding functional component.
  36. 根据权利要求34或35所述的系统,其中,所述引擎执行模块还被配置为在根据所述可执行文件调用所述功能组件以运行所述应用之前,The system according to claim 34 or 35, wherein the engine execution module is further configured to, before invoking the functional component to run the application according to the executable file,
    获取每一功能组件在完成初始化后返回的信息,其中,所述信息包括状态信息、运行环境上下文信息、订阅消息信息中的至少一项;以及,Obtain the information returned by each functional component after initialization, where the information includes at least one of status information, operating environment context information, and subscription message information; and,
    在所述引擎执行模块中注册所述返回的信息。Register the returned information in the engine execution module.
  37. 根据权利要求34至36中任一项所述的系统,其中,所述引擎执行模块在根据所述可执行文件调用所述功能组件以运行所述应用时,被配置为:The system according to any one of claims 34 to 36, wherein when the engine execution module invokes the functional component to run the application according to the executable file, it is configured to:
    根据所述可执行文件中定义的每一所述功能组件的运行条件信息,调用所述功能组件执行对应的任务以运行所述应用;或者,According to the operating condition information of each functional component defined in the executable file, call the functional component to execute the corresponding task to run the application; or,
    所述引擎执行模块在根据所述可执行文件调用所述功能组件以运行所述应用时,被配置为:When the engine execution module invokes the functional component to run the application according to the executable file, it is configured to:
    获取所述可执行文件定义的每一所述功能组件在所述方案中所属的运行阶段信息;Acquiring the operating stage information to which each of the functional components defined by the executable file belongs in the solution;
    获取预置的反映各运行阶段的运行顺序的编排信息;Obtain preset scheduling information reflecting the operation sequence of each operation stage;
    根据所述运行阶段信息和所述编排信息,获得所述可执行文件定义的每一功能组件的运行条件信息;以及,Obtain the operating condition information of each functional component defined by the executable file according to the operating stage information and the layout information; and,
    根据所述运行条件信息,调用所述功能组件执行对应的任务以运行所述应用。According to the operating condition information, call the functional component to execute the corresponding task to run the application.
  38. 根据权利要求34至37中任一项所述的系统,其中,所述引擎执行模块在根据所述可执行文件调用所述功能组件以运行所述应用时,被配置为:The system according to any one of claims 34 to 37, wherein when the engine execution module invokes the functional component to run the application according to the executable file, it is configured to:
    响应于监测到所述方案的当前运行阶段的功能组件返回的任务完成消息的事件,根据所述可执行文件检查所述当前运行阶段是否已完成;以及,In response to monitoring the event of the task completion message returned by the functional component of the current operation stage of the solution, check whether the current operation stage has been completed according to the executable file; and,
    在已完成的情况下,向所述方案的下一运行阶段的功能组件提供所述当前运行阶 段的输出数据,并调用所述下一运行阶段的功能组件执行对应的任务。In the case of completion, the output data of the current operation stage is provided to the functional component of the next operation stage of the solution, and the functional component of the next operation stage is called to perform the corresponding task.
  39. 根据权利要求34至38中任一项所述的系统,其中,所述引擎执行模块在根据所述可执行文件调用所述功能组件以运行所述应用时,被配置为:The system according to any one of claims 34 to 38, wherein when the engine execution module invokes the functional component to run the application according to the executable file, it is configured to:
    根据所述可执行文件配置的对应功能组件的运行界面信息,加载显示对应的运行界面。According to the running interface information of the corresponding functional component configured by the executable file, the corresponding running interface is loaded and displayed.
  40. 根据权利要求33至39中任一项所述的系统,其中,所述引擎管理模块在解析所述应用的可执行文件时,被配置为解压所述可执行文件;以及,按照设定的保存路径,将解压得到的所有文件保存至目录区;The system according to any one of claims 33 to 39, wherein the engine management module is configured to decompress the executable file when parsing the executable file of the application; and, according to the set save Path, save all files obtained by decompression to the directory area;
    所述引擎执行模块在根据所述可执行文件运行所述应用时,被配置为:根据所述目录区的文件运行所述应用;When the engine execution module runs the application according to the executable file, it is configured to: run the application according to the files in the directory area;
    所述引擎执行模块在根据所述目录区的文件运行所述应用时,被配置为:根据所述目录区的文件初始化所述引擎执行模块,获得引擎实例模块;以及,启动所述引擎实例模块运行所述应用。When the engine execution module runs the application according to the files in the directory area, it is configured to: initialize the engine execution module according to the files in the directory area to obtain an engine instance module; and start the engine instance module Run the application.
  41. 根据权利要求23至40中任一项所述的系统,其中,所述应用配置模块在获取针对所述应用配置的应用配置信息时,被配置为:获取通过提供的配置接口输入的所述应用配置信息。The system according to any one of claims 23 to 40, wherein when the application configuration module obtains the application configuration information configured for the application, it is configured to: obtain the application input through the provided configuration interface Configuration information.
    所述应用配置模块还被配置为:The application configuration module is also configured to:
    查找所述模板文件是否具有对应所述配置接口的配置项的配置信息;以及,Searching whether the template file has configuration information corresponding to the configuration items of the configuration interface; and,
    在具有所述配置信息的情况下,在所述配置接口的对应配置项中提供对应的配置信息。In the case of having the configuration information, the corresponding configuration information is provided in the corresponding configuration item of the configuration interface.
  42. 根据权利要求23至41中任一项所述的系统,其中,所述模板文件对于所包含的配置项中的至少部分配置项已定义有对应的配置信息。The system according to any one of claims 23 to 41, wherein the template file has defined corresponding configuration information for at least some of the included configuration items.
  43. 根据权利要求23至42中任一项所述的系统,其中,所述文件生成模块在根据所述应用配置信息和预置的模板文件,生成所述应用的可执行文件时,被配置为:根据所述应用配置信息更新所述模板文件,生成所述应用的可执行文件。The system according to any one of claims 23 to 42, wherein the file generating module is configured to: when generating the executable file of the application according to the application configuration information and a preset template file: The template file is updated according to the application configuration information, and an executable file of the application is generated.
  44. 根据权利要求23至43中任一项所述的系统,其中,所述构建人工智能应用的装置还包括应用发布模块,所述应用发布模块被配置为:在所述文件生成模块生成所述应用的可执行文件之后,将所述可执行文件发布至应用提供装置以供所述系统的引擎装置下载运行;或者,The system according to any one of claims 23 to 43, wherein the device for constructing an artificial intelligence application further comprises an application publishing module, and the application publishing module is configured to generate the application in the file generation module After the executable file of, publish the executable file to the application providing device for the engine device of the system to download and run; or,
    所述应用发布模块被配置为:在所述文件生成模块生成所述应用的可执行文件之后,加载与所述模板文件相适配的引擎运行所述可执行文件;以及,在运行通过的情况下,发布所述可执行文件以供所述系统的引擎装置下载运行。The application publishing module is configured to: after the file generation module generates the executable file of the application, load an engine adapted to the template file to run the executable file; Next, publish the executable file for the engine device of the system to download and run.
  45. 一种包括至少一个计算装置和至少一个存储装置的设备,其中,所述至少一个存储装置用于存储指令,所述指令用于控制所述至少一个计算装置执行根据权利要求1至22中任一项所述的方法。A device comprising at least one computing device and at least one storage device, wherein the at least one storage device is used to store instructions, and the instructions are used to control the at least one computing device to execute any one of claims 1 to 22 The method described in the item.
  46. 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现如权利要求1至22中任一项所述的方法。A computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method according to any one of claims 1 to 22.
PCT/CN2020/139466 2019-12-26 2020-12-25 Method and system for running artificial intelligence application, and device WO2021129812A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201911364703.1A CN111158651A (en) 2019-12-26 2019-12-26 Method, device and system for constructing artificial intelligence application
CN201911364689.5A CN111158797A (en) 2019-12-26 2019-12-26 Method, system and engine device for operating artificial intelligence application
CN201911364689.5 2019-12-26
CN201911364703.1 2019-12-26

Publications (1)

Publication Number Publication Date
WO2021129812A1 true WO2021129812A1 (en) 2021-07-01

Family

ID=76574853

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/139466 WO2021129812A1 (en) 2019-12-26 2020-12-25 Method and system for running artificial intelligence application, and device

Country Status (1)

Country Link
WO (1) WO2021129812A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114398091A (en) * 2021-12-03 2022-04-26 贝壳找房(北京)科技有限公司 Configuration method and device of Flutter component
CN114489850A (en) * 2022-01-20 2022-05-13 中广核工程有限公司 Calling method and device of design software, computer equipment and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140164942A1 (en) * 2012-12-12 2014-06-12 Qnx Software Systems Limited Method and system to layout applications on multiple platforms
CN104216691A (en) * 2013-05-31 2014-12-17 华为技术有限公司 Application creating method and device
CN104951329A (en) * 2014-03-31 2015-09-30 青岛海信移动通信技术股份有限公司 Configuration and startup method of application templates and mobile terminal
CN105589734A (en) * 2015-12-15 2016-05-18 国云科技股份有限公司 Method for creating applications through self-defined templates
CN111158797A (en) * 2019-12-26 2020-05-15 第四范式(北京)技术有限公司 Method, system and engine device for operating artificial intelligence application
CN111158651A (en) * 2019-12-26 2020-05-15 第四范式(北京)技术有限公司 Method, device and system for constructing artificial intelligence application

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140164942A1 (en) * 2012-12-12 2014-06-12 Qnx Software Systems Limited Method and system to layout applications on multiple platforms
CN104216691A (en) * 2013-05-31 2014-12-17 华为技术有限公司 Application creating method and device
CN104951329A (en) * 2014-03-31 2015-09-30 青岛海信移动通信技术股份有限公司 Configuration and startup method of application templates and mobile terminal
CN105589734A (en) * 2015-12-15 2016-05-18 国云科技股份有限公司 Method for creating applications through self-defined templates
CN111158797A (en) * 2019-12-26 2020-05-15 第四范式(北京)技术有限公司 Method, system and engine device for operating artificial intelligence application
CN111158651A (en) * 2019-12-26 2020-05-15 第四范式(北京)技术有限公司 Method, device and system for constructing artificial intelligence application

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114398091A (en) * 2021-12-03 2022-04-26 贝壳找房(北京)科技有限公司 Configuration method and device of Flutter component
CN114398091B (en) * 2021-12-03 2024-02-23 贝壳找房(北京)科技有限公司 Configuration method and device of router component
CN114489850A (en) * 2022-01-20 2022-05-13 中广核工程有限公司 Calling method and device of design software, computer equipment and storage medium
CN114489850B (en) * 2022-01-20 2023-08-22 中广核工程有限公司 Calling method and device of design software, computer equipment and storage medium

Similar Documents

Publication Publication Date Title
JP7371141B2 (en) Tools and methods for real-time dataflow programming languages
WO2018228211A1 (en) Application conversion method, apparatus and device
CN108304201B (en) Object updating method, device and equipment
WO2017162024A1 (en) Method of developing component and template using visual expression, storage medium, and apparatus
US10419568B2 (en) Manipulation of browser DOM on server
WO2021217911A1 (en) Method and apparatus for constructing service website project, and computer device and storage medium
JP7350923B2 (en) Deep learning framework operator registration method, equipment, device and storage medium
US10572278B2 (en) Smart controls for user interface design and implementation
CN111158651A (en) Method, device and system for constructing artificial intelligence application
WO2023093414A1 (en) Micro-application development method and apparatus, and device, storage medium and program product
WO2021129812A1 (en) Method and system for running artificial intelligence application, and device
CN113032244B (en) Interface test method, device, computer system and computer readable storage medium
CN111324833A (en) Page display method, device, electronic design and computer readable medium
CN114117190A (en) Data processing method, data processing device, storage medium and electronic equipment
CN111158797A (en) Method, system and engine device for operating artificial intelligence application
CN112506854A (en) Method, device, equipment and medium for storing page template file and generating page
US9996344B2 (en) Customized runtime environment
CN115964042A (en) Menu generation method and device, storage medium and electronic equipment
CN116360735A (en) Form generation method, device, equipment and medium
CN111124386B (en) Animation event processing method, device, equipment and storage medium based on Unity
US11061664B2 (en) Code management system and code management method
CN111782196A (en) MVP architecture-based development method and device
CN113704593B (en) Operation data processing method and related device
CN117608732A (en) Web application dynamic rendering device, method, equipment and medium
JP2024508412A (en) Generating natural language interfaces from graphical user interfaces

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20907762

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20907762

Country of ref document: EP

Kind code of ref document: A1