Method and apparatus for creating application, device, and storage medium

By using existing applications as target processing entities, configuration information and jump information, and creating multi-processing entity applications, the problem of complex requests and low efficiency of single agent applications is solved, and the processing of complex requests and efficient application creation is realized.

WO2025156861A1PCT designated stage Publication Date: 2025-07-31BEIJING ZITIAO NETWORK TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/138762
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-01-26
Filing Date
2024-12-12
Publication Date
2025-07-31

AI Technical Summary

Technical Problem

In the prior art, single agent applications are difficult to effectively handle complex requests, and application creation efficiency is inefficient.

Method used

By adding existing applications as target processing entities, determining configuration information and jump information, creating applications based on multi-processing entities, supporting switching between processing entities.

Benefits of technology

It realizes the processing capability of complex requests and improves the efficiency of application creation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024138762_31072025_PF_FP_ABST
    Figure CN2024138762_31072025_PF_FP_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure relate to a method and apparatus for creating an application, a device, and a storage medium. The method provided herein comprises: on the basis of the selection of a first application, adding the first application as a target processing entity for creating an application; determining configuration information, wherein the configuration information indicates a plurality of processing entities for creating the application, and jump information associated with the plurality of processing entities, the jump information at least indicates that a first processing entity among the plurality of processing entities can be switched to a second processing entity for processing a request, and the plurality of processing entities comprise the target processing entity; and on the basis of the configuration information, creating a target application. In this way, the embodiments of the present disclosure can support a user to use existing applications (for example, a published bot) to create an application that is based on multiple processing entities (for example, a bot based on multiple processing entities), and can process a task by switching the processing entity.
Need to check novelty before this filing date? Find Prior Art

Description

Method, device, equipment and storage medium for creating application

[0001] This application claims priority to the Chinese invention patent application entitled “Method, apparatus, device and storage medium for creating applications” filed on January 26, 2024, with application number: 202410117603.3. The entire contents of this application are incorporated by reference into this application. Technical Field

[0002] Example embodiments of the present disclosure generally relate to the field of computers, and more particularly, to methods, apparatuses, devices, and computer-readable storage media for creating applications. Background Art

[0003] With the development of computer technology, people can create and publish various types of applications through some platforms. For example, with the development of machine learning technology, people can quickly create applications by configuring application parameters, such as the model used by the application and the available plug-ins. Summary of the Invention

[0004] In a first aspect of the present disclosure, a method for creating an application is provided. The method includes: based on a selection of a first application, adding the first application as a target processing entity for creating the application; determining configuration information, the configuration information indicating multiple processing entities for creating the application and jump information associated with the multiple processing entities, the jump information at least indicating that a first processing entity among the multiple processing entities can switch to a second processing entity to process a request, the multiple processing entities including the target processing entity; and creating the target application based on the configuration information.

[0005] In a second aspect of the present disclosure, a device for creating an application is provided. The device includes: an adding module configured to, based on a selection of a first application, add the first application as a target processing entity for creating the application; a determining module configured to determine configuration information indicating multiple processing entities for creating the application and jump information associated with the multiple processing entities, the jump information at least indicating that a first processing entity among the multiple processing entities can switch to a second processing entity to process a request, the multiple processing entities including the target processing entity; and a creating module configured to create the target application based on the configuration information.

[0006] In a third aspect of the present disclosure, an electronic device is provided. The device includes at least one processing unit; and at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit. When executed by the at least one processing unit, the instructions cause the device to perform the method of the first aspect.

[0007] In a fourth aspect of the present disclosure, a computer-readable storage medium is provided, wherein a computer program is stored on the computer-readable storage medium, and the computer program can be executed by a processor to implement the method of the first aspect.

[0008] It should be understood that the content described in this summary section is not intended to limit the key features or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. In the accompanying drawings, the same or similar reference numerals represent the same or similar elements, wherein:

[0010] FIG1 shows a schematic diagram of an example environment in which embodiments according to the present disclosure may be implemented;

[0011] FIG2 illustrates a flowchart of an example process for creating an application according to some embodiments of the present disclosure;

[0012] 3A to 3E illustrate example interfaces according to some embodiments of the present disclosure;

[0013] FIG4 shows a schematic structural block diagram of an example apparatus for creating an application according to some embodiments of the present disclosure; and

[0014] FIG5 shows a block diagram of an electronic device capable of implementing various embodiments of the present disclosure. DETAILED DESCRIPTION

[0015] The following describes embodiments of the present disclosure in more detail with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as limited to the embodiments described herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for illustrative purposes only and are not intended to limit the scope of protection of the present disclosure.

[0016] It should be noted that the titles of any section / subsection provided herein are not limiting. Various embodiments are described throughout this document, and any type of embodiment may be included under any section / subsection. Furthermore, the embodiments described in any section / subsection may be combined in any manner with any other embodiments described in the same section / subsection and / or in different sections / subsections.

[0017] In the description of the embodiments of the present disclosure, the term "including" and similar terms should be understood as open inclusion, that is, "including but not limited to". The term "based on" should be understood as "based at least in part on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The term "some embodiments" should be understood as "at least some embodiments". Other explicit and implicit definitions may be included below. The terms "first", "second", etc. may refer to different or the same objects. Other explicit and implicit definitions may be included below.

[0018] The embodiments of the present disclosure may involve user data, data acquisition and / or use, etc. These aspects shall comply with the corresponding laws, regulations and relevant provisions. In the embodiments of the present disclosure, all data collection, acquisition, processing, processing, forwarding, use, etc. are carried out on the premise that the user is aware of and confirms them. Accordingly, when implementing the various embodiments of the present disclosure, the types, scope of use, and usage scenarios of the data or information that may be involved should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with the relevant laws and regulations. The specific notification and / or authorization method may vary according to the actual situation and application scenario, and the scope of the present disclosure is not limited in this respect.

[0019] If this specification and the solutions in the examples involve the processing of personal information, such processing will be done only with a legitimate basis (such as with the consent of the subject of personal information or as necessary for the performance of a contract) and only within the prescribed or agreed scope. A user's refusal to process personal information other than that required for basic functions will not affect the user's use of basic functions.

[0020] Traditionally, users have been able to quickly create applications, such as bots, by configuring models and plugins used by the application. However, such applications typically correspond to a single agent. Because agents typically have strong processing capabilities in specific areas, this limits the requests that the application can handle, making it difficult to effectively handle complex requests.

[0021] An embodiment of the present disclosure proposes a solution for creating an application. According to this solution, based on the selection of the first application, the first application can be added as a target processing entity for creating the application. Furthermore, configuration information can be determined, the configuration information indicating multiple processing entities for creating the application and jump information associated with the multiple processing entities, the jump information at least indicating that a first processing entity among the multiple processing entities can switch to a second processing entity to process a request, and the multiple processing entities include a target processing entity. Accordingly, the target application can be created based on the configuration information.

[0022] In this way, embodiments of the present disclosure can support users to create applications based on multiple processing entities (e.g., bots based on multiple processing entities) by referencing existing applications (e.g., published bots), and can support the processing of complex requests by switching processing entities to handle tasks. In addition, embodiments of the present disclosure can also improve the efficiency of application creation.

[0023] Various example implementations of this solution are described in detail below in conjunction with the accompanying drawings.

[0024] Sample Environment

[0025] FIG1 shows a schematic diagram of an example environment 100 in which embodiments of the present disclosure can be implemented. As shown in FIG1 , the example environment 100 may include an electronic device 110 .

[0026] In this example environment 100, electronic device 110 may run an application 120 that supports interface interaction. Application 120 may be any suitable type of application for interface interaction, examples of which may include, but are not limited to, development applications or other suitable applications that support application development. User 140 may interact with application 120 via electronic device 110 and / or its attached devices.

[0027] In the environment 100 of FIG. 1 , if the application 120 is in an active state, the electronic device 110 may present an interface 150 for supporting the creation of an application through the application 120 .

[0028] In some embodiments, the electronic device 110 communicates with the server 130 to enable the provision of services for the application 120. The electronic device 110 can be any type of mobile terminal, fixed terminal or portable terminal, including a mobile phone, a desktop computer, a laptop computer, a notebook computer, a netbook computer, a tablet computer, a media computer, a multimedia tablet, a handheld computer, a portable game terminal, a VR / AR device, a personal communication system (PCS) device, a personal navigation device, a personal digital assistant (PDA), an audio / video player, a digital camera / camcorder, a positioning device, a television receiver, a radio broadcast receiver, an e-book device, a gaming device or any combination thereof, including accessories and peripherals of these devices or any combination thereof. In some embodiments, the electronic device 110 can also support any type of interface for the user (such as a "wearable" circuit, etc.).

[0029] The server 130 may be a standalone physical server, a server cluster or distributed system consisting of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content distribution networks, and big data and artificial intelligence platforms. For example, the server 130 may include a computing system / server such as a mainframe, an edge computing node, a computing device in a cloud environment, and the like. The server 130 may provide background services for the application 120 that supports virtual scenes in the electronic device 110.

[0030] A communication connection may be established between the server 130 and the electronic device 110. The communication connection may be established in a wired or wireless manner. The communication connection may include, but is not limited to, a Bluetooth connection, a mobile network connection, a Universal Serial Bus (USB) connection, a Wireless Fidelity (WiFi) connection, etc., and the embodiments of the present disclosure are not limited in this respect. In the embodiments of the present disclosure, the server 130 and the electronic device 110 may implement signaling interaction through the communication connection between the two.

[0031] It should be understood that the structure and function of the various elements in the environment 100 are described for illustrative purposes only and do not imply any limitation on the scope of the present disclosure.

[0032] Some example embodiments of the present disclosure will be described below with continued reference to the accompanying drawings.

[0033] Example Process

[0034] FIG2 shows a flowchart of a process 200 for creating an application according to some embodiments of the present disclosure. The process 200 may be implemented at the electronic device 110. The process 200 is described below with reference to FIG1.

[0035] As shown in FIG. 2 , in block 210 , the electronic device 110 adds the first application as a target processing entity for creating an application based on the selection of the first application.

[0036] In some embodiments, the electronic device 110 can support users configuring multiple processing entities (e.g., two or more processing entities) included in an application and jump relationships between processing entities to create an application. As will be described in detail below, such processing entities can include, for example, existing applications or agents to be configured. The following will describe an example process of creating an application according to some embodiments of the present disclosure in conjunction with Figures 3A to 3E.

[0037] In some embodiments, electronic device 110 may provide an editing interface 300A as shown in FIG3A . In interface 300A, electronic device 110 may support a user in creating a node connection diagram 350. Such a node connection diagram 350 may include a start node 302 and multiple nodes corresponding to multiple processing entities, such as node 304 corresponding to "Agent 1." Additionally, electronic device 110 may support indicating jump relationships between corresponding processing entities by adding connections between nodes.

[0038] In some embodiments, the electronic device 110 can support a user in creating a new application. As an example, the electronic device 110 can create a first initial connection graph based on a request for a new application. Taking Figure 3A as an example, the first initial connection graph, for example, includes a first initial node (e.g., node 304). For a new application scenario, the attribute information of the first initial node (e.g., node 304) can be empty. Furthermore, the electronic device 110 can create a final node connection graph 350 based on an edit operation on the first initial connection graph.

[0039] In some embodiments, the electronic device 110 may support a user in converting an existing application based on a single agent to an application based on multiple processing entities. Specifically, the electronic device 110 may create a second initial connection graph based on a conversion request for an existing application associated with a single agent. In some embodiments, the second initial connection graph may include a second initial node (e.g., node 304 shown in FIG. 3A ) created based on the existing application.

[0040] In some embodiments, unlike in the scenario of creating a new application, the attribute information of the agent corresponding to the second initial node (e.g., agent 1) can be determined based on the attributes of an existing application. That is, at least part of the attribute information associated with the existing application can be synchronized to the newly created application.

[0041] In some examples, an agent automatically created by converting a single-agent-based application can inherit the model information of an existing application. For example, if the existing application is implemented based on a specific model, the agent can also be implemented based on that model.

[0042] 3A , the electronic device 110 may support the user to add one or more new nodes to the node connection graph 350 through a control 312. As shown in FIG3A , the electronic device 110 may provide multiple controls for adding different types of nodes, for example, a control 306, a control 308, and a control 310.

[0043] In some embodiments, the user can add a new node corresponding to the new agent to the node connection diagram 350 through the control 306. Similar to the node 304, the user can edit the properties of the agent corresponding to the new node and configure the jump relationship between nodes.

[0044] In some embodiments, after receiving a selection of control 308, electronic device 110 may present interface 300B as shown in FIG3B . In interface 300B, electronic device 110 may provide a set of candidate applications, such as candidate application 314 - 1 , candidate application 314 - 2 , and candidate application 314 - 3 (individually or collectively referred to as candidate applications 314 ).

[0045] In some embodiments, the candidate applications 314 allowed to be added may include single-agent-based applications or multi-processing entity (agent or sub-application)-based applications. In some embodiments, the electronic device 110 may also be configured to only allow the addition of single-agent-based applications.

[0046] Furthermore, electronic device 110 may receive a user's selection of one or more candidate applications from the set of candidate applications 314 and add the one or more candidate applications as one or more processing entities for creating an application. For example, electronic device 110 may add one or more nodes corresponding to the one or more candidate applications to node connection graph 350.

[0047] In some embodiments, the set of candidate applications 314 may include applications created by the current user. The user may also view only applications created by the current user through a filter control, for example.

[0048] In some embodiments, the set of candidate applications 314 may also include applications created by other users and for which the current user has preset permissions. For example, such applications may include one or more applications that the current user is allowed to reference to create new applications.

[0049] In some embodiments, the electronic device 110 may further support the user to filter the candidate applications 314 by screening the creators or publishers of the applications. Alternatively, the electronic device 110 may further support the user to search for applications desired to be added through a search control.

[0050] As an example, the electronic device 110 may receive a user selection of the application 314 - 1 and may add the application 314 - 1 as a target processing entity for creating an application in response to the user selection of the confirmation control 316 .

[0051] It should be understood that the electronic device 110 may also receive the user's selection of a specific application through other appropriate means, thereby adding the application as a target processing entity for creating an application. For example, the electronic device 110 may provide an add entry in the viewing interface of published applications to support the user in adding the application to be created.

[0052] Continuing with reference to FIG2 , in box 220 , the electronic device 110 determines configuration information, the configuration information indicating multiple processing entities for creating an application and jump information associated with the multiple processing entities, the jump information at least indicating that a first processing entity among the multiple processing entities is capable of switching to a second processing entity to process a request, and the multiple processing entities include a target processing entity.

[0053] In some embodiments, electronic device 110 may determine configuration information based on a user-created node connection graph 350. Continuing with the example of FIG3B , in response to the user adding application 314-1 as a target processing entity, as shown in FIG3C , electronic device 110 may accordingly add node 318 corresponding to application 314-1 to node connection graph 350.

[0054] In some embodiments, electronic device 110 may present attribute information of application 314-1. For example, electronic device 110 may display identification information of application 314-1, such as the application name, in the edit window of node 318. As another example, electronic device 110 may display summary information 320 of application 314-1 to describe information such as the capabilities or settings of application 314-1.

[0055] As another example, the electronic device 110 may also display the release information of the application 314 - 1 , such as the release date, the publisher, etc. In some embodiments, the electronic device 110 may prohibit the user from modifying the relevant properties of the application 314 - 1 .

[0056] Additionally, the electronic device 110 may also provide a configuration control 322 in association with the node 318 to configure a jump condition corresponding to the application 314 - 1 .

[0057] In some embodiments, as shown in FIG3D , the electronic device 110 may further support the user by providing one or more other controls through a window 324. For example, the electronic device 110 may use a control 326 to create another node corresponding to the application 314-1; use a control 328 to manage the version of the application 314-1 corresponding to the node 318; use a control 330 to display more information about the application 314-1; and use a control 332 to delete the node 318.

[0058] In some embodiments, when an updated version of the added application 314-1 exists, the electronic device 110 may further present update information associated with the target processing entity, wherein the update information indicates at least one updated version associated with the application 314-1. For example, the electronic device 110 may present an indicator regarding the existence of an updated version in association with the control 328.

[0059] Further, the electronic device 110 may provide an update entry for updating to the latest version based on the user's selection of the control 328. Alternatively, the electronic device 110 may provide one or more updated versions of the application 314-1 for the user to select.

[0060] Furthermore, the electronic device 110 may associate a target update version (eg, the latest update version, or a specific update version selected by the user) of the application 314-1 with the target processing entity based on the received update request.

[0061] In some embodiments, the update information further indicates whether at least one updated version is allowed to be added as a processing entity. For example, the updated version of some applications may change the mode of the application, for example, switching from a single-agent mode to a multi-agent mode. In some cases, if the application to be created is only allowed to reference applications based on a single agent, the electronic device 110 may indicate that the new version is based on a multi-agent mode and may indicate that updating to the new version is not allowed.

[0062] In some embodiments, electronic device 110 may also support rolling back application 314-1 to a specific historical version. For example, electronic device 110 may present multiple versions associated with application 314-1 based on a management request to a target processing entity. The multiple versions may include at least a historical version of application 314-1.

[0063] For example, in response to selection of the control 328 , the electronic device 110 may present all available versions of the application 314 - 1 , such as one or more historical versions and / or updated versions.

[0064] Furthermore, electronic device 110 may associate the target version of application 314-1 with the target processing entity based on the selection of the target version from the multiple versions. For example, when the user selects a historical version of application 314-1, electronic device 110 may roll back application 314-1 to the historical version to create the target application.

[0065] In some cases, application 314-1 may become unavailable due to deletion or attribute change. Accordingly, as shown in FIG3E , in response to application 314-1 becoming unavailable, electronic device 110 may display prompt information 334 to indicate that the target processing entity corresponding to application 314-1 has expired.

[0066] Additionally, electronic device 110 may also present a replacement entry 336 for replacing application 314-1. Accordingly, electronic device 110 may present an application selection interface as shown in FIG3B based on the selection of replacement entry 336. Furthermore, electronic device 110 may associate another application with the target processing entity based on the user's selection of another application to replace application 314-1.

[0067] In this case, the node 318 may not be deleted, for example, and the electronic device 110 may further support the user to configure the jump condition of the target processing entity through the configuration control 322 .

[0068] The following will further introduce an example process of configuring jump conditions. For example, the electronic device 110 can support the user to configure jump conditions between any two nodes. Such two nodes can include nodes corresponding to agents or nodes corresponding to referenced applications.

[0069] As an example, as shown in FIG. 3C , the electronic device 110 may further support a user in configuring a connection relationship between nodes in a node connection graph 350 , for example, the connection between the node 304 and the node 318 .

[0070] Specifically, as shown in FIG. 3C , the electronic device 110 may establish a connection between the node 304 and the node 318 based on a jump condition (eg, condition 1) associated with the node 304 configured by the user.

[0071] As an example, the connection can indicate a jump relationship between the processing entity corresponding to "Agent 1" and the processing entity corresponding to "Reference 1", indicating that "Agent 1" can switch to "Application 1" to process requests or execute tasks when "Condition 1" is met.

[0072] In some embodiments, electronic device 110 may allow the user to enter text content through the configuration control of node 304 to define any appropriate jump condition. As an example, the content of "Condition 1" may be, for example, "When the user inquires about the weather." Thus, when "Agent 1" determines that the user's query content is related to the weather, it can switch to "Application 1" to respond to the query.

[0073] In some embodiments, to support the jump from "Agent 1" to "Application 1", a jump plug-in corresponding to the jump condition (e.g., condition 1) from "Agent 1" to "Application 1" can be created. This enables "Agent 1" to independently determine whether the jump plug-in needs to be used in the current scenario to perform the switch from "Agent 1" to "Application 1". In some examples, when "Agent 1" creates a jump condition, recommended interaction items for "Agent 1" can also be generated based on the jump condition.

[0074] In some embodiments, the electronic device 110 may also support the user to only add connections between nodes without configuring corresponding jump conditions. For example, after the user configures the jump relationship from "agent 1" to "application 1", "agent 1" can determine whether to switch to "application 1" based on the description information of "application 1".

[0075] As an example, such description information may indicate the capabilities of "Application 1." For example, the description information of "Application 1" may indicate that "Application 1" is suitable for tasks such as weather queries. Accordingly, when "Agent 1" receives a query about the weather, it may determine that "Application 1" is suitable for handling the query and switch to "Application 1."

[0076] Taking into account the increase in the number of nodes, in some scenarios, the user may expect to configure a global jump condition. As shown in Figure 3A, the electronic device 110 can also support the user to configure global jump information through the control 310. This global jump information can indicate that at least one other processing entity other than the target processing entity in the node connection diagram can switch to the target processing entity to process the request under a unified specific condition. In some embodiments, this global jump information can indicate that all processing entities other than the specific processing entity to be jumped to in the node connection diagram can switch to the specific processing entity to process the request under a unified specific condition. It should be understood that such a specific processing entity can correspond to an intelligent agent or a referenced application.

[0077] In some embodiments, when a corresponding jump relationship is configured, during the process of the target application processing the target request, in response to the target application switching from the first processing entity to the second processing entity to process the target request, context information associated with the first processing entity is provided to the second processing entity for processing the target request.

[0078] Taking the jump from "agent 1" to "application 1" as an example, the historical conversation information between the user and "agent 1" can be provided to "application 1" as context information to improve the efficiency of "application 1" in processing tasks.

[0079] It should be understood that although the above describes the configuration process of the jump conditions using the jump between an agent and an application as an example, such a configuration process is also applicable to the jump from agent to agent, the adjustment from application to application, or the jump from application to agent.

[0080] In some embodiments, the electronic device 110 may receive a set of editing operations via the editing interface shown in FIG. 3A to FIG. 3E to create a final node connection graph 350 .

[0081] In some examples, the editing operation may include adding a new node to the node connection graph 350 , such as a node corresponding to a processing entity or a node corresponding to an existing reference.

[0082] As another example, the editing operation may include deleting an existing node in the node connection graph 350. As yet another example, the editing operation may include editing the attributes of a node in the node connection graph 350, such as prompt items, capability information, model information, knowledge information, etc. corresponding to the agent. As yet another example, the editing operation may include modifying the connection relationships of the nodes in the node connection graph 350, such as adding a new jump relationship between nodes, deleting an existing jump relationship, etc.

[0083] In some embodiments, the electronic device 110 may also support the user to configure global attribute information about the application to be created, which may apply to all processing entities associated with the application, such as agents or referenced applications. As an example, such global attribute information may include global guidance items to, for example, describe capability information or setting information of the target application.

[0084] In some embodiments, boot information for the target processing entity corresponding to application 314 - 1 is determined based on the target processing entity's private boot entry (eg, the private boot entry for application 314 - 1 ) and a global boot entry associated with the target application.

[0085] For example, electronic device 110 may combine the private boot item of application 314-1 with the global boot item configured by the user for the target application to determine the final boot item used by the target processing entity when actually processing the task. Additionally, electronic device 110 may also delete redundant information when combining the global boot item and the private boot item.

[0086] In some embodiments, the global attribute information of the target application may also include variable information associated with the application to be created. For example, a user may define global environment variables, user variables, etc., which may be used by various processing entities associated with the target application (e.g., agents or referenced applications).

[0087] In some embodiments, application 314-1 may be associated with a set of private variables, and accordingly, the global attribute information may indicate a set of global variables. Further, when application 314-1 is added, electronic device 110 may also update the variable database based on the matching of the set of private variables with the set of global variables. In some embodiments, the variable database may be accessible to all processing entities (e.g., agents or referenced applications) in the target application.

[0088] In one example, in response to a correspondence between a first identifier of a first variable in a set of private variables and a second identifier of a second variable in a set of global variables, electronic device 110 may associate the first variable with the second variable without adding the first variable to the variable database. For example, when a private variable and a global variable have the same name, electronic device 110 may not add the private variable to the variable database, but instead associate the private variable with the global variable, allowing application 314-1 to use the variable normally.

[0089] In another example, in response to the third identifier of the third variable in the set of private variables not corresponding to the set of global variables, the electronic device 110 may add the third variable to the variable database of the target application. For example, when the variable database does not include the identifier of the private variable, the electronic device 110 may add the private variable to the variable database.

[0090] In some embodiments, if the node 318 corresponding to the application 314-1 is deleted from the node connection diagram 350, the electronic device 110 may also update the variable database accordingly. Specifically, the electronic device 110 may delete the private variable (e.g., the third variable) used only for the application 314-1 from the variable database.

[0091] 2 , in block 230 , the electronic device 110 creates a target application based on the configuration information.

[0092] As an example, the electronic device 110 may create a corresponding target application, such as a bot, based on the configuration information. Furthermore, the bot may be published or shared with other users.

[0093] In some embodiments, with the permission of the publisher, for example, other users may be supported to create templates of published applications, and new applications may be created by editing corresponding node connection diagrams, thereby improving application efficiency.

[0094] Based on the process described above, embodiments of the present disclosure can support users in creating applications based on multiple processing entities (eg, bots based on multiple processing entities), and can process tasks by switching processing entities, thereby supporting the processing of complex requests.

[0095] In addition, embodiments of the present disclosure can support users to create new applications by referencing existing applications (eg, published bots), thereby further improving the efficiency of application creation.

[0096] Example devices and equipment

[0097] Embodiments of the present disclosure also provide corresponding apparatuses for implementing the above-described methods or processes. FIG4 shows a schematic block diagram of an example apparatus 400 for creating an application according to certain embodiments of the present disclosure. Apparatus 400 may be implemented as or included in electronic device 110. Each module / component in apparatus 400 may be implemented by hardware, software, firmware, or any combination thereof.

[0098] As shown in Figure 4, the device 400 includes an acquisition module 410, which is configured to acquire configuration information, the configuration information indicates multiple agents used to create an application and jump information associated with the multiple agents, the jump information at least indicating that the first agent among the multiple agents can switch to the second agent to process the request; and a creation module 420, which is configured to create a target application based on the configuration information.

[0099] In some embodiments, the determination module 420 is configured to: determine a node connection graph, the node connection graph includes multiple nodes corresponding to multiple processing entities, and the node connections in the node connection graph indicate jump relationships between nodes; and determine configuration information based on the node connection graph.

[0100] In some embodiments, the adding module 410 is configured to add a first node corresponding to the first application to the node connection graph.

[0101] In some embodiments, the apparatus 400 further includes an attribute presentation module configured to present attribute information of the first application, where the attribute information includes at least one of the following: identification information, overview information, and release information.

[0102] In some embodiments, the determination module 420 is configured to: receive a set of editing operations via an editing interface to create a node connection graph, wherein the set of editing operations includes at least one of the following: adding new nodes to the node connection graph; deleting existing nodes in the node connection graph; editing the properties of nodes in the node connection graph; and modifying the connection relationship of nodes in the node connection graph.

[0103] In some embodiments, the adding module 410 is configured to: present a group of candidate applications based on the received adding request; and add the first application as a target processing entity for creating an application based on a selection of the first application from the group of candidate applications.

[0104] In some embodiments, the set of candidate applications includes at least one of the following: an application created by the current user; an application published by other users and for which the current user has preset permissions.

[0105] In some embodiments, the apparatus 400 further includes a condition configuration module configured to: receive a first configuration operation associated with the first processing entity, the first configuration operation indicating a first condition for switching from the first processing entity to the second processing entity.

[0106] In some embodiments, the first configuration operation includes inputting text content for indicating the first condition.

[0107] In some embodiments, the apparatus 400 further includes a plug-in creation module configured to create a jump plug-in corresponding to the first condition, so that the first processing entity can switch to the second processing entity by calling the jump plug-in.

[0108] In some embodiments, whether the first processing entity switches to the second processing entity is determined based on description information of the second processing entity.

[0109] In some embodiments, during the process of the target application processing the target request, in response to the target application switching from the first processing entity to the second processing entity to process the target request, context information associated with the first processing entity is provided to the second processing entity for processing the target request.

[0110] In some embodiments, the device 400 also includes a first update module configured to: present update information associated with the target processing entity, the update information indicating at least one updated version associated with the first application; and based on the received update request, associate the target updated version of the first application to the target processing entity.

[0111] In some embodiments, the update information further indicates whether the at least one updated version is allowed to be added as a processing entity.

[0112] In some embodiments, the device 400 also includes a switching module configured to: present multiple versions associated with the first application based on a management request for the target processing entity, the multiple versions including at least historical versions of the first application; and associate the target version of the first application to the target processing entity based on a selection of a target version from the multiple versions.

[0113] In some embodiments, the apparatus 400 further includes a reminder module configured to: in response to the first application being changed to an unavailable state, present prompt information associated with the target processing entity, wherein the prompt information indicates that the target processing entity is invalid.

[0114] In some embodiments, the apparatus 400 further includes a replacement module configured to: present a replacement entry for replacing the first application; and associate the second application with the target processing entity based on a selection of the replacement entry.

[0115] In some embodiments, the boot information of the target processing entity is determined based on a private boot entry of the target processing entity and a global boot entry associated with the target application.

[0116] In some embodiments, the target application is associated with a set of global variables, the target processing entity is associated with a set of private variables, and the apparatus 400 further includes a variable management module configured to:

[0117] In response to a first identifier of a first variable in a group of private variables corresponding to a second identifier of a second variable in a group of global variables, associating the first variable to the second variable; or in response to a third identifier of a third variable in the group of private variables not corresponding to a group of global variables, adding the third variable to a variable database of a target application.

[0118] In some embodiments, the variable management module is further configured to: in response to the target processing entity being deleted, delete the third variable from the variable library.

[0119] In some embodiments, the plurality of processing entities further includes a processing entity corresponding to a target agent.

[0120] In some embodiments, the first application is a single agent based application.

[0121] FIG5 shows a block diagram of an electronic device 500 in which one or more embodiments of the present disclosure may be implemented. It should be understood that the electronic device 500 shown in FIG5 is merely exemplary and should not be construed as limiting the functionality and scope of the embodiments described herein. The electronic device 500 shown in FIG5 can be used to implement the electronic device 110 of FIG1 .

[0122] As shown in FIG5 , electronic device 500 is a general-purpose electronic device. Components of electronic device 500 may include, but are not limited to, one or more processors or processing units 510, memory 520, storage device 530, one or more communication units 540, one or more input devices 550, and one or more output devices 560. Processing unit 510 may be a real or virtual processor and is capable of performing various processes according to programs stored in memory 520. In a multi-processor system, multiple processing units execute computer-executable instructions in parallel to enhance the parallel processing capabilities of electronic device 500.

[0123] The electronic device 500 typically includes a plurality of computer storage media. Such media can be any accessible media that can be obtained by the electronic device 500, including but not limited to volatile and non-volatile media, removable and non-removable media. The memory 520 can be a volatile memory (e.g., registers, cache, random access memory (RAM)), a non-volatile memory (e.g., read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory), or some combination thereof. The storage device 530 can be a removable or non-removable medium and can include a machine-readable medium, such as a flash drive, a disk, or any other medium that can be used to store information and / or data and can be accessed within the electronic device 500.

[0124] The electronic device 500 may further include additional removable / non-removable, volatile / non-volatile storage media. Although not shown in FIG. 5 , a disk drive for reading from or writing to a removable, non-volatile disk (e.g., a “floppy disk”) and an optical drive for reading from or writing to a removable, non-volatile optical disk may be provided. In these cases, each drive may be connected to a bus (not shown) by one or more data media interfaces. The memory 520 may include a computer program product 525 having one or more program modules configured to perform various methods or actions of various embodiments of the present disclosure.

[0125] The communication unit 540 enables communication with other electronic devices via a communication medium. Additionally, the functions of the components of the electronic device 500 can be implemented in a single computing cluster or multiple computing machines that can communicate via a communication connection. Thus, the electronic device 500 can operate in a networked environment using a logical connection with one or more other servers, a network personal computer (PC), or another network node.

[0126] Input device 550 may be one or more input devices, such as a mouse, keyboard, or trackball. Output device 560 may be one or more output devices, such as a display, a speaker, or a printer. Electronic device 500 may also communicate with one or more external devices (not shown) via communication unit 540 as needed, such as a storage device, a display device, or the like, with one or more devices that allow a user to interact with electronic device 500, or with any device that allows electronic device 500 to communicate with one or more other electronic devices (e.g., a network card, a modem, etc.). Such communication may be performed via an input / output (I / O) interface (not shown).

[0127] According to an exemplary implementation of the present disclosure, a computer-readable storage medium is provided, on which computer-executable instructions are stored, wherein the computer-executable instructions are executed by a processor to implement the method described above. According to an exemplary implementation of the present disclosure, a computer program product is also provided, which is tangibly stored on a non-transitory computer-readable medium and includes computer-executable instructions, and the computer-executable instructions are executed by a processor to implement the method described above.

[0128] Various aspects of the present disclosure are described herein with reference to flowcharts and / or block diagrams of methods, apparatuses, devices, and computer program products implemented according to 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.

[0129] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, such that when these instructions are executed by the processing unit of the computer or other programmable data processing device, a device is generated that implements the functions / actions specified in one or more blocks in the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, where these instructions cause the computer, programmable data processing device, and / or other device to operate in a specific manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing various aspects of the functions / actions specified in one or more blocks in the flowchart and / or block diagram.

[0130] Computer-readable program instructions can be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operational steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / actions specified in one or more boxes in the flowchart and / or block diagram.

[0131] The flow charts and block diagrams in the accompanying drawings show the possible architecture, functions and operations of the systems, methods and computer program products according to multiple implementations of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a part for a module, program segment or instruction, and a part for a module, program segment or instruction comprises one or more executable instructions for realizing the logical function of the specification. In some alternative implementations, the functions marked in the box can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be realized by a special hardware-based system that performs the function or action of the specification, or can be realized by a combination of special hardware and computer instructions.

[0132] While various implementations of the present disclosure have been described above, the foregoing description is intended to be illustrative, not exhaustive, and not limited to the disclosed implementations. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described implementations. The terminology used herein is selected to best explain the principles of the implementations, their practical applications, or improvements to existing technologies, or to enable others skilled in the art to understand the various implementations disclosed herein.

Claims

1. A method for creating an application, comprising: Based on the selection of a first application, adding the first application as a target processing entity for creating an application; Determining configuration information, the configuration information indicating a plurality of processing entities for creating an application and jump information associated with the plurality of processing entities, the jump information at least indicating that: a first processing entity among the plurality of processing entities can switch to a second processing entity to process a request, and the plurality of processing entities includes the target processing entity; And Based on the configuration information, creating a target application.

2. The method according to claim 1, wherein determining the configuration information includes: Determining a node connection graph, the node connection graph including a plurality of nodes corresponding to the plurality of processing entities, and the node connections in the node connection graph indicating jump relationships between the nodes; And Based on the node connection graph, determining the configuration information.

3. The method according to claim 2, wherein adding the first application as a target processing entity for creating an application includes: Adding a first node corresponding to the first application to the node connection graph.

4. The method according to claim 2, further comprising: Presenting attribute information of the first application, the attribute information including at least one of the following: identification information, overview information, release information.

5. The method according to claim 2, wherein determining the node connection graph includes: Receiving a set of editing operations via an editing interface to create the node connection graph, Wherein the set of editing operations includes at least one of the following: Adding a new node to the node connection graph; Deleting an existing node in the node connection graph; Editing the attributes of a node in the node connection graph; Modifying the connection relationship of a node in the node connection graph.

6. The method according to claim 1, wherein adding the first application as a target processing entity for creating an application includes: Based on a received addition request, presenting a set of candidate applications; And Based on the selection of the first application among the set of candidate applications, adding the first application as the target processing entity for creating an application.

7. The method according to claim 6, wherein the set of candidate applications includes at least one of the following: Applications created by the current user; Applications published by other users and to which the current user has preset permissions.

8. The method according to claim 1, further comprising: Receiving a first configuration operation associated with the first processing entity, the first configuration operation indicating a first condition for switching from the first processing entity to the second processing entity.

9. The method according to claim 8, wherein the first configuration operation includes inputting text content for indicating the first condition.

10. The method according to claim 9, further comprising: Creating a jump plugin corresponding to the first condition, such that the first processing entity can switch to the second processing entity by invoking the jump plugin.

11. The method according to claim 1, wherein whether the first processing entity switches to the second processing entity is determined based on the description information of the second processing entity.

12. According to the method of claim 1, wherein: During the process that the target application processes the target request, in response to the target application switching from the first processing entity to the second processing entity to process the target request, the context information associated with the first processing entity is provided to the second processing entity for processing the target request.

13. The method according to claim 1, further comprising: presenting update information associated with the target processing entity, the update information indicating at least one updated version associated with the first application; and associating a target updated version of the first application with the target processing entity based on a received update request.

14. The method according to claim 13, wherein the update information further indicates whether the at least one updated version is allowed to be added as a processing entity.

15. The method according to claim 1, further comprising: presenting a plurality of versions associated with the first application based on a management request for the target processing entity, the plurality of versions at least including historical versions of the first application; and associating the target version of the first application with the target processing entity based on a selection of the target version from the plurality of versions.

16. The method according to claim 1, further comprising: presenting prompt information associated with the target processing entity in response to the first application changing to an unavailable state, the prompt information indicating that the target processing entity fails.

17. The method according to claim 16, further comprising: presenting a replacement entry for replacing the first application; and associating a second application with the target processing entity based on a selection of the replacement entry.

18. The method according to claim 1, wherein the guiding information of the target processing entity is determined based on the private guiding items of the target processing entity and the global guiding items associated with the target application.

19. The method according to claim 1, wherein the target application is associated with a set of global variables, and the target processing entity is associated with a set of private variables. The method further comprises: associating the first variable with the second variable in response to the first identifier of the first variable in the set of private variables corresponding to the second identifier of the second variable in the set of global variables; or adding the third variable to the variable database of the target application in response to the third identifier of the third variable in the set of private variables not corresponding to the set of global variables.

20. The method according to claim 19, further comprising: deleting the third variable from the variable library in response to the target processing entity being deleted.

21. The method according to claim 1, wherein the plurality of processing entities further comprises a processing entity corresponding to a target agent.

22. The method according to claim 1, wherein the first application is an application based on a single agent.

23. A device for creating an application, comprising: an adding module configured to add the first application as a target processing entity for creating an application based on a selection of the first application; A determination module, configured to determine configuration information, where the configuration information indicates multiple processing entities for creating an application and jump information associated with the multiple processing entities, and the jump information at least indicates that: a first processing entity among the multiple processing entities can switch to a second processing entity to process a request, and the multiple processing entities include the target processing entity; And A creation module, configured to create a target application based on the configuration information.

24. An electronic device, comprising: At least one processing unit; And At least one memory, the at least one memory being coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the electronic device to execute the method according to any one of claims 1 to 22.

25. A computer-readable storage medium, having stored thereon a computer program, the computer program being executable by a processor to implement the method according to any one of claims 1 to 22.

Citation Information

Patent Citations

  • Application creating method and device, equipment and storage medium

    CN120386518A

  • Flexible update mechanism for stateful applications

    CN115268978A

  • Creation of form-based applications

    US20110161941A1

  • Creation of security policies using a visual approach

    US20190342335A1

  • Interactive application tool and methods

    US20200174755A1