Method and apparatus for creating digital assistant, and device and medium
By setting triggers in the digital assistant creation page, the problem that digital assistants cannot be automatically triggered in the existing technology is solved, more flexible and complex task execution is achieved, and the applicability of digital assistants is improved.
Patent Information
- Application Number
- PCT/CN2024/138824
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-29
- Filing Date
- 2024-12-12
- Publication Date
- 2025-10-02
AI Technical Summary
Existing digital assistants cannot be automatically triggered under specific events, which limits their functions and application areas. It is difficult for users to flexibly create and configure digital assistants with automatic triggering functions.
A settings area is presented in the creation page of the digital assistant, which is used to set triggers. The triggers specify the event source and corresponding actions. The triggers are configured in response to setting requests to create a digital assistant that can respond to specific events.
The applicability and flexibility of digital assistants have been improved, enabling them to automatically perform complex tasks under specific events and support collaboration with other applications.
Smart Images

Figure CN2024138824_02102025_PF_FP_ABST
Abstract
Description
Method, apparatus, device and medium for creating a digital assistant
[0001] This application claims priority to the Chinese invention patent application entitled “Methods, devices, equipment and media for creating a digital assistant” and application number 202410383220.0, filed on March 29, 2024. The entire contents of that application are incorporated by reference into this application. Technical Field
[0002] Exemplary implementations 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 digital assistants. Background Art
[0003] Machine learning technology has been widely used in a variety of technical fields. In the prior art, digital assistants are provided to assist users in various task processing needs in different applications and scenarios. Digital assistants can usually call various built-in or third-party tools to perform tasks. Digital assistants usually have intelligent dialogue and task processing capabilities. Digital assistants can be called in response to user input. For example, in the process of interacting with a digital assistant, the user inputs an interactive message, and the digital assistant provides a reply message in response to the user input. Generally, the digital assistant can provide feedback on the input based on the user's input in real time. However, the user may expect to automatically call the digital assistant when certain events are detected. Summary of the Invention
[0004] In a first aspect of the present disclosure, a method for creating a digital assistant is provided. The method includes: presenting a settings area in a creation page of the digital assistant, the settings area being used to set a trigger for the digital assistant, the trigger specifying an event source for receiving a trigger event and an action corresponding to the trigger event, the trigger event being an event from an application other than the digital assistant; in response to receiving a setting request for the settings area, setting the trigger based on the setting request; and creating the digital assistant based on the trigger, so that the created digital assistant performs an action in response to receiving the trigger event.
[0005] In a second aspect of the present disclosure, a device for creating a digital assistant is provided. The device includes: a setting area presentation module configured to present a setting area in a creation page of the digital assistant, the setting area being used to set a trigger for the digital assistant, the trigger specifying an event source for receiving a trigger event and an action corresponding to the trigger event, the trigger event being an event from an application other than the digital assistant; a trigger setting module configured to, in response to receiving a setting request for the setting area, set a trigger based on the setting request; and a digital assistant publishing module configured to create a digital assistant based on the trigger, so that the created digital assistant performs an action in response to receiving the trigger event.
[0006] In a third aspect of the present disclosure, an electronic device is provided. The electronic 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, causing the electronic device to perform the method according to the first aspect of the present disclosure.
[0007] In a fourth aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the processor implements the method according to the first aspect of the present disclosure.
[0008] According to a fifth aspect of the present disclosure, a computer program product is provided, comprising a computer program, wherein when the computer program is executed by a processor, the method according to the first aspect of the present disclosure is implemented.
[0009] 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 implementation of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easy to understand through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The above and other features, advantages and aspects of various implementations of the present disclosure will become more apparent hereinafter 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:
[0011] 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:
[0012] FIG1 shows a schematic diagram of an example environment in which embodiments of the present disclosure can be implemented;
[0013] FIG2 shows a schematic diagram of an example of creating and applying a digital assistant according to some embodiments of the present disclosure;
[0014] FIG3 shows a schematic diagram of an example page according to some embodiments of the present disclosure;
[0015] FIG4 shows a schematic diagram of an example page according to some other embodiments of the present disclosure;
[0016] 5A to 5C are schematic diagrams illustrating example configuration pages for actions according to some embodiments of the present disclosure;
[0017] FIG6 shows a schematic diagram of an example creation page for a scheduled task according to some embodiments of the present disclosure;
[0018] FIG7 illustrates a flow chart of a process for creating a digital assistant according to some embodiments of the present disclosure;
[0019] FIG8 shows a schematic structural block diagram of an apparatus for creating a digital assistant according to some embodiments of the present disclosure; and
[0020] FIG9 illustrates a block diagram of an electronic device in which one or more embodiments of the present disclosure may be implemented. DETAILED DESCRIPTION
[0021] 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.
[0022] In the description of the embodiments of the present disclosure, the term "including" and similar terms should be understood as open inclusion, i.e., "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.
[0023] Herein, unless explicitly stated otherwise, executing a step “in response to A” does not mean executing the step immediately after “A” but may include one or more intermediate steps.
[0024] It is understandable that the data involved in this technical solution (including but not limited to the data itself, the acquisition, use, storage or deletion of the data) shall comply with the requirements of relevant laws, regulations and relevant provisions.
[0025] It is understandable that before using the technical solutions disclosed in the various embodiments of the present disclosure, the type, scope of use, usage scenarios, etc. of the information involved in the present disclosure should be informed to relevant users and authorization should be obtained from relevant users in an appropriate manner in accordance with relevant laws and regulations. The relevant users may include any type of right holders, such as individuals, enterprises, and groups.
[0026] For example, in response to receiving an active request from a user, a prompt message is sent to the relevant user to clearly prompt the relevant user that the operation requested to be performed will require obtaining and using the information of the relevant user, so that the relevant user can independently choose whether to provide information to the software or hardware such as the electronic device, application, server or storage medium that executes the operation of the technical solution of the present disclosure based on the prompt message.
[0027] As an optional but non-limiting embodiment, in response to receiving an active request from a relevant user, the prompt information may be sent to the relevant user in the form of a pop-up window, in which the prompt information may be presented in text form. In addition, the pop-up window may also contain a selection control for the user to select "agree" or "disagree" to provide information to the electronic device.
[0028] It is understandable that the above notification and user authorization process are merely illustrative and do not limit the embodiments of the present disclosure. Other methods that meet relevant laws and regulations may also be applied to the embodiments of the present disclosure.
[0029] As used herein, the term "model" can learn the association between corresponding inputs and outputs from training data, so that after training is completed, corresponding outputs can be generated for given inputs. The generation of the model can be based on machine learning technology. Deep learning is a machine learning algorithm that processes inputs and provides corresponding outputs by using multiple layers of processing units. A neural network model is an example of a model based on deep learning. In this article, "model" may also be referred to as "machine learning model", "learning model", "machine learning network" or "learning network", and these terms are used interchangeably in this article.
[0030] Digital assistants can serve as tools for people to work, learn, and live more effectively. Generally, developing digital assistants is similar to developing general applications. Developers with programming skills must write complex code to define the assistant's capabilities and deploy it on an appropriate platform so that users can download, install, and use it.
[0031] With the diversification of application scenarios and the increasing availability of machine learning technology, it is expected that more digital assistants with different capabilities will be developed to support task processing in various segments or meet the personalized needs of different users. However, due to limited programming capabilities and limited understanding of the underlying implementation logic of digital assistants, users cannot freely and conveniently create different digital assistants. Currently, a variety of low-code programming platforms are available, and users can create digital assistants in a more convenient and flexible way.
[0032] A digital assistant is invoked in response to user input. For example, a user may enter an interactive message, and the digital assistant provides a reply message in response to the user input. However, the user may desire to automatically invoke the digital assistant when certain events occur. In this case, it is desirable to provide a more convenient and flexible way to create a digital assistant, and enable the digital assistant to be automatically invoked when predetermined events occur, thereby meeting more user needs.
[0033] Sample Environment
[0034] 1 , an application environment of the present disclosure is described, which shows a schematic diagram of an example environment 100 in which embodiments of the present disclosure can be implemented. The environment 100 involves an assistant creation platform 110 and an assistant application platform 130 .
[0035] As shown in Figure 1, the assistant creation platform 110 can provide a digital assistant creation and publishing environment for users 105. In some embodiments, the assistant creation platform 110 can be a low-code platform that provides a collection of tools for creating digital assistants. The assistant creation platform 110 can support the visual development of digital assistants, so that developers can skip the manual coding process and speed up the development cycle and cost of applications. The assistant creation platform 110 can support any appropriate platform for users to develop digital assistants and other types of applications, for example, it can include a platform based on Application Platform as a Service (aPaaS). Such a platform can support users to efficiently develop applications and realize operations such as application creation and application function adjustment.
[0036] The assistant creation platform 110 can be deployed locally on the terminal device of the user 105, and / or can be supported by a remote server. For example, the terminal device of the user 105 can run a client of the assistant creation platform 110, which can support the interaction between the user and the assistant creation platform 110. In the case where the assistant creation platform 110 runs locally on the user's terminal device, the user 105 can directly use the client to interact with the local assistant creation platform 110. In the case where the assistant creation platform 110 runs on a server-side device, the server-side device can realize the supply of services to the client running in the terminal device based on the communication connection between the server and the terminal device. The assistant creation platform 110 can present a corresponding page 122 to the user 105 based on the operation of the user 105 to output and / or receive information to the user 105 and / or receive information from the user 105.
[0037] In some embodiments, the assistant creation platform 110 can be associated with a corresponding database, which stores the data or information required for the digital assistant creation process supported by the assistant creation platform 110. For example, the database can store the code and description information corresponding to the various functional modules that make up the digital assistant. The assistant creation platform 110 can also perform operations such as calling, adding, deleting, and updating on the functional modules in the database. The database can also store operations that can be performed on different functional modules. For example, in a scenario where a digital assistant is to be created, the assistant creation platform 110 can call the corresponding functional blocks from the database to build a digital assistant.
[0038] In an embodiment of the present disclosure, a user 105 can create a digital assistant 120 as needed on an assistant creation platform 110 and publish the digital assistant 120. The digital assistant 120 can be published to any appropriate assistant application platform 130, as long as the assistant application platform 130 can support the operation of the digital assistant 120. After publishing, the digital assistant 120 can be used for dialogue interaction with the user 135. The client of the assistant creation platform 110 can present an interactive window 132 of the digital assistant 120, such as a conversation window, in the client interface. As an intelligent assistant, the digital assistant 120 has intelligent dialogue and information processing capabilities. The user 140 can enter a conversation message in the conversation window, and the digital assistant 120 can determine the reply message based on the created configuration information and present it to the user in the interaction window 132. In some embodiments, depending on the configuration of the digital assistant 120, the interactive message with the digital assistant 120 may include messages in multimodal form, such as text messages (e.g., natural language text), voice messages, image messages, video messages, and the like.
[0039] The assistant creation platform 110 and / or the assistant application platform 130 can run on appropriate electronic devices. The electronic devices here can be any type of device with computing capabilities, including terminal devices or server devices. The terminal device 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, personal communication systems (PCS) devices, personal navigation devices, personal digital assistants (PDAs), audio / video players, digital cameras / camcorders, positioning devices, television receivers, radio broadcast receivers, e-book devices, gaming devices or any combination of the foregoing, including accessories and peripherals of these devices or any combination thereof. The server device can, for example, include a computing system / server, such as a mainframe, an edge computing node, a computing device in a cloud environment, and the like. In some embodiments, the assistant creation platform 110 and / or the assistant application platform 130 can be implemented based on cloud services.
[0040] It should be understood that the structure and functionality of environment 100 are described for exemplary purposes only and do not imply any limitation on the scope of the present disclosure.
[0041] The assistant creation platform 110 can obtain the interaction information between the user 140 and the digital assistant 120 in the conversation window (including conversation messages from the user and reply messages from the digital assistant 120). In some embodiments, the assistant creation platform 110 can use the model to understand the user's conversation messages and determine the next operation to be performed. The assistant creation platform 110 can interact with the model to provide model input to the model and obtain corresponding model output from the model. The model can run locally on the assistant creation platform 110 or on a remote server. In some embodiments, the model can be a machine learning model, a deep learning model, a learning model, a neural network, etc. In some embodiments, the model can be based on a language model (LM), especially a large language model (LLM). The language model can have question-and-answer capabilities by learning from a large amount of corpus. The model can also be based on other appropriate models.
[0042] As briefly mentioned above, digital assistants can usually provide feedback on the user's input in real time. That is, digital assistants rely on real-time interaction with users, and they cannot handle tasks that need to be performed when specific events occur. For example, a user may want the digital assistant to automatically reply "received" in response to determining that a new email has been received in a specified mailbox, and so on. However, existing digital assistants do not support being triggered by specific events, which greatly limits the functions and application areas of digital assistants. At this point, it is expected that complex tasks triggered by specific events can be handled in a more flexible and effective way.
[0043] Summary of Creating a Digital Assistant
[0044] In order to at least partially address the deficiencies in the prior art, according to an exemplary implementation of the present disclosure, an improved scheme for creating a digital assistant is proposed. According to the scheme, a setting area is presented in the creation page of the digital assistant. The setting area is used to set the trigger of the digital assistant. The trigger specifies the event source for receiving the trigger event and the action corresponding to the trigger event, and the trigger event is an event from an application other than the digital assistant. In response to receiving a setting request for the setting area, the trigger is set based on the setting request. The digital assistant is created based on the trigger so that the created digital assistant performs an action in response to receiving the trigger event.
[0045] In this way, in the embodiments of the present disclosure, triggers for digital assistants can be configured, and digital assistants with trigger functions can be created so that the created digital assistants can perform actions in response to trigger events. This helps to improve the applicability and flexibility of digital assistants and supports digital assistants in handling more complex tasks. Various example implementations of this solution are described in detail below in conjunction with the accompanying drawings.
[0046] The detailed process of creating a digital assistant
[0047] Figure 2 shows a schematic diagram of an example 200 of creating and applying a digital assistant according to some embodiments of the present disclosure. In an embodiment of the present disclosure, as shown in the upper part of Figure 2, the assistant creation platform 110 presents a setting area in the creation page of the digital assistant (e.g., digital assistant 120), and the setting area is used to set the trigger (Trigger) 210 of the digital assistant. The trigger 210 specifies the event source 211 for receiving the trigger event (which may include an event source customized by the user 105 (e.g., a webhook notification), an event template provided by the assistant creation platform 110 (e.g., a reference event source, etc.), etc.) and the action 212 corresponding to the trigger event (the type of action may include, for example, a query type, a plug-in type, a workflow type, etc.), and the trigger event is an event from an application other than the digital assistant. The assistant creation platform 110 can receive a setting request for the setting area from the user 105 via the setting area.
[0048] The lower portion of FIG2 shows the application process after the digital assistant is released. The assistant application platform 130 can provide guidance information 240 about the digital assistant to the user 135. The guidance information 240 can be used to indicate the functions and uses of the digital assistant. Then, the digital assistant can perform an action 250 according to the configuration.
[0049] More details of creating a digital assistant are described with reference to Figure 3, which shows a schematic diagram of an example page 300 (also referred to as example 300) according to some embodiments of the present disclosure. Example 300 includes an area 310 for setting event tasks, which is also a setting area for setting trigger 210. At least one event task that has been created (for example, Task D to Task E shown in the figure) can be presented in area 310. Each event task can correspond to a triggering event (in this article, event tasks and triggering events can be used interchangeably), that is, corresponds to a trigger. In some embodiments, the number of at least one event task should be less than or equal to a predetermined number (for example, any appropriate number such as 5, 10, 15, etc.). When the number of at least one event task that has been created reaches a predetermined number and a request to create a new event task is received again, the assistant creation platform 110 can present a prompt message of "Create up to XX tasks".
[0050] Area 310 includes controls 320, and the assistant creation platform 110 can present a creation page for an event task in response to receiving a user operation on the control 320. Area 310 includes a sub-area 330 for presenting multiple operation controls for each event task. The assistant creation platform 110 can perform corresponding actions in response to receiving a user operation on a target operation control in the sub-area 330, such as sharing a task, copying a task, or deleting a task. In some embodiments, the assistant creation platform 110 can also present an edit page for the event task in response to receiving a selection operation on a created event task in area 310. The assistant creation platform 110 can receive an edit request for an event task from the user 105 via this edit page.
[0051] The area above area 310 shows a page for setting scheduled tasks, where users can set scheduled tasks A, B, and C to be triggered at a certain time. For example, you can specify an alarm task for 8 a.m., or a task for obtaining a weather forecast at 9 a.m., and so on.
[0052] FIG4 shows a schematic diagram of an example page 400 (also referred to as example 400) according to other embodiments of the present disclosure. Example 400, for example, shows an example of a creation page for an event task, and / or an example of an edit page for an event task. Example 400 includes a cancel control 401, and the assistant creation platform 110 can also cancel the presentation of example 400 in response to receiving a user operation on the cancel control 401 (the assistant creation platform 110 can, for example, return to presenting example 300).
[0053] Example 400 also includes a selection control 410 for setting the type of event task. The type of event task (i.e., the type of triggering event) may include, for example, an instant messaging type, and / or an application event type. Here, the instant messaging type may, for example, represent a way of transmitting information between applications in real time, such as a "Webhook" method. The assistant creation platform 110 may present a window 412 in response to receiving a user operation on the selection control 410. Window 412 may present options corresponding to the instant messaging type and the application event type, for example, the option "Webhook" may correspond to the instant messaging type, and the option "Mailbox" may correspond to the application event type. It should be understood that "Mailbox" is merely a specific example of an application corresponding to the application event type. Alternatively and / or additionally, events from other applications may also be received. For example, new messages from instant messaging applications may be received, new notifications from shopping applications may be received, and so on.
[0054] If the option "Webhook" is selected, the assistant creation platform 110 may determine that the type of the trigger event is an instant message type and present an input box 420. The assistant creation platform 110 may receive a configuration for the trigger event (e.g., an event source) via the input box 420. In some embodiments, the assistant creation platform 110 may generate a trigger event based on the digital assistant and the message data from the event source.
[0055] Exemplarily, the assistant creation platform 110 can generate a Webhook URL based on the identification of the digital assistant (e.g., the ID of the digital assistant) and the message data from the event source. Alternatively or additionally, the assistant creation platform 110 can also generate a Webhook URL based on the identification of the user 105 (e.g., the user ID of the user 105), the identification of the digital assistant (e.g., the ID of the digital assistant), and the message data from the event source. In this way, the uniqueness of the Webhook URL can be guaranteed to avoid confusion. The assistant creation platform 110 can also present an input box 430. The assistant creation platform 110 can receive authentication information (which can also be understood as a password) for receiving message data via the event source via the input box 430. Further, the created digital assistant can receive message data when the authentication information matches the event source.
[0056] If the option "Mailbox" is selected, the assistant creation platform 110 can determine that the type of the trigger event is an application event type. The assistant creation platform 110 can also present an input box for receiving authentication information. The assistant creation platform can receive authentication information for logging into the application via the input box. The digital assistant can use the authentication information to log into the application in order to receive message data, and generate a trigger event based on the message data. For example, the user can set a token in the assistant creation platform so that the digital assistant can use the token to obtain the corresponding notification message.
[0057] In some embodiments, the assistant creation platform 110 may also specify a validity period for the authentication information. For example, the assistant creation platform 110 may specify that the validity period for the authentication information is 30 days (or other lengths of time). After the digital assistant is released, in response to determining that the use of the authentication information meets the validity period (for example, in response to the fact that the interval between the current date and the date when the authentication information was last obtained is less than 30 days), the digital assistant may obtain a trigger event. In response to determining that the use of the authentication information does not meet the validity period (for example, in response to the fact that the interval between the current date and the date when the authentication information was last obtained is less than 30 days), an input control for inputting the authentication information may be presented to the user of the application digital assistant (for example, user 135), and the authentication information received via the input control may be used to log in to the application in order to obtain a trigger event.
[0058] Continuing with the option "Webhook" as an example, the assistant creation platform 110 can also present area 440, for example. The assistant creation platform 110 can receive a configuration for the format of the message data from the event source via area 440. For example, the assistant creation platform 110 can receive the JSON format followed by the message data via area 440, and the triggering event will perform subsequent actions based on the format message. In some embodiments, example 400 also includes a control 450, and the assistant creation platform 110 can present a configuration page for the action in response to the control 450 being triggered. The type of action can include, for example, a query type, a plug-in type, and a workflow type. The assistant creation platform 110 can receive a setting request for the action from the user 105 via the configuration page of the action. The assistant creation platform 110 can determine the type of action based on the setting request, and set an action that matches the type of action based on the setting request.
[0059] Exemplarily, the assistant creation platform 110 may present examples 500A to 500C shown in Figures 5A to 5C in response to receiving a user operation on the control 450. Figures 5A to 5C show schematic diagrams of example configuration pages (i.e., examples 500A to 500C) for actions according to some embodiments of the present disclosure. The configuration page includes three options, corresponding to the three types of query type, plug-in type, and workflow type. If the type of action indicates a query type, the assistant creation platform 110 may present example 500A. In example 500A, the option "query" is in a selected state. The query type may, for example, represent an action performed by calling the query function of the digital assistant, that is, generating a prompt word based on the received message data, so that the digital assistant outputs a response to the prompt word.
[0060] Example 500A includes an input box 510. The assistant creation platform 110 can receive settings for a prompt word template via the input box 510. When it is determined that the type of action indicates a query type, message data can be extracted from the triggering event, and query prompt words can be generated based on the message data and the prompt word template (i.e., the prompt word template received via the input box 510), so that the created digital assistant performs the corresponding action based on the query prompt word. The prompt word can be, for example, a model input for interacting with a model (e.g., a language model), which is used to guide the model to give a corresponding model output based on the learned knowledge.
[0061] If the type of action indicates a plug-in type, the assistant creation platform 110 may present example 500B. In example 500B, the option "plug-in" is in a selected state. Example 500B includes area 520. The assistant creation platform 110 may receive a setting request from the user 105 via area 520, and select a plug-in to be integrated in the digital assistant based on the received setting request. In the case where it is determined that the type of action indicates a plug-in type, message data may be extracted from the triggering event so that the created digital assistant calls the plug-in to perform the corresponding action based on the message data.
[0062] It should be understood that the plug-ins herein are a variety of plug-ins that can be integrated into a digital assistant. For example, a search plug-in can be provided by a search application and / or a search webpage, and can be called to execute the search task specified by the message data. For another example, a ticket booking plug-in can be provided by a ticket booking application and / or a ticket booking webpage, and can be called to execute the ticket booking task specified by the message data, and so on.
[0063] If the type of action indicates a workflow type, the assistant creation platform 110 can present example 500C. In example 500C, the option "Workflow" is selected. Example 500C includes area 530. The assistant creation platform 110 can receive a setting request from the user 105 via area 530, and select a workflow integrated in the digital assistant based on the received setting request (which may include a customized workflow, such as a workflow corresponding to an automatic reply email).
[0064] It should be understood that the workflow herein refers to a sequence of multiple predetermined nodes to be integrated into the digital assistant. Users can define the specific configuration of each node in the workflow and the data flow relationship between each node to complete more complex tasks. In the case where the type of action is determined to indicate the workflow type, message data can be extracted from the triggering event so that the created digital assistant calls the workflow to perform the corresponding action based on the message data.
[0065] In some embodiments, the assistant creation platform 110 may also present an example 600 as shown in FIG6 in response to the action type being set. Example 600 includes a control 610. In response to receiving a user operation to create the control 610, the assistant creation platform 110 may create an event task (i.e., create a trigger) based on the above setting request.
[0066] Assuming that control 610 is set, the terminal user (i.e., user 135) is allowed to start / stop event tasks in the conversational page. For example, if user 135 wishes to stop event task "AAA" (execute the auto-answer email task), they can enter "Please turn off event task AAA" in the conversational page. In this case, the auto-answer email task will be turned off, and no automatic responses will be provided for new emails received. User 135 can enter "Please start event task AAA" in the conversational page, and the auto-answer email task will be started. Assuming that control 610 is not set, the terminal user is not allowed to start / stop event tasks in the conversational page.
[0067] In some embodiments, the assistant creation platform 110 can store a trigger in response to receiving a user interaction. If the trigger is shared with other users, other users can also load the trigger in another creation page of another digital assistant. Another digital assistant can be created based on the trigger so that the created other digital assistant performs an action in response to detecting a trigger event. In this way, the sharing of triggers can be achieved, and a trigger created by one user can be shared with other users for use, that is, a trigger can be shared by multiple digital assistants, thereby improving the applicability and flexibility of the trigger.
[0068] Returning to Figure 2, after the trigger is created, the assistant creation platform 110 can also perform a test 220 on the digital assistant in response to receiving a test request for testing the digital assistant, and the user 105 can publish 230 the digital assistant after passing the test. The assistant creation platform 110 can obtain a trigger event for simulating an event source (for example, assuming that a Webhook-URL is received, or an email is received). The assistant creation platform 110 can provide the execution result of the digital assistant performing the action (for example, it can include normal execution and the occurrence of an exception). The execution result can be provided, for example, in the conversational page of the digital assistant. In some embodiments, to avoid frequently receiving the execution results corresponding to different trigger events, the assistant creation platform 110 can also switch the working state of the trigger in response to receiving a switching request in the conversational page. For example, the assistant creation platform 110 can switch the XX trigger from an enabled state to a disabled state in response to receiving a session "Close XX trigger" in the conversational page.
[0069] After the digital assistant is created, the created digital assistant can detect a trigger event, and in response to detecting the trigger event, the created digital assistant can perform an action corresponding to the trigger event based on its own configuration. Creation can include various forms. For example, a digital assistant can be created during the testing phase, and the digital assistant can be used by user 105 in the assistant creation platform 110. For another example, after the digital assistant that calls the trigger is tested, it can be published to the assistant application platform 130. At this point, the created digital assistant can be used by more users (for example, multiple users 135).
[0070] After the digital assistant is released, the assistant application platform 130 can provide user 135 with guidance information about the digital assistant. This guidance information can be used to indicate the functions and uses of the digital assistant. Specifically, assuming that the digital assistant includes a trigger for executing an automatic email reply task, the digital assistant can use specified authentication information (e.g., an email account and password) to log in to the email server. If a new email is received in the email account, the digital assistant can automatically reply to the new email, and so on.
[0071] In summary, according to the embodiments of the present disclosure, triggers for digital assistants can be configured. In this case, the digital assistant can perform actions based on triggering events, thereby enabling the digital assistant to perform corresponding actions based on events from other applications. This helps improve the applicability and flexibility of the digital assistant and enables the digital assistant to collaborate with other applications to perform more complex tasks.
[0072] Example Process
[0073] FIG7 shows a flowchart of a process 700 for creating a digital assistant according to some embodiments of the present disclosure. The process 700 can be implemented at the assistant creation platform 110. The process 700 is described below with reference to FIG1.
[0074] As shown in FIG7 , at block 710, a setting area is presented in the creation page of the digital assistant. The setting area is used to set the trigger of the digital assistant. The trigger specifies the event source for receiving the trigger event and the action corresponding to the trigger event. The trigger event is an event from an application other than the digital assistant. At block 720, in response to receiving a setting request for the setting area, the trigger is set based on the setting request. At block 730, the digital assistant is created based on the trigger so that the created digital assistant performs an action in response to receiving the trigger event.
[0075] In some embodiments, the type of triggering event includes an instant message type, and setting the trigger based on the setting request includes generating a triggering event based on the digital assistant and message data from the event source.
[0076] In some embodiments, generating the trigger event further comprises: setting authentication information for receiving message data via the event source.
[0077] In some embodiments, the type of trigger event includes an application event type, and setting the trigger based on the setting request includes: setting authentication information for logging into the application; using the authentication information to log into the application to receive message data; and generating a trigger event based on the message data.
[0078] In some embodiments, setting the authentication information further includes: specifying a validity period of the authentication information.
[0079] In some embodiments, setting the trigger based on the setting request includes: determining a type of action based on the setting request; and setting an action that matches the type of action based on the setting request.
[0080] In some embodiments, the process 700 further includes: extracting message data from the triggering event in response to determining that the type of action indicates a query type; and generating query prompt words based on the message data and the prompt word template so that the created digital assistant performs the action based on the query prompt words.
[0081] In some embodiments, the process 700 further includes: in response to determining the type of action indicating the plug-in type, selecting a plug-in integrated by the digital assistant based on the setting request; and extracting message data from the triggering event so that the created digital assistant calls the plug-in to perform the action based on the message data.
[0082] In some embodiments, the process 700 further includes: in response to determining that the type of action indicates a workflow type, selecting a workflow integrated by the digital assistant based on a setting request; and extracting message data from the triggering event so that the created digital assistant calls the workflow to perform the action based on the message data.
[0083] In some embodiments, the process 700 further includes: in response to receiving a test request for testing the digital assistant, obtaining a trigger event for simulating an event source; and providing an execution result of the action performed by the digital assistant.
[0084] In some embodiments, the process 700 digital assistant provides the execution result in a conversational page, and the process 700 further includes: switching the working state of the trigger in response to receiving a switching request in the conversational page.
[0085] In some embodiments, the process 700 further includes: detecting, by the created digital assistant, a triggering event; and performing, by the created digital assistant, an action in response to detecting the triggering event.
[0086] In some embodiments, detecting a trigger event includes at least any one of the following: in response to determining that the use of the authentication information satisfies the validity period, obtaining a trigger event by the digital assistant; and in response to determining that the use of the authentication information does not satisfy the validity period, presenting an input control for inputting the authentication information; and logging into the application using the authentication information received via the input control to obtain the trigger event.
[0087] In some embodiments, the process 700 further includes: storing the trigger in response to receiving a user interaction; loading the trigger in another creation page of another digital assistant; and creating another digital assistant based on the trigger so that the created another digital assistant performs an action in response to detecting a trigger event.
[0088] Example devices and equipment
[0089] Embodiments of the present disclosure also provide corresponding devices for implementing the above methods or processes. Figure 8 shows a schematic structural block diagram of an apparatus 800 for creating a digital assistant according to some embodiments of the present disclosure. The apparatus 800 can be included in the assistant creation platform 110 in Figure 1, for example. The various modules / components in the apparatus 800 can be implemented by hardware, software, firmware, or any combination thereof.
[0090] As shown in the figure, the device 800 includes a setting area presentation module 810, which is configured to present a setting area in the creation page of the digital assistant. The setting area is used to set the trigger of the digital assistant. The trigger specifies the event source for receiving the trigger event and the action corresponding to the trigger event. The trigger event is an event from an application other than the digital assistant. The device 800 also includes a trigger setting module 820, which is configured to set the trigger based on the setting request in response to receiving a setting request for the setting area. The device 800 also includes a digital assistant publishing module 830, which is configured to create a digital assistant based on the trigger, so that the created digital assistant performs an action in response to receiving the trigger event.
[0091] In some embodiments, the type of trigger event includes an instant message type, and the trigger setting module is further configured to: generate a trigger event based on the digital assistant and the message data from the event source.
[0092] In some embodiments, the trigger setting module is further configured to: set authentication information for receiving message data via the event source.
[0093] In some embodiments, the type of trigger event includes an application event type, and the trigger setting module is further configured to: set authentication information for logging into the application; use the authentication information to log into the application to receive message data; and generate a trigger event based on the message data.
[0094] In some embodiments, the trigger setting module is further configured to: specify a validity period of the authentication information.
[0095] In some embodiments, the trigger setting module is further configured to: determine a type of action based on the setting request; and set an action matching the type of action based on the setting request.
[0096] In some embodiments, the device further includes: an extraction module configured to extract message data from a triggering event in response to determining a query type indicating the type of action; and a generation module configured to generate query prompt words based on the message data and the prompt word template, so that the created digital assistant performs the action based on the query prompt words.
[0097] In some embodiments, the device further includes: a plug-in selection module, configured to indicate a plug-in type in response to determining the type of action, and select a plug-in integrated by the digital assistant based on a setting request; and a plug-in calling module, configured to extract message data from the triggering event so that the created digital assistant calls the plug-in to perform the action based on the message data.
[0098] In some embodiments, the device further includes: a workflow selection module, configured to indicate a workflow type in response to determining the type of action, and select a workflow integrated by the digital assistant based on a setting request; and a workflow calling module, configured to extract message data from the triggering event so that the created digital assistant calls the workflow to perform the action based on the message data.
[0099] In some embodiments, the device further includes: an acquisition module configured to acquire a trigger event for simulating an event source in response to receiving a test request for testing the digital assistant; and a providing module configured to provide an execution result of the action performed by the digital assistant.
[0100] In some embodiments, the digital assistant provides the execution result in a conversational page, and the device further includes: a switching module configured to switch the working state of the trigger in response to receiving a switching request in the conversational page.
[0101] In some embodiments, the device further includes: a detection module configured to detect a triggering event by the created digital assistant; and an execution module configured to execute an action by the created digital assistant in response to detecting the triggering event.
[0102] In some embodiments, the detection module is further configured to: in response to determining that the use of the authentication information meets the validity period, the digital assistant obtains a trigger event.
[0103] In some embodiments, the detection module is further configured to: in response to determining that the use of the authentication information does not meet the validity period, present an input control for inputting the authentication information; and log in to the application using the authentication information received via the input control to obtain the trigger event.
[0104] In some embodiments, the device further includes: a storage module configured to store a trigger in response to receiving a user interaction; a loading module configured to load the trigger in another creation page of another digital assistant; and a creation module configured to create another digital assistant based on the trigger so that the created another digital assistant performs an action in response to detecting a trigger event.
[0105] The units and / or modules included in the device 800 can be implemented in various ways, including software, hardware, firmware, or any combination thereof. In some embodiments, one or more units and / or modules can be implemented using software and / or firmware, such as machine executable instructions stored on a storage medium. In addition to or as an alternative to machine executable instructions, some or all of the units and / or modules in the device 800 can be implemented at least in part by one or more hardware logic components. By way of example and not limitation, exemplary types of hardware logic components that can be used include field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chip (SOCs), complex programmable logic devices (CPLDs), and the like.
[0106] It should be understood that one or more steps in the above method can be performed by an appropriate electronic device or combination of electronic devices. Such an electronic device or combination of electronic devices may include, for example, the assistant creation platform 110 and / or the assistant application platform 130 in FIG. 1 .
[0107] FIG9 shows a block diagram of an electronic device 900 in which one or more embodiments of the present disclosure may be implemented. It should be understood that the electronic device 900 shown in FIG9 is merely exemplary and should not be construed as limiting the functionality and scope of the embodiments described herein. The electronic device 900 shown in FIG9 can be used to implement the assistant creation platform 110, the assistant application platform 130 of FIG1 , and / or the apparatus 800 of FIG8 .
[0108] As shown in FIG9 , electronic device 900 is a general-purpose electronic device. Components of electronic device 900 may include, but are not limited to, one or more processors or processing units 910, memory 920, storage device 930, one or more communication units 940, one or more input devices 950, and one or more output devices 960. Processing unit 910 may be a real or virtual processor and is capable of performing various processes according to programs stored in memory 920. In a multi-processor system, multiple processing units execute computer-executable instructions in parallel to enhance the parallel processing capabilities of electronic device 900.
[0109] The electronic device 900 typically includes a plurality of computer storage media. Such media can be any accessible media that the electronic device 900 can access, including but not limited to volatile and non-volatile media, removable and non-removable media. The memory 920 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 930 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 900.
[0110] The electronic device 900 may further include additional removable / non-removable, volatile / non-volatile storage media. Although not shown in FIG. 9 , a disk drive for reading or writing from a removable, non-volatile disk (e.g., a “floppy disk”) and an optical drive for reading or writing from 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 920 may include a computer program product 925 having one or more program modules configured to perform various methods or actions of various embodiments of the present disclosure.
[0111] The communication unit 940 enables communication with other electronic devices via a communication medium. Additionally, the functions of the components of the electronic device 900 can be implemented as a single computing cluster or multiple computing machines that can communicate via a communication connection. Thus, the electronic device 900 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.
[0112] The input device 950 may be one or more input devices, such as a mouse, keyboard, or trackball. The output device 960 may be one or more output devices, such as a display, a speaker, or a printer. The electronic device 900 may also communicate with one or more external devices (not shown) through the communication unit 940 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 the electronic device 900, or with any device that allows the electronic device 900 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).
[0113] 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.
[0114] 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.
[0115] 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.
[0116] 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.
[0117] 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.
[0118] 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 a digital assistant, comprising: Presenting a settings area on the creation page of the digital assistant, the settings area being used to set a trigger for the digital assistant, the trigger specifying an event source for receiving a trigger event and an action corresponding to the trigger event, the trigger event being an event from an application other than the digital assistant; in response to receiving a setting request for the setting area, setting the trigger based on the setting request; as well as The digital assistant is created based on the trigger, so that the created digital assistant performs the action in response to receiving the trigger event.
2. The method according to claim 1, wherein the type of the triggering event comprises an instant message type, and setting the trigger based on the setting request comprises: The trigger event is generated based on the digital assistant and the message data from the event source.
3. The method of claim 2, wherein generating the trigger event further comprises: Authentication information for receiving the message data via the event source is set.
4. The method of claim 1 , wherein the type of the trigger event comprises an application event type, and setting the trigger based on the setting request comprises: Setting authentication information for logging into the application; Using the authentication information to log in to the application to receive message data; as well as The trigger event is generated based on the message data.
5. The method according to claim 4, wherein setting the authentication information further comprises: Specifies the validity period of the authentication information.
6. The method of claim 1 , wherein setting the trigger based on the setting request comprises: determining a type of the action based on the setup request; as well as An action matching the type of the action is set based on the setting request.
7. The method according to claim 6, further comprising: extracting message data from the triggering event in response to determining that the type of the action indicates a query type; as well as A query prompt word is generated based on the message data and the prompt word template, so that the created digital assistant performs the action based on the query prompt word.
8. The method according to claim 6, further comprising: In response to determining that the type of the action indicates a plug-in type, selecting a plug-in to be integrated by the digital assistant based on the setup request; as well as Message data is extracted from the trigger event so that the created digital assistant calls the plug-in to perform the action based on the message data.
9. The method according to claim 6, further comprising: In response to determining that the type of the action indicates a workflow type, selecting a workflow to be integrated by the digital assistant based on the setup request; as well as Message data is extracted from the trigger event so that the created digital assistant calls the workflow to perform the action based on the message data.
10. The method according to claim 1, further comprising: In response to receiving a test request for testing the digital assistant, obtaining a trigger event for simulating the trigger event from the event source; as well as Provide the execution result of the digital assistant performing the action.
11. The method according to claim 10, wherein the digital assistant provides the execution result in a conversational page, and the method further comprises: In response to receiving a switching request in the conversational page, the working state of the trigger is switched.
12. The method according to claim 5, further comprising: detecting the trigger event by the created digital assistant; as well as In response to detecting the triggering event, the action is performed by the created digital assistant.
13. The method according to claim 12, wherein detecting the triggering event comprises at least any one of the following: In response to determining that the use of the authentication information satisfies the validity period, obtaining, by the digital assistant, the trigger event; as well as In response to determining that the use of the authentication information does not satisfy the validity period, presenting an input control for inputting the authentication information; as well as The application is logged in using the authentication information received via the input control to obtain the trigger event.
14. The method according to claim 1, further comprising: In response to receiving the user interaction, storing the trigger; In another creation page of another digital assistant, loading the trigger; as well as Another digital assistant is created based on the trigger so that the created another digital assistant performs the action in response to detecting the trigger event.
15. An apparatus for creating a digital assistant, comprising: a setting area presentation module configured to present a setting area in a creation page of the digital assistant, wherein the setting area is used to set a trigger for the digital assistant, wherein the trigger specifies an event source for receiving a trigger event and an action corresponding to the trigger event, wherein the trigger event is an event from an application other than the digital assistant; a trigger setting module configured to, in response to receiving a setting request for the setting area, set the trigger based on the setting request; as well as The digital assistant creation module is configured to create the digital assistant based on the trigger, so that the created digital assistant performs the action in response to receiving the trigger event.
16. An electronic device comprising: at least one processing unit; as well as At least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions causing the electronic device to perform the method according to any one of claims 1 to 14 when executed by the at least one processing unit.
17. A computer-readable storage medium having a computer program stored thereon, wherein the computer program can be executed by a processor to implement the method according to any one of claims 1 to 14.
18. A computer program product comprising a computer program, wherein the computer program implements the method according to any one of claims 1 to 14 when executed by a processor.
Citation Information
Patent Citations
Method and device for creating digital assistant, equipment and medium
CN120743397A
Techniques to automate bot creation for web pages
CN110785970A
Techniques to customize bot messaging behavior
US10608966B1
Providing a sequence-builder-user interface for generating a digital action sequence
US20230121261A1