Method and device for creating application and processing request, equipment and storage medium

By obtaining the processing entity configuration information associated with the application, creating applications that support multiple entities, solving the problem of limited processing of complex requests by a single agent application, and improving the reliability and processing capabilities of the application.

CN120386567APending Publication Date: 2025-07-29BEIJING ZITIAO NETWORK TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410117608.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-01-26
Publication Date
2025-07-29

AI Technical Summary

Technical Problem

In the prior art, applications usually correspond to a single agent, resulting in limited processing of requests and difficulty in effectively handling complex requests.

Method used

The configuration information of the first processing entity associated with the application to be created is obtained, indicating its target action when it is not suitable for processing the request, and based on this, the target application is created, allowing the application to associate multiple processing entities.

Benefits of technology

Improves the reliability of the application, allowing it to switch to other processing entities when the processing entity is not suitable, ensuring the smooth processing of the request.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120386567A_ABST
    Figure CN120386567A_ABST
Patent Text Reader

Abstract

The embodiment of the invention relates to an application creating method and device, equipment and a storage medium. The method comprises the steps that configuration information of a first processing entity associated with a to-be-created application is obtained, the configuration information indicates a target action executed by the first processing entity when it is determined that the first processing entity is not suitable for processing a to-be-processed request, and the to-be-created application is associated with a plurality of processing entities; and creating the target application based on the configuration information. In this way, the embodiments of the present disclosure can support the user to configure the action executed by the specific processing entity when determining that the specific processing entity is not suitable for processing the request, thereby improving the reliability of the application.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] 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 the parameters of the applications, such as the models used by the applications, available plug-ins, etc. Summary of the Invention

[0003] In a first aspect of the present disclosure, a method for creating an application is provided. The method includes: obtaining configuration information of a first processing entity associated with the application to be created, the configuration information indicating a target action performed by the first processing entity when it is determined that the first processing entity is not suitable for processing a request to be processed, and the application to be created is associated with a plurality of processing entities; and creating a target application based on the configuration information.

[0004] In a second aspect of the present disclosure, a method for processing a request is provided. The method includes: receiving a target request for a target application; in response to determining that a first processing entity associated with the target application is not suitable for processing the target request, determining a second processing entity from a plurality of processing entities associated with the target application based on the entity jump history of the target application, the entity jump history indicating a historical jump process from a starting processing entity among the plurality of processing entities to the first processing entity; and switching to the second processing entity to process the target request.

[0005] In a third aspect of the present disclosure, an apparatus for creating an application is provided. The apparatus includes: an obtaining module configured to obtain configuration information of a first processing entity associated with the application to be created, the configuration information indicating a target action performed by the first processing entity when it is determined that the first processing entity is not suitable for processing a request to be processed, and the application to be created is associated with a plurality of processing entities; and a creating module configured to create a target application based on the configuration information.

[0006] In a fourth aspect of the present disclosure, an apparatus for processing a request is provided. The apparatus includes: a receiving module configured to receive a target request for a target application; a determining module configured to, in response to determining that a first processing entity associated with the target application is not suitable for processing the target request, determine a second processing entity from a plurality of processing entities associated with the target application based on the entity jump history of the target application, the entity jump history indicating a historical jump process from a starting processing entity among the plurality of processing entities to the first processing entity; and a switching module configured to switch to the second processing entity to process the target request.

[0007] In a fifth aspect of the present disclosure, an electronic device is provided. The device includes 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, cause the device to perform the method of the first aspect or the second aspect.

[0008] In a sixth aspect of the present disclosure, a computer-readable storage medium is provided. 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 or the second aspect.

[0009] It should be understood that the content described in this part is not intended to define the key features or important features of the embodiments of the present disclosure, nor is it used 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

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

[0011] Figure 1 A schematic diagram showing an example environment in which embodiments of the present disclosure can be implemented is shown;

[0012] Figure 2 A flowchart showing an example process of creating an application according to some embodiments of the present disclosure is shown;

[0013] Figure 3 An example interface according to some embodiments of the present disclosure is shown;

[0014] Figure 4 A flowchart showing an example process of processing a request according to some embodiments of the present disclosure is shown;

[0015] Figures 5A to 5C A schematic diagram showing an update of an entity jump history according to some embodiments of the present disclosure is shown;

[0016] Figure 6A A schematic structural block diagram showing an example apparatus for creating an application according to some embodiments of the present disclosure is shown;

[0017] Figure 6B A schematic structural block diagram showing an example apparatus for processing a request according to some embodiments of the present disclosure is shown; and

[0018] Figure 7 A block diagram of an electronic device capable of implementing multiple embodiments of the present disclosure is shown. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0019] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although some embodiments of the present disclosure are shown in the 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 set forth herein. On the contrary, these embodiments are provided to more thoroughly and completely understand the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not used to limit the protection scope of the present disclosure.

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

[0021] In the description of the embodiments of the present disclosure, the term "including" and its like should be understood as an open inclusion, that is, "including but not limited to". The term "based on" should be understood as "at least partially based 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". There may also be other explicit and implicit definitions hereinafter. The terms "first", "second", etc. may refer to different or the same objects. There may also be other explicit and implicit definitions hereinafter.

[0022] The embodiments of the present disclosure may involve the user's data, data acquisition and / or use, etc. These aspects all comply with the corresponding laws, regulations and related provisions. In the embodiments of the present disclosure, the collection, acquisition, processing, processing, forwarding, use, etc. of all data are carried out on the premise that the user is aware of and confirms. Accordingly, when implementing the embodiments of the present disclosure, the types, usage scopes, usage scenarios, etc. of the data or information that may be involved should be informed to the user and the user's authorization should be obtained through appropriate means according to the relevant laws and regulations. The specific informing and / or authorization methods may vary according to the actual situation and application scenarios, and the scope of the present disclosure is not limited in this regard.

[0023] For the solutions in this specification and the embodiments, if they involve the processing of personal information, they will be processed on the premise of having a legal basis (such as obtaining the consent of the personal information subject, or being necessary for performing a contract, etc.), and will only be processed within the specified or agreed scope. If the user refuses to process personal information other than the necessary information required for the basic functions, it will not affect the user's use of the basic functions.

[0024] Traditionally, users support configuring models, plugins, etc. used by an application to quickly create an application, e.g., a bot. However, such an application typically corresponds to a single agent. Since an agent usually has strong processing capabilities in a specific domain, this results in the requests that the application can handle being limited and it being difficult to effectively handle relatively complex requests.

[0025] Embodiments of the present disclosure propose a solution for creating an application. According to this solution, configuration information of a first processing entity associated with the application to be created can be obtained. The configuration information indicates a target action performed when the first processing entity determines that it is not suitable for processing a pending request, and the application to be created is associated with multiple processing entities. Further, a target application can be created based on the configuration information.

[0026] In this way, embodiments of the present disclosure can support users in configuring the actions performed by a specific processing entity when it determines that it is not suitable for processing a request, thereby improving the reliability of the application.

[0027] Embodiments of the present disclosure propose a solution for processing a request. According to this solution, a target request for a target application can be received. Further, in response to a first processing entity associated with the target application determining that it is not suitable for processing the target request, a second processing entity can be determined from multiple processing entities associated with the target application based on the entity jump history of the target application. The entity jump history indicates the historical jump process from a starting processing entity among the multiple processing entities to the first processing entity. Accordingly, the second processing entity can be switched to for processing the target request.

[0028] In this way, embodiments of the present disclosure can, when determining that a processing entity is not suitable for processing a specific request, select other processing entities according to the entity jump history of the application to continue processing the specific request. Thus, embodiments of the present disclosure can improve the reliability of the application in processing requests.

[0029] The following further describes various example implementations of this solution in detail in conjunction with the accompanying drawings.

[0030] Example environment

[0031] Figure 1 A schematic diagram of an example environment 100 in which embodiments of the present disclosure can be implemented is shown. As Figure 1 shown, the example environment 100 may include an electronic device 110.

[0032] In the example environment 100, the electronic device 110 can run an application 120 that supports interface interaction. The application 120 can be any suitable type of application for interface interaction, and its examples can include, but are not limited to: development applications or other suitable applications that support application development. The user 140 can interact with the application 120 via the electronic device 110 and / or its attached devices.

[0033] In Figure 1 the environment 100, if the application 120 is active, the electronic device 110 can present an interface 150 for supporting the creation of an application through the application 120.

[0034] In some embodiments, the electronic device 110 communicates with the server 130 to implement the supply of services for the application 120. The electronic device 110 can be any type of mobile terminal, fixed terminal, or portable terminal, including mobile phones, desktop computers, laptop computers, notebook computers, netbook computers, tablet computers, media computers, multimedia tablets, handheld computers, portable game terminals, VR / AR devices, Personal Communication System (PCS) devices, personal navigation devices, Personal Digital Assistant (PDA), audio / video players, digital cameras / camcorders, positioning devices, television receivers, radio broadcast receivers, e-book devices, game devices, or any combination of the foregoing, including accessories and peripherals of these devices or any combination thereof. In some embodiments, the electronic device 110 can also support any type of user interface (such as a "wearable" circuit, etc.).

[0035] The server 130 can be an independent physical server, or a server cluster or distributed system composed 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 delivery networks, and big data and artificial intelligence platforms. The server 130 can include, for example, a computing system / server, such as a mainframe, an edge computing node, a computing device in a cloud environment, and so on. The server 130 can provide background services for the application 120 that supports virtual scenarios in the electronic device 110.

[0036] A communication connection can be established between server 130 and electronic device 110. The communication connection can be established in a wired or wireless manner. The communication connection can 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. Embodiments of the present disclosure are not limited in this regard. In an embodiment of the present disclosure, server 130 and electronic device 110 can implement signaling interaction through the communication connection therebetween.

[0037] It should be understood that the structures and functions of the various elements in environment 100 are described only for exemplary purposes, without implying any limitation to the scope of the present disclosure.

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

[0039] Application creation process

[0040] Figure 2 A flowchart of a process 200 for creating an application according to some embodiments of the present disclosure is shown. Process 200 can be implemented at electronic device 110 for creating an application. The following will refer to Figure 1 to describe process 200.

[0041] As Figure 2 shown, at block 210, electronic device 110 obtains configuration information of a first processing entity associated with the application to be created. The configuration information indicates a target action to be performed by the first processing entity when it is determined that the first processing entity is not suitable for processing a pending request. The application to be created is associated with multiple processing entities.

[0042] In some embodiments, electronic device 110 can support a user to configure multiple processing entities (e.g., two or more processing entities) included in an application and the jump relationship between the processing entities to create an application. As will be described in detail below, such processing entities can include, for example, existing applications (also referred to as referenced applications) or agents to be configured. The following will be described in conjunction with Figure 3 to describe an example process of creating an application according to some embodiments of the present disclosure.

[0043] In some embodiments, electronic device 110 can provide as Figure 3The editing interface 300 shown. In the interface 300, the electronic device 110 may support a user to create a node connection diagram 350. Such a node connection diagram 350 may include a start node 302 and a plurality of nodes corresponding to a plurality of processing entities. For example, a node 304 corresponding to "Agent 1" etc. Additionally, the electronic device 110 may also support indicating a jump relationship between corresponding processing entities by adding connections between nodes.

[0044] In some embodiments, the electronic device 110 may support a user to create a new application. As an example, the electronic device 110 may create a first initial connection diagram based on a request for a new application. Figure 3 As an example, the first initial connection diagram may include a first initial node (e.g., node 304) for instance. For the scenario of a new application, the attribute information of the first initial node (e.g., node 304) may be empty. Further, the electronic device 110 may create a final node connection diagram 350 based on an editing operation on the first initial connection diagram.

[0045] In some embodiments, the electronic device 110 may support a user to convert an existing application based on a single agent into an application based on multiple processing entities. Specifically, the electronic device 110 may create a second initial connection diagram based on a conversion request for an existing application associated with a single agent. In some embodiments, the second initial connection diagram may include a second initial node created based on the existing application (e.g., as Figure 3 shown, node 304).

[0046] In some embodiments, different from the scenario of a new application, the attribute information of the agent corresponding to the second initial node (e.g., Agent 1) may be determined based on the attributes of the existing application. That is, at least part of the attribute information associated with the existing application may be synchronized to the newly created application.

[0047] In some examples, the agent automatically created by converting an application based on a single agent may inherit the model information of the existing application. For example, in the case where the existing application is implemented based on a specific model, the agent may also be implemented based on that model.

[0048] Continuing to refer to Figure 3 , the electronic device 110 may support a user to add one or more new nodes to the node connection diagram 350 through the control 312. As Figure 3 shown, the electronic device 110 may provide a plurality of controls for adding different types of nodes, such as control 306, control 308, and control 310.

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

[0050] In some embodiments, after receiving the selection of the control 308, the electronic device 110 can provide a set of candidate applications that allow addition. Accordingly, the electronic device 110 can add one or more nodes corresponding to the one or more candidate applications to the node connection diagram 350 based on the user's selection of one or more candidate applications. Exemplarily, the node 318 can correspond to the added "Application 1".

[0051] The electronic device 110 can, for example, support the user in configuring the jump conditions between any two nodes. Such two nodes can include nodes corresponding to agents or nodes corresponding to referenced applications.

[0052] As an example, as Figure 3 shown, the electronic device 110 can also support the user in configuring the connection relationship of the nodes in the node connection diagram 350. For example, the connection between the node 304 and the node 318.

[0053] Specifically, as Figure 3 shown, the electronic device 110 can establish a connection between the node 304 and the node 318 based on the jump condition (e.g., Condition 1) configured by the user associated with the node 304.

[0054] As an example, this connection can indicate the jump relationship between the processing entity corresponding to "Agent 1" and the processing entity corresponding to "Application 1", to indicate that "Agent 1" can switch to "Application 1" to process a request or execute a task when Condition 1 is satisfied.

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

[0056] In some embodiments, to support the jump from "Agent 1" to "Application 1", a jump plugin 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 to use this jump plugin in the current scenario to perform the switch from "Agent 1" to "Application 1". In some examples, when the jump condition is created in "Agent 1", suggestion interaction items for "Agent 1" can also be generated based on this jump condition.

[0057] In some embodiments, the electronic device 110 can 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".

[0058] As an example, such description information can indicate the capabilities of "Application 1". For example, the description information of "Application 1" can indicate that "Application 1" is suitable for tasks such as weather queries. Correspondingly, when "Agent 1" receives an inquiry about the weather, it can determine that "Application 1" is suitable for handling this inquiry and switch to "Application 1".

[0059] Considering that as the number of nodes increases, in some scenarios, the user may expect to configure global jump conditions. As Figure 3 shown, 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 in the node connection graph except the target processing entity can switch to this target processing entity under a unified specific condition to process requests. In some embodiments, this global jump information can indicate that all processing entities in the node connection graph except the target processing entity can switch to this target processing entity under a unified specific condition to process requests. It should be understood that such a target processing entity can correspond to an agent or a referenced application.

[0060] In some embodiments, when the corresponding jump relationship is configured, during the process of the target application processing the target request, in response to the target application switching from one processing entity (e.g., Processing Entity A) to another processing entity (e.g., Processing Entity B) to process the target request, the context information associated with Processing Entity A is provided to Processing Entity B for processing the target request.

[0061] 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, for example, to improve the efficiency of "Application 1" in handling tasks.

[0062] It should be understood that although the above describes the configuration process of jump conditions by taking the jump from the agent to the application as an example, such a configuration process is equally applicable to the jump from the agent to the agent, the adjustment from the application to the application, or the jump from the application to the agent.

[0063] In some embodiments, the electronic device 110 may also configure, based on the configuration control 314, the target action to be performed by the processing entity (e.g., "Agent 1") corresponding to the node 304 when it is determined that the processing entity is not suitable for processing the pending request.

[0064] Exemplarily, the electronic device 110 may provide a set of candidate actions, e.g., action 316-1 and action 316-2.

[0065] In some embodiments, action 316-1 may indicate that the first processing entity (e.g., "Agent 1") still processes the pending request.

[0066] In some embodiments, action 316-2 may indicate jumping to a third processing entity among the multiple processing entities to process the pending request, and the third processing entity is determined from other entities among the multiple processing entities based on the pending request.

[0067] For example, during the process of processing a specific request, the target application may determine a second processing entity suitable for processing the specific request according to the capabilities of other processing entities. Specifically, the target application may, for example, determine a predetermined number of multiple candidate processing entities from all other processing entities, and the first processing entity may further determine a second processing entity suitable for processing the specific processing request from the multiple candidate processing entities. In some embodiments, the predetermined number may be a preset number or may also be determined based on the user's configuration information.

[0068] Similarly, the electronic device 110 may also configure, based on the configuration control 320, the target action to be performed by the processing entity (e.g., "Application 1") corresponding to the node 318 when it is determined that the processing entity is not suitable for processing the pending request.

[0069] Similarly, the electronic device 110 may provide a set of candidate actions suitable for the node 318, e.g., action 316-1, action 316-2, action 316-3, and action 316-4.

[0070] Unlike node 304, since node 318 is not the starting node, the electronic device 110 can provide additional action options, for example, action 332-1 and action 322-3. Specifically, in some embodiments, action 316-1 may indicate a jump to a second processing entity among a plurality of processing entities to process a pending request, where the second processing entity is determined based on the entity jump history during the operation of the target application. The specific processes for determining the entity jump history and determining the second processing entity will be described in detail below with reference to Figure 4 Detailed description.

[0071] As another example, action 322-3 may indicate a jump to the starting processing entity (e.g., "Agent 1" corresponding to the starting node 304) among a plurality of processing entities to process a pending request.

[0072] In some embodiments, when the configured target action is obtained through configuration control 314 or configuration control 320, the target application may create a target plug-in corresponding to the target action for the corresponding processing entity (e.g., "Agent 1" or "Application 1"), so that the processing entity can execute the corresponding target action by calling the target plug-in.

[0073] Thus, in the case where it is determined that the current first processing entity is not suitable for processing the pending request, the first processing entity can execute the target action configured by configuration control 314 or configuration control 320 by calling the corresponding target plug-in.

[0074] In some embodiments, during the execution process, the target application may also update the plug-in description information of the target plug-in based on the entity description information of at least one processing entity (e.g., the starting processing entity, the previous processing entity, or other appropriate processing entities) corresponding to the target action. As an example, the entity description information may include the capability information or setting information of the second processing entity. Thus, the first processing entity can determine whether to call the target plug-in based on the updated plug-in description information to trigger the execution of the corresponding action.

[0075] In some embodiments, the target application may determine that the current processing entity is not suitable for processing the pending request when one or more of the following described conditions are separately or simultaneously satisfied.

[0076] The first condition may, for example, include that the matching degree between the guiding information of the current processing entity and the pending request is lower than a preset degree. For example, the guiding information of the current processing entity has no relevant description about the request.

[0077] The second condition may include, for example, that the guidance information of the current processing entity indicates that the current processing entity is unable to process the pending request. For example, the guidance information of the current processing entity clearly indicates that responses to requests of this category are not allowed.

[0078] The third condition may include, for example, that the current processing entity is not configured with the ability to process the pending request, and the ability includes knowledge ability or plug-in ability. For example, the current processing entity is not configured with the corresponding knowledge base or a plug-in capable of responding to the request.

[0079] The fourth condition may include, for example, that the request is not a general type of request.

[0080] The fifth condition may include, for example, that the jump conditions configured for the current processing entity do not include jump conditions for resolving such requests.

[0081] As an example, when all of the above five conditions are met, the current processing entity may determine that it is not suitable for processing the pending request and may accordingly trigger an action indicated by the configuration information to switch to another processing entity.

[0082] Continuing to refer to Figure 2 , at block 220, the electronic device 110 creates a target application based on the configuration information.

[0083] As an example, the electronic device 110 may create a corresponding target application based on the configuration information. For example, a bot. Further, the bot may be published or shared with other users, for example.

[0084] Based on the process described above, the embodiments of the present disclosure are capable of supporting a user in configuring actions to be performed by a specific processing entity when it determines that it is not suitable for processing a request, thereby improving the reliability of the application.

[0085] Request processing process

[0086] Figure 4 A flowchart of a process 400 for processing requests according to some embodiments of the present disclosure is shown. The process 400 may be implemented at the electronic device 110 for running the created target application. The process 400 is described below with reference to Figure 1 to describe the process 400.

[0087] As Figure 4 shown, at block 410, the electronic device 110 receives a target request for the target application.

[0088] As an example, when the target application is a conversation application, the target request may include a message input by a user to the conversation application.

[0089] At block 420, the electronic device 110 may determine whether the first processing entity associated with the target application is suitable for processing the target request.

[0090] In some embodiments, the target application may determine that the current processing entity is determined to be unsuitable for processing the target request when one or more of the following described conditions are separately or simultaneously satisfied.

[0091] The first condition may include, for example, that the degree of match between the guiding information of the current processing entity and the target request is lower than a preset degree. For example, the guiding information of the current processing entity has no relevant description about the target request.

[0092] The second condition may include, for example, that the guiding information of the current processing entity indicates that the current processing entity is unable to process the target request. For example, the guiding information of the current processing entity clearly indicates that responding to target requests of this category is not allowed.

[0093] The third condition may include, for example, that the current processing entity is not configured with the ability to process the target request, and the ability includes knowledge ability or plug-in ability. For example, the current processing entity is not configured with the corresponding knowledge base or the plug-in capable of responding to the target request.

[0094] The fourth condition may include, for example, that the target request is not a general type of request.

[0095] The fifth condition may include, for example, that the jump conditions configured for the current processing entity do not include the jump conditions for resolving such target requests.

[0096] As an example, when all of the above five conditions are satisfied, the target application may determine that the first processing entity is not suitable for processing the target request.

[0097] Continue to refer to Figure 4 , in response to determining at block 420 that the first processing entity associated with the target application is not suitable for processing the target request, process 400 may proceed to block 430.

[0098] At block 430, the electronic device 110 determines a second processing entity from among the multiple processing entities associated with the target application based on the entity jump history of the target application, and the entity jump history indicates the historical jump process from the starting processing entity among the multiple processing entities to the first processing entity.

[0099] In some embodiments, the electronic device 110 may obtain the configuration information of the first processing entity, which may indicate, for example, that when the first processing entity is not suitable for processing the target request, it may perform the action of "jumping to the previous node".

[0100] Accordingly, the electronic device 110 may obtain the entity jump history of the target application. In some embodiments, the entity jump history may indicate that the second processing entity has jumped to the first processing entity during operation in response to a specific request.

[0101] Figure 5A FIG. 500A is a schematic diagram showing some embodiments of the present disclosure. For Figure 5A example, the target application may include multiple processing entities, namely, processing entity 505, processing entity 510, processing entity 520, processing entity 525, and processing entity 530.

[0102] In some embodiments, the target application may record the historical jump process between processing entities. For Figure 5A example, if the target application jumps from processing entity 505 to processing entity 510 when processing the first request to respond to the first request, the target application may record the corresponding jump process, for example, A->B.

[0103] Accordingly, if the target application jumps from processing entity 510 to processing entity 515 when processing the second request to respond to the second request, the target application may update the corresponding jump process, for example, A->B->C.

[0104] Accordingly, if the target application jumps from processing entity 515 to processing entity 520 when processing the third request to respond to the third request, the target application may update the corresponding jump process, for example, A->B->C->D.

[0105] In this case, the processing entity 520 used by the target application to process the target request may be configured with an action of "jumping to the previous node", and the processing entity 520 is determined to be unsuitable for processing the target request. Accordingly, the electronic device 110 may determine the "previous node" as the processing entity 515 (i.e., the second processing entity) according to the historical jump process.

[0106] In some embodiments, in order to improve the effectiveness of recording the historical jump process, the electronic device 110 may record only the starting processing entity and the responding processing entity for processing a specific request in the historical jump process.

[0107] For example, taking the received first request as an example, if during the process of processing the first request, the target application sequentially jumps from processing entity 505 to processing entity 510 and then to processing entity 515, and finally the request is responded to by processing entity 515. Accordingly, the target application will record the direct jump from processing entity 505 to processing entity 515 (for example, A->C), rather than recording all the processing entities (for example, A->B->C).

[0108] In some embodiments, in order to improve the timeliness of request response, the target application may, for example, configure an upper limit on the number of processing entities allowed to be jumped by a single request. For example, during the process of processing the target request, the target application may determine the number of processing entities that have been jumped. If this number reaches a threshold (e.g., the upper limit), the target application may use the current processing entity 520 to process the target request, regardless of whether the processing entity 520 is suitable for processing the target request.

[0109] Conversely, if this number does not reach the threshold, the target application may determine the second processing entity to be jumped to based on the process described above, e.g., processing entity 515.

[0110] In some embodiments, the target application may also prevent the target request from forming a loop during multiple jumps. Specifically, if the target request jumps from processing entity 515 to processing entity 520 and then jumps back to processing entity 515 again, the target application may mask the jump logic or configured backtracking action corresponding to processing entity 515, and may use this processing entity 515 to process the target request.

[0111] In some embodiments, if it is determined at block 420 that the first processing entity is suitable for processing the target request, the target application may use this first processing entity to respond to the target request ( Figure 4 not shown).

[0112] Continuing to refer to Figure 4 , at block 440, the electronic device 110 switches to a second processing entity to process the target request.

[0113] Taking Figure 5B as an example, the target application may, for example, switch to processing entity 515 to process the target request.

[0114] Furthermore, the target application may determine whether to jump to other processing entities based on configuration information such as the capabilities of processing entity 515, jump conditions, and actions performed when the request is not suitable for processing.

[0115] As an example, in response to the target application finally using processing entity 515 to respond to the target request, the target application may accordingly update the entity jump history of the target application.

[0116] For example, the target application may update the historical jump process represented by the entity jump history to: A->B->C->D->C.

[0117] In some embodiments, considering that there is a C-to-C loop in such a historical jump process, the target application can delete the part corresponding to the loop from the historical jump process. Specifically, the target application can determine whether the historical jump process from the starting processing entity to the first processing entity includes a second processing entity.

[0118] In some embodiments, if the historical jump process includes a second processing entity, the target application can determine a target part from the historical jump process, and the target part corresponds to the jump process from the starting processing entity to the second processing entity. For example, if the target application determines that the existing historical jump process (A->B->C->D) includes a second processing entity (i.e., C), then the target application can determine the target part from the starting processing entity (i.e., A) to the second processing entity (i.e., C) from the historical jump process, that is, A->B->C. Further, the target application can update the entity jump history based on the target part.

[0119] In other embodiments, if the historical jump process includes a second processing entity, the target application adds the second processing entity to the historical jump process to update the entity jump history. For example, based on the example shown in Figure 5A if the processing entity 520 further jumps to the processing entity 525 in response to a target request, the historical jump process can be updated to: A->B->C->D->E.

[0120] As another example, based on the example shown in Figure 5A the target application can determine, for example, that the processing entity 520 needs to jump to the processing entity 510. Further, the second processing entity (e.g., the processing entity 510) determined by the target application needs to perform an additional jump to determine the final processing entity for the corresponding target request.

[0121] Taking Figure 5C as an example, the processing entity 515 can further jump to the processing entity 525 to respond to the target request, and the target application can finally jump to the processing entity 525 to respond to subsequent requests. In this case, the historical jump process can be updated to: A->B->C->E.

[0122] Based on the process described above, the embodiments of the present disclosure can select other processing entities according to the entity jump history of the application when determining that a processing entity is not suitable for processing a specific request to continue processing the specific request. Thus, the embodiments of the present disclosure can improve the reliability of the application in processing requests.

[0123] Example device and equipment

[0124] The embodiments of the present disclosure also provide corresponding apparatuses for implementing the above methods or processes.Figure 6A FIG. 600 shows a schematic structural block diagram of an example apparatus 600 for creating an application according to some embodiments of the present disclosure. The apparatus 600A may be implemented as or included in an electronic device 110. Each module / component in the apparatus 600A may be implemented by hardware, software, firmware, or any combination thereof.

[0125] As Figure 6A shown, the apparatus 600A includes an obtaining module 610 configured to obtain configuration information of a first processing entity associated with the application to be created, the configuration information indicating a target action to be performed by the first processing entity when it is determined that the first processing entity is not suitable for processing a pending request, and the application to be created is associated with multiple processing entities; and a creating module 620 configured to create a target application based on the configuration information.

[0126] In some embodiments, the target action indicates jumping to a second processing entity among the multiple processing entities to process the pending request, and the second processing entity is determined based on the entity jump history during the running of the target application.

[0127] In some embodiments, the target action indicates jumping to a starting processing entity among the multiple processing entities to process the pending request.

[0128] In some embodiments, the target action indicates jumping to a third processing entity among the multiple processing entities to process the pending request, and the third processing entity is determined from other entities among the multiple processing entities based on the pending request.

[0129] In some embodiments, the target action indicates that the first processing entity is still used to process the pending request.

[0130] In some embodiments, the target processing entity includes an agent or a referenced application.

[0131] In some embodiments, the first processing entity determines that it is not suitable for processing the pending request when at least one of the following conditions is satisfied: the matching degree between the guiding information of the first processing entity and the pending request is lower than a preset degree; the guiding information of the first processing entity indicates that the first processing entity cannot process the pending request; the first processing entity is not configured with the ability to process the pending request, and the ability includes knowledge ability or plug-in ability.

[0132] In some embodiments, the target application is configured to: based on the configuration information, create a target plug-in corresponding to the target action for the first processing entity, so that the first processing entity can execute the target action by calling the target plug-in.

[0133] In some embodiments, the target application is further configured to update the plug-in description information of the target plug-in based on the entity description information of at least one processing entity corresponding to the target action.

[0134] Embodiments of the present disclosure also provide corresponding apparatuses for implementing the above methods or processes. Figure 6B A schematic structural block diagram of an example apparatus 600 for processing requests according to certain embodiments of the present disclosure is shown. Apparatus 600B may be implemented as or included in an electronic device 110. Each module / component in apparatus 600B may be implemented by hardware, software, firmware, or any combination thereof.

[0135] As Figure 6B shown, apparatus 600B includes a receiving module 630 configured to receive a target request for a target application; a determining module 640 configured to, in response to determining that a first processing entity associated with the target application is not suitable for processing the target request, determine a second processing entity from a plurality of processing entities associated with the target application based on the entity jump history of the target application, the entity jump history indicating a historical jump process from a starting processing entity among the plurality of processing entities to the first processing entity; and a switching module 650 configured to switch to the second processing entity to process the target request.

[0136] In some embodiments, apparatus 600B further includes an updating module configured to update the entity jump history based on the target application switching to the second processing entity.

[0137] In some embodiments, the updating module is further configured to: in response to the target application using the second processing entity to respond to the target request, determine whether the historical jump process from the starting processing entity to the first processing entity includes the second processing entity; and in response to the historical jump process not including the second processing entity, add the second processing entity to the historical jump process to update the entity jump history.

[0138] In some embodiments, the updating module is further configured to: in response to the historical jump process including the second processing entity, determine a target portion from the historical jump process, the target portion corresponding to the jump process from the starting processing entity to the second processing entity; and update the entity jump history based on the target portion.

[0139] In some embodiments, the updating module is further configured to: in response to the target application using a third processing entity to respond to the target request, update the entity jump history to indicate a jump from the first processing entity to the third processing entity in response to the target request, the third processing entity being different from the second processing entity.

[0140] In some embodiments, the historical jump process indicates that the second processing entity has jumped to the first processing entity during operation to respond to a specific request.

[0141] In some embodiments, the determining module 640 is further configured to: determine the number of processing entities jumped through during the process of processing the target request, and in response to the number being less than the threshold, determine a second processing entity from multiple processing entities associated with the target application based on the entity jump history of the target application.

[0142] Figure 7 The block diagram of an electronic device 700 in which one or more embodiments of the present disclosure may be implemented is shown. It should be understood that Figure 7 the illustrated electronic device 700 is merely exemplary and should not constitute any limitation on the functions and scopes of the embodiments described herein. Figure 7 The illustrated electronic device 700 can be used to implement Figure 1 the electronic device 110.

[0143] As Figure 7 shown, the electronic device 700 is in the form of a general-purpose electronic device. The components of the electronic device 700 may include, but are not limited to, one or more processors or processing units 710, a memory 720, a storage device 730, one or more communication units 740, one or more input devices 750, and one or more output devices 760. The processing unit 710 can be an actual or virtual processor and can execute various processes according to the programs stored in the memory 720. In a multi-processor system, multiple processing units execute computer-executable instructions in parallel to improve the parallel processing ability of the electronic device 700.

[0144] The electronic device 700 generally includes multiple computer storage media. Such media can be any accessible media that can be obtained by the electronic device 700, including but not limited to volatile and non-volatile media, removable and non-removable media. The memory 720 can be a volatile memory (such as registers, caches, random access memory (RAM)), a non-volatile memory (such as read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory), or some combination thereof. The storage device 730 can be a removable or non-removable medium and can include machine-readable media, such as flash drives, magnetic disks, or any other medium that can be used to store information and / or data and can be accessed within the electronic device 700.

[0145] The electronic device 700 may further include additional removable / non-removable, volatile / non-volatile storage media. Although not shown in Figure 7As shown, a disk drive for reading from and writing to a removable, non-volatile disk (such as a "floppy disk") and an optical disk drive for reading from and writing to a removable, non-volatile optical disk can be provided. In these cases, each drive can be connected to a bus (not shown) by one or more data medium interfaces. The memory 720 may include a computer program product 725 having one or more program modules configured to perform the various methods or actions of the various embodiments of the present disclosure.

[0146] The communication unit 740 enables communication with other electronic devices via a communication medium. Additionally, the functions of the components of the electronic device 700 can be implemented in a single computing cluster or multiple computer machines capable of communicating via a communication connection. Thus, the electronic device 700 can operate in a networked environment using a logical connection to one or more other servers, network personal computers (PCs), or another network node.

[0147] The input device 750 can be one or more input devices such as a mouse, keyboard, trackball, etc. The output device 760 can be one or more output devices such as a display, speaker, printer, etc. The electronic device 700 can also communicate with one or more external devices (not shown) as needed via the communication unit 740, such as storage devices, display devices, etc., communicate with one or more devices that enable a user to interact with the electronic device 700, or communicate with any device that enables the electronic device 700 to communicate with one or more other electronic devices (e.g., a network card, a modem, etc.). Such communication can be performed via an input / output (I / O) interface (not shown).

[0148] According to an exemplary implementation of the present disclosure, a computer-readable storage medium is provided, on which computer-executable instructions are stored, where 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, the computer program product being tangibly stored on a non-transitory computer-readable medium and including computer-executable instructions, and the computer-executable instructions being executed by a processor to implement the method described above.

[0149] Aspects of the present disclosure are described herein with reference to the flowcharts and / or block diagrams of methods, apparatuses, devices, and computer program products according to the present disclosure. It should be understood that each block of the flowcharts and / or block diagrams, and the combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer-readable program instructions.

[0150] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus to produce a machine such that the instructions, when executed by the processing unit of the computer or other programmable data processing apparatus, result in an apparatus that implements the functions / acts specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, a programmable data processing apparatus, and / or other devices to function in a particular manner, such that the computer-readable medium storing the instructions comprises a manufacture including instructions that implement various aspects of the functions / acts specified in one or more blocks of the flowchart and / or block diagram.

[0151] The computer-readable program instructions may be loaded onto a computer, other programmable data processing apparatus, or other devices so that a series of operational steps are performed on the computer, other programmable data processing apparatus, or other devices to produce a computer-implemented process such that the instructions executed on the computer, other programmable data processing apparatus, or other devices implement the functions / acts specified in one or more blocks of the flowchart and / or block diagram.

[0152] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various implementations of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, a segment of a program, or a portion of an instruction, and a module, a segment of a program, or a portion of an instruction contains one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two consecutive blocks may in fact be executed substantially in parallel, or they may sometimes be executed in the reverse order, depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented by special-purpose hardware-based systems that perform the specified functions or acts, or by combinations of special-purpose hardware and computer instructions.

[0153] The various implementations of the present disclosure have been described above. The description is illustrative, not exhaustive, and is not limited to the implementations disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described implementations. The choice of terms used herein is intended to best explain the principles of the implementations, the practical application, or improvements made to the technology in the marketplace, or to enable other ordinary skilled persons in the art to understand the implementations disclosed herein.

Claims

1. A method for creating an application, comprising: Obtaining configuration information of a first processing entity associated with the application to be created, the configuration information indicating a target action performed by the first processing entity when it is determined to be unsuitable for processing a request to be processed, and the application to be created being associated with a plurality of processing entities; And Based on the configuration information, creating the target application.

2. The method according to claim 1, wherein the target action indicates a jump to a second processing entity among the plurality of processing entities to process the request to be processed, and the second processing entity is determined based on the entity jump history during the running process of the target application.

3. The method according to claim 1, wherein the target action indicates a jump to a starting processing entity among the plurality of processing entities to process the request to be processed.

4. The method according to claim 1, wherein the target action indicates a jump to a third processing entity among the plurality of processing entities to process the request to be processed, and the third processing entity is determined from other entities among the plurality of processing entities based on the request to be processed.

5. The method according to claim 1, wherein the target action indicates that the first processing entity still processes the request to be processed.

6. The method according to claim 1, wherein the target processing entity includes an agent or a referenced application.

7. The method according to claim 1, wherein the first processing entity determines that it is unsuitable for processing the request to be processed when at least one of the following conditions is satisfied: The matching degree between the guiding information of the first processing entity and the request to be processed is lower than a preset degree; The guiding information of the first processing entity indicates that the first processing entity cannot process the request to be processed; The first processing entity is not configured with the ability to process the request to be processed, and the ability includes a knowledge ability or a plug-in ability.

8. The method according to claim 1, wherein the target application is configured to: based on the configuration information, create a target plug-in corresponding to the target action for the first processing entity, so that the first processing entity can execute the target action by invoking the target plug-in.

9. The method according to claim 8, wherein the target application is further configured to: update the plug-in description information of the target plug-in based on the entity description information of at least one processing entity corresponding to the target action.

10. A method for processing a request, comprising: Receiving a target request for a target application; In response to determining that a first processing entity associated with the target application is unsuitable for processing the target request, determining a second processing entity from a plurality of processing entities associated with the target application based on the entity jump history of the target application, the entity jump history indicating a historical jump process from a starting processing entity among the plurality of processing entities to the first processing entity; And Switching to the second processing entity to process the target request.

11. The method according to claim 10, further comprising: Switch to the second processing entity based on the target application, and update the entity jump history.

12. The method according to claim 11, wherein updating the entity jump history includes: In response to the target application using the second processing entity to respond to the target request, determining whether the historical jump process from the starting processing entity to the first processing entity includes the second processing entity; And In response to the historical jump process not including the second processing entity, adding the second processing entity to the historical jump process to update the entity jump history.

13. The method according to claim 11, wherein updating the entity jump history further includes: In response to the historical jump process including the second processing entity, determining a target portion from the historical jump process, the target portion corresponding to the jump process from the starting processing entity to the second processing entity; And Based on the target portion, updating the entity jump history.

14. The method according to claim 11, wherein updating the entity jump history includes: In response to the target application using a third processing entity to respond to the target request, updating the entity jump history to indicate a jump from the first processing entity to the third processing entity in response to the target request, the third processing entity being different from the second processing entity.

15. The method according to claim 10, wherein the historical jump process indicates that the second processing entity has jumped to the first processing entity during operation to respond to a specific request.

16. The method according to claim 10, wherein determining the second processing entity from multiple processing entities associated with the target application based on the entity jump history of the target application includes: Determining the number of processing entities that have jumped during the process of processing the target request, and in response to the number being less than a threshold, determining the second processing entity from multiple processing entities associated with the target application based on the entity jump history of the target application.

17. The method according to claim 16, further comprising: In response to the number reaching the threshold, using the first processing entity to respond to the target request.

18. An apparatus for creating an application, comprising: An acquisition module configured to acquire configuration information of a first processing entity associated with the application to be created, the configuration information indicating a target action performed by the first processing entity when it is determined not to be suitable for processing a pending request, the application to be created being associated with multiple processing entities; And A creation module configured to create the target application based on the configuration information.

19. An apparatus for processing a request, comprising: A receiving module configured to receive a target request for a target application; A determination module, configured to determine, in response to a first processing entity associated with a target application being determined to be unsuitable for processing the target request, a second processing entity from a plurality of processing entities associated with the target application based on an entity jump history of the target application, where the entity jump history indicates a historical jump process from a starting processing entity among the plurality of processing entities to the first processing entity; And A switching module, configured to switch to the second processing entity to process the target request.

20. 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 9 or 10 to 17.

21. 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 9 or 10 to 17.