Application production method and apparatus, device, and storage medium
The application creation method simplifies the development process by selecting and configuring model call function blocks, reducing complexity and improving stability, enabling easier and faster application development.
Patent Information
- Application Number
- JP2025135214
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-08-14
- Filing Date
- 2025-08-14
- Publication Date
- 2026-02-27
AI Technical Summary
Developers face challenges in creating applications quickly and easily due to the need for advanced software development skills and deep understanding of machine learning models, leading to increased development complexity and time.
An application creation method and apparatus that involves selecting a model call function block, presenting a configuration interface, receiving configuration information, and creating an application based on a workflow of processing nodes, utilizing a model call function block to simplify the development process.
Reduces the difficulty of developing applications with model calling capabilities and improves the stability of model output by visualizing the configuration process, allowing non-expert developers to create applications more efficiently.
Smart Images

Figure 2026034435000001_ABST
Abstract
Description
[Technical Field]
[0001] FIELD OF THE DISCLOSURE Exemplary embodiments of the present disclosure relate generally to the field of computers, and more particularly to application creation methods, apparatus, devices, and computer-readable storage media. [Background technology]
[0002] With the development of information technology, various terminal devices can provide people with various services in areas such as work and life. Applications that provide the services can be deployed on terminal devices. The terminal devices present corresponding content through the application's user interface, interact with users, and satisfy various user needs. In some situations, developers may want to develop applications easily and quickly. Therefore, how to reduce the difficulty of application development has become a hot topic. Summary of the Invention
[0003] In a first aspect of the present disclosure, there is provided an application creation method, the method including: for a model call node of a plurality of processing nodes of a target application to be created, selecting a model call function block from a plurality of function blocks for the model call node to call a target model, presenting a configuration interface of the model call function block in response to a configuration request for the model call function block, receiving configuration information for the model call function block via the configuration interface, and creating the target application based on the configuration information and a workflow consisting of the plurality of processing nodes.
[0004] In a second aspect of the present disclosure, an application creation apparatus is provided, comprising: a selection module configured to select, for a model call node among a plurality of processing nodes of a target application to be created, a model call function block for the model call node to call a target model from a plurality of function blocks, a presentation module configured to present a configuration interface of the model call function block in response to a configuration request for the model call function block, a reception module configured to receive configuration information for the model call function block via the configuration interface, and a creation module configured to create the target application based on the configuration information and a workflow consisting of a plurality of processing nodes.
[0005] In a third aspect of the present disclosure, there is provided an electronic device comprising: at least one processing unit; and at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the electronic device to perform the method of the first aspect.
[0006] In a fourth aspect of the present disclosure, there is provided a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements the method of the first aspect.
[0007] In a fifth aspect of the present disclosure, there is provided a computer program product comprising a computer program which, when executed by a processor, implements the method of the first aspect of the present disclosure.
[0008] It should be understood that the contents described in this section are not intended to limit the main or important features of the embodiments of the present disclosure, nor do they limit the scope of the present disclosure. Other features of the present disclosure will be easily understood from the following description. [Brief explanation of the drawings]
[0009] These and other features, advantages, and aspects of the embodiments of the present disclosure will become more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which like or similar reference numerals indicate like or similar elements. [Figure 1] 1 shows a schematic diagram of an exemplary environment in which embodiments of the present disclosure may be implemented. [Figure 2] 1 illustrates a flowchart of a process for creating an application according to some embodiments of the present disclosure. [Figure 3A] 1A-1C each illustrate a schematic diagram of an example application creation interface according to some embodiments of the present disclosure. [Figure 3B] 1A-1C each illustrate a schematic diagram of an example application creation interface according to some embodiments of the present disclosure. [Figure 3C] 1A-1C each illustrate a schematic diagram of an example application creation interface according to some embodiments of the present disclosure. [Figure 3D] 1A-1C each illustrate a schematic diagram of an example application creation interface according to some embodiments of the present disclosure. [Figure 4] 10 illustrates a flowchart of a process for generating a data query instruction according to some embodiments of the present disclosure. [Figure 5] 1 illustrates a flowchart of a process for data processing according to some embodiments of the present disclosure. [Figure 6] FIG. 1 shows a schematic structural block diagram of an application creation device according to some embodiments of the present disclosure. [Figure 7] FIG. 1 shows a block diagram of an electronic device in which one or more embodiments of the present disclosure may be implemented. DETAILED DESCRIPTION OF THE INVENTION
[0010] Hereinafter, embodiments of the present disclosure will be described in more detail with reference to the accompanying drawings. Although the accompanying drawings show several embodiments of the present disclosure, it should be understood that the present disclosure can be realized in various forms and should not be construed as being limited to the embodiments described herein, but rather these embodiments are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the accompanying drawings and embodiments of the present disclosure are merely intended to serve as examples and are not intended to limit the scope of protection of the present disclosure.
[0011] In describing embodiments of the present disclosure, the term "comprises" and similar terms should be understood as an 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 "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.
[0012] In this specification, unless expressly stated, performing a step "in response to A" does not mean performing this step immediately after "A", but may include one or more intermediate steps.
[0013] It is understood that the data related to this technical solution (including but not limited to the data itself, the acquisition, use, storage and deletion of data) shall comply with the requirements of corresponding laws and regulations.
[0014] Before using the technical solutions disclosed in each embodiment of this disclosure, relevant users should be notified of the type, scope of use, usage scenario, etc. of the information involved in this disclosure by appropriate means in accordance with relevant laws and regulations, and their approval should be obtained. It should be understood that relevant users may include any type of rights entity, such as individuals, companies, and organizations.
[0015] For example, in response to receiving an unsolicited request from a user, by sending prompt information to the associated user that explicitly prompts the associated user that the requested action requires access to and use of the associated user's information, the associated user can autonomously choose whether to provide information to software or hardware, such as an electronic device, application, server, or storage medium, that performs the operations of the technical proposal of the present disclosure, based on the prompt information.
[0016] As an optional, non-limiting example, the manner in which prompt information is sent to an associated user in response to receiving an unsolicited request from the associated user may be, for example, via a pop-up window in which the prompt information may be presented in text, and the pop-up window may further include a selection control for the user to select "agree" or "disagree" to provide the information to the electronic device.
[0017] It should be understood that the above notification and user authorization process is merely exemplary and does not limit the embodiments of the present disclosure, and other methods that comply with relevant laws and regulations may also be applied to the embodiments of the present disclosure. The activation of related functions of the digital assistant in the embodiments of the present disclosure, the acquired data, the data processing and storage method, etc., all require prior authorization from the user and other rights entities related to the user, and comply with relevant laws and regulations and contractual rules between the rights entities.
[0018] As used herein, the term "model" refers to a model that can learn correlations between corresponding inputs and outputs from training data and generate corresponding outputs for a given input after training is complete. Model generation can be based on machine learning techniques. Deep learning is a machine learning algorithm that uses multiple layers of processing units to process inputs and provide corresponding outputs. A neural network model is an example of a model based on deep learning. As used herein, a "model" may also be referred to as a "machine learning model," a "learning model," a "machine learning network," or a "learning network," and these terms are used interchangeably herein.
[0019] 1 shows a schematic diagram of an example environment 100 in which embodiments of the present disclosure may be implemented. Environment 100 relates to an application management platform 110 that may support application creation and / or application operation. In some embodiments, the portion of application management platform 110 that supports application creation may also be referred to as application creation portion 111. In some embodiments, the portion of application management platform 110 that supports application operation may also be referred to as application operation portion 112.
[0020] As shown in FIG. 1 , the application creation portion 111 can provide a user 105 with an application creation and release environment. The user 105 may be referred to as an application creation user or creator. In some embodiments, the application creation portion 111 can be a low-code platform that provides a collection of tools for application creation. The application creation portion 111 can support visual development of various types of applications, allowing developers to skip the process of manual coding and speed up application development cycles and costs. The application creation portion 111 can support any suitable platform (e.g., an aPaaS (Application Platform as a Service)-based platform) that supports users in developing one or more types of applications. Such a platform can support users in efficiently developing applications and enable operations such as application creation and application functionality adjustment.
[0021] The application creation portion 111 may be deployed locally on the terminal device of the user 105 and / or supported by a server-side device. For example, the terminal device of the user 105 may run a client of the application creation portion 111, which may support user interaction with the application creation portion 111 provided by a server. When the application creation portion 111 runs locally on the user's terminal device, the user 105 may directly use the terminal device to interact with the local application creation portion 111. When the application creation portion 111 runs on a server-side device, the server-side device may provide services to the client running in the terminal device based on a communication connection with the terminal device. The application creation portion 111 may present a corresponding interface 130 to the user 105 based on the user's operation to output and / or receive information related to application creation to and from the user 105.
[0022] In some embodiments, application creation portion 111 may be associated with a corresponding database that stores data or information required for the application creation process supported by application creation portion 111. For example, the database may store code and description information corresponding to individual functional modules for configuring an application. Application creation portion 111 may also perform operations, such as calling, adding, deleting, and updating, on the functional modules in the database. The database may also store operations that can be performed on different functional blocks. Exemplarily, in an application creation scenario, application creation portion 111 may call corresponding functional blocks from the database to build the application.
[0023] In an embodiment of the present disclosure, the user 105 can create and release a target application 120 (which may also be referred to as a target application to be created) as needed on the application creation portion 111. The target application 120 can be released to any suitable application operation portion 112 as long as the application operation portion 112 is capable of supporting the operation of the target application 120.
[0024] Once released, the target application 120′ can be acquired. The target application 120′ may be available for operation by one or more end users 145. The end users 145 may operate the target application 120′ and interact with the application management platform 110 via associated terminal devices 146. The end users 145 may be referred to as end users of the target application 120′. In some embodiments, the target application 120′ may include or be implemented as a digital assistant.
[0025] The digital assistant may be configured with intelligent conversation capabilities. The digital assistant may be integrated into the target application 120′ and, as part of the target application 120′, assist in performing task processing within the target application 120′. In other examples, the digital assistant may be configured as an independently operating application, such as a web application or other type of application. In such examples, the digital assistant and the target application 120′ may be considered the same application. The digital assistant is provided to assist users with various task processing needs in different applications and scenarios. During interaction with the digital assistant, the user inputs an interaction message, and the digital assistant provides a reply message in response to the user input. Typically, a digital assistant supports user question input in natural language and can perform tasks and provide replies based on its understanding of the natural language input and logical reasoning capabilities.
[0026] In some embodiments, the digital assistant may interact with the end user 145 as a contact of the end user 145. For example, the digital assistant may be implemented in an instant messaging (IM) application. The digital assistant may interact with the end user 145 in a single chat session with the end user 145. In some embodiments, the digital assistant may interact with multiple users in a group chat session including multiple users.
[0027] For each end user 145, the client of application operation portion 112 may present, in the client interface, an interaction window 142 of target application 120' or digital assistant, for example, a session window with the digital assistant. End user 145 enters a session message in the session window, and target application 120' may determine a reply message from the digital assistant based on the created configuration information and present it to the user in interaction window 142. In some embodiments, depending on the configuration of target application 120', interaction messages with target application 120' may include multimodal messages such as text messages (e.g., natural language text), voice messages, image messages, and video messages.
[0028] Like the application creation portion 111, the application operation portion 112 may be deployed locally on the terminal device of each end user 145 and / or supported by a server-side device. For example, a client of the application operation portion 112 may be running on the terminal device of the end user 145, and this client may support user interaction with the application operation portion 112 provided by the server. When the application operation portion 112 runs locally on the user's terminal device, the end user 145 may directly use the terminal device to interact with the local application operation portion 112. When the application operation portion 112 runs on a server-side device, the server-side device can provide services to the client running in the terminal device based on a communication connection with the terminal device. The application operation portion 112 may present a corresponding application page to the end user 145 based on the end user's 145 operation, in order to output and / or receive information about the use of the application to and from the end user 145.
[0029] In some examples, implementation of at least a portion of the functionality of target application 120' and / or implementation of at least a portion of the functionality of a digital assistant of target application 120' may be implemented based on models. One or more models 155, e.g., capabilities of models 155, may be invoked during creation or operation of target application 120'. In target application 120', a digital assistant may utilize models 155 to understand user input and provide replies to the user based on the output of models 155.
[0030] During development, testing of target application 120 by application management platform 110 may require utilizing model 155 to determine that the operational results of target application 120 are as expected. During operation, in response to different operational requests from a user of target application 120', application operation portion 112 may require utilizing model 155 to determine the resulting response to the user.
[0031] Although shown as being independent of application management platform 110, one or more models 155 may run on application management platform 110 or other remote servers. In some embodiments, model 155 may be a machine learning model, a deep learning model, a learning model, a neural network, or the like. In some embodiments, model 155 may be based on a language model (LM). A language model has question and answer capabilities by learning from a large corpus. Model 155 may also be based on other suitable models.
[0032] The application management platform 110 can run on any suitable electronic device. The electronic device in this specification may be any type of device with computing capabilities, including a terminal device or a server-side device. The terminal device may be any type of mobile, fixed, or portable terminal, including a mobile phone, a desktop computer, a laptop computer, a notebook computer, a netbook computer, a tablet computer, a media computer, a multimedia tablet, a personal communication system (PCS) device, a personal navigation device, a personal digital assistant (PDA), an audio / video player, a digital camera / camcorder, a positioning device, a television receiver, a radio receiver, an e-reader, a game device, or any combination thereof, including accessories and peripherals of these devices, or any combination thereof. The server-side device may include, for example, a computing system / server, such as a mainframe, an edge computing node, or a computing device in a cloud environment. In some embodiments, the management platform 110 may be implemented based on cloud services.
[0033] It should be understood that the structure and functionality of environment 100 are described for illustrative purposes only and are not intended to imply any limitation on the scope of the present disclosure. For example, although a single user interacting with application creation portion 111 and a single user interacting with application operation portion 112 are illustrated, in practice multiple users may access application management platform 110 and individually create digital assistants, and each digital assistant may be used to interact with multiple users.
[0034] As described above, the terminal device may be equipped with an application that provides a service. Conventionally, in order for a developer to develop an application with high stability and availability, the developer is required to have advanced software development skills, and to complete the development of the application, an engineer with specialized software development skills is usually required.
[0035] With the development of machine learning technology, its application in terminal device scenarios is becoming increasingly widespread. Some applications provide services to users by invoking one or more machine learning models during operation. Such applications can to some extent reduce the difficulty of application development and allow more developers to participate in the application development process. For example, some enterprises may develop enterprise-level applications to meet the needs of use in enterprise scenarios.
[0036] While it is possible to reduce the difficulty of application development by using machine learning models, developers still need to have a deep understanding of techniques such as the model's operating principles, prompt engineering, and building function blocks. They then need to repeatedly configure, debug, and evaluate the application to create a highly stable and available application. Therefore, developers want to further reduce the difficulty of application development so that they can develop applications more easily and quickly.
[0037] In view of this, an embodiment of the present disclosure provides an improved solution for creating an application, which includes: selecting, for a model call node among a plurality of processing nodes of a target application to be created, a model call function block for the model call node to call a target model from a plurality of function blocks; presenting a configuration interface for the model call function block in response to a configuration request for the model call function block; receiving configuration information for the model call function block via the configuration interface; and creating the target application based on the configuration information and a workflow consisting of a plurality of processing nodes.
[0038] In this way, it is possible to use engineering techniques to configure the calling method of the target model, visualize the configuration of the calling method of the target model, reduce the difficulty of developing applications with model calling capabilities, and improve the stability of model output.
[0039] Some illustrative embodiments of the present disclosure are described in detail below with reference to the accompanying drawings, examples of which are shown and described below.
[0040] The task management process described in the embodiments of the present disclosure may be implemented in an application management platform, a terminal device on which the application management platform is installed, and / or a server corresponding to the application management platform. For convenience of discussion, the following examples will be described from the perspective of an application management platform, such as the application management platform 110 shown in FIG. 1 . The user interface presented by the application management platform 110 may be presented via a terminal device of the user 145, and the application management platform 110 may receive user input via the terminal device of the user 145. In some embodiments of the present disclosure, the user 145 is an end user of the target application 120. It should be understood that the user interface presented by the application management platform 110 may also be presented via a terminal device of the user 105, and the application management platform 110 may also receive user input via the terminal device of the user 105. In some embodiments of the present disclosure, the user 105 is the creator, administrator, or maintainer of the target application 120.
[0041] 2 shows a flowchart of a process 200 for application creation according to some embodiments of the present disclosure. Process 200 may be implemented in application management platform 110, for example, by application creation portion 111 of application management platform 110. Process 200 shown in FIG. 2 is described below in conjunction with FIG. 1.
[0042] In box 210, the application management platform 110 selects a model invocation function block from a plurality of function blocks for a model invocation node among a plurality of processing nodes of the target application 120 to be created, for the model invocation node to invoke the target model. The target application 120 herein may be any type of application, such as a data analysis application, a text generation application, a human resources management application, a financial application, a performance application, an entertainment application, an electronic office application, etc.
[0043] It should be understood that a processing node in this specification is an execution point, decision point, or task point in the data processing flow, workflow, or business process of an application, and may represent one or more operations, decisions, or tasks corresponding to the processing node. The target application 120 to be created may include multiple processing nodes, such as input nodes, nodes for specific data processing, function call nodes, interface call nodes, model call nodes, record nodes, logic branch nodes, output nodes, etc. It should be understood that the above applications and their processing nodes are exemplary, and that during actual creation of applications, the processing nodes included in different applications may typically not be the same.
[0044] It should be understood that a function block herein is a collection of programs or systems that can be added to an individual processing node to implement the operation, decision, or task represented by that processing node. Examples of function blocks include, but are not limited to, a function block for performing specific data processing, a function block for generating data query instructions, a function block for generating data processing instructions, a function block for analyzing data, a function block for invoking a function, a function block for invoking an interface, a function block for invoking a model, a function block for reading and writing, a function block for making decisions or logical judgments, etc.
[0045] In some embodiments, the application management platform 110 may present an application creation interface in response to receiving a creation request for the target application 120. In response to a configuration operation on the workflow of the target application, the application management platform 110 may present node identifiers corresponding to each of a plurality of processing nodes and connection relationships between the plurality of node identifiers to the application creation interface, thereby representing a workflow consisting of the plurality of processing nodes using the node identifiers and connection relationships. The application creation interface may include one or more interfaces, such as, for example, an application management interface, a flow design interface, a page design interface, a data management interface, and an authority setting interface. The node identifiers may be used to identify the processing nodes and / or functional blocks corresponding to the processing nodes.
[0046] In some embodiments, the application management platform 110 may present a node identifier corresponding to the model call function block in the application creation interface in response to an operation of selecting a model call function block for a model call node. For example, if the model call node has not selected the corresponding model call function block, the node identifier may be presented in a first display state. If the model call node has determined the corresponding model call function block, the node identifier is presented in a second display state.
[0047] To illustrate the creation of processing nodes and the selection of functional blocks for target application 120, the following exemplary description is provided in conjunction with FIGS. 3A-3D. FIGS. 3A-3D show schematic diagrams of example application creation interfaces 300A-300D, respectively, according to some embodiments of the present disclosure. It should be understood that the interfaces shown in the figures are merely examples, and that a variety of actual interface designs may exist. Individual graphical elements within the interfaces may have different arrangements and visual representations, one or more elements may be omitted or substituted, and one or more other elements may also be present. Embodiments of the present disclosure are not limited in this respect.
[0048] To initiate the creation process of the target application 120, the user 105 may set basic information such as an application name, an application description, and an application icon, for example, via an application management interface within the application management platform 110. In response to initiating the creation process of the target application 120, the application management platform 110 presents the interface shown in example 300A, which illustrates an example application creation interface (e.g., a workflow design interface).
[0049] Example 300A includes node identifiers 310A, 320A, 330A, 340A, 350A, 360A, etc. for a plurality of processing nodes. The display states of node identifiers 310A, 320A, 330A, 340A indicate that the corresponding processing node has selected the corresponding function block, and the display state of node identifier 350A indicates that the corresponding processing node has not selected the corresponding function block.
[0050] For example, the initial state of the application creation interface may display no node identifiers, or may display one or more node identifiers in a display state indicated by node identifier 350A. Node identifier 350A includes function block add entry 351. In response to triggering function block add entry 351, application management platform 110 may present a function block selection interface. The function block selection interface includes multiple candidate function blocks having predetermined processing logic and preset information for a predetermined operation, where the preset information may include preset parameters, preset variables, preset conditions, preset prompts, etc.
[0051] In response to a selection operation on any one of the multiple candidate function blocks, the application management platform 110 may determine the selected function block as the model call function block of the model call node corresponding to the node identifier 350. Thereafter, the node identifier 350 switches to a display state similar to that of the node identifiers 310A, 320A, 330A, and 340A, and presents an icon of the selected function block, descriptive information of the function block, and the like.
[0052] Example 300A includes connecting lines 312, 322, etc. between node identifiers, which may be used to identify connection relationships between the node identifiers, and the connection relationships between the node identifiers may indicate interrelationships, such as timing relationships, logical relationships, data acceptance relationships, etc., between corresponding processing nodes. The node identifiers and connecting lines form a flowchart, which may represent a workflow consisting of multiple processing nodes. Alternatively or additionally, connecting lines 312, 322 may be preset or added by application management platform 110 to the interface shown in example 300A in response to an operation by user 105.
[0053] For example, the interface shown in example 300A initially presents node identifiers 310A and 330A, and a connection line 312 between node identifier 310A and node identifier 330A, with node addition inlet 313 provided on connection line 312. In response to a trigger operation on node addition inlet 313, application management platform 110 may add node identifier 320A between node identifier 310A and node identifier 330A, connect node identifier 310A to node identifier 320A by connection line 312, and connect node identifier 320A to node identifier 330A by connection line 322.
[0054] Of course, the application creation interface may further include, for example, an add node control, for example, by displaying the add node control in a top menu bar or a side task bar of the application creation interface. In response to triggering the add node control, the application management platform 110 may display a node identifier corresponding to the added processing node in the application creation interface.
[0055] Similarly, the application creation interface may further include an add connection line control, and a user may add a connection line to the application creation interface by manipulating the add connection line control, for example, by clicking or dragging the add connection line control to add a connection line between two node identifiers.
[0056] Note that the above-described process for creating processing nodes and the process for selecting functional blocks are merely examples. In an actual application, the application creation page may display only node identifiers, or may display a simple explanation interface for the functional blocks corresponding to the processing nodes.
[0057] In box 220, the application management platform 110 presents a configuration interface for the model call function block in response to a configuration request for the model call function block. A user may input a configuration request to the application management platform 110 in a variety of ways. In some embodiments, the application management platform may present a configuration interface for the model call function block in response to receiving a trigger operation for a node identifier corresponding to a model call node.
[0058] 3A and 3B, when a functional module corresponding to node identifier 320A needs to be configured, a user may trigger node identifier 320A via application management platform 110 or an attached device of application management platform 110. In response to the trigger operation on node identifier 320A, application management platform 110 may present configuration interface 320B shown in example 300B.
[0059] It should be understood that the above-described method of triggering application management platform 110 to present the configuration interface of the model invocation function block is merely exemplary. In a specific implementation, application management platform 110 may be triggered to present the configuration interface of the model invocation function block in other ways. For example, a user may trigger application management platform 110 to present the configuration interface by selecting node identifier 320A via application management platform 110 or an attached device of application management platform 110 and selecting a configuration control from a right-click menu or taskbar.
[0060] In box 230, the application management platform 110 receives configuration information for the model invocation function block via a configuration interface. The configuration information may include information such as various parameters, variables, modes, policies, or conditions required by the model invocation function block in the course of executing the corresponding operation, task, or decision. Correspondingly, the configuration interface may include an entry, an input box, or a control for receiving such information. It should be understood that because the operations required to execute different function blocks are different, the configuration information required for different function blocks may differ, and further, the elements, layout, and visual representation included in the configuration interfaces of different function blocks may also differ. The following describes the configuration interface with several examples for illustrative purposes, but it should not be understood that the configuration interface is limited to adopting only the interface design shown below.
[0061] In some embodiments, the model invocation function block is configured to invoke a target model based on configuration information to generate a predetermined type of content. That is, after the target application 120 is created, the application operation portion 112 may execute the model invocation function block to invoke the target model based on the configuration information for the model invocation function block to generate a predetermined type of content. The predetermined type of content herein may include, but is not limited to, text, images, audio, video, program code, structured data having a specific structure, etc. Taking program code as an example, the predetermined type of program code may include, for example, data query instructions (e.g., database query instructions written in a structured query language), data processing instructions (e.g., data processing instructions written in the programming language Python), etc. Of course, the above content is merely exemplary, and those skilled in the art can select the content to be generated by invoking a model according to actual needs.
[0062] In some embodiments, the application management platform 110 receives, as at least part of the configuration information, specification information about the target model via a model configuration entry in the configuration interface. The specification information is used to specify the target model to the model invocation function block to generate a predetermined type of content. Alternatively or additionally, the specification information may include various information that can identify and invoke the target model, such as the name, number, interface, address, etc. of the target model.
[0063] There are various embodiments for the model configuration entry, and in some examples, the model configuration entry may be implemented as an input box containing the call address of the target model, and a user can input the call address of the target model into this input box via the application management platform 110 or an attached device of the application management platform 110. In this way, after the target application 120 is released, the application operation part 112 can call the target model based on this call address.
[0064] In some other embodiments, the application management platform 110 may present an identifier of at least one candidate model in response to receiving a trigger operation on a model configuration entry. The application management platform 110 may receive a selection operation on a target identifier among the identifiers of the at least one candidate model, and then, in response to the selection operation, determine that the candidate model corresponding to the target identifier is to be designated as the target model.
[0065] 3B and 3C, the interface shown in example 300B presents a model configuration entrance 326 that may include a control 327. In response to a trigger operation of control 327, application management platform 110 may switch model configuration entrance 326 to the display state of example 300C and display identifiers 371, 372, and 373 of multiple candidate models in model configuration entrance 326 for the user to select a target model. In response to a user's selection operation on any one of identifiers 371, 372, and 373, application management platform 110 may designate the model corresponding to the selected identifier as the target model. For example, if the user selects identifier 373, the application management platform may designate the model corresponding to identifier 373 as the target model and display identifier 373 in model configuration entrance 326, as shown in FIG. 3B.
[0066] In some embodiments, the predetermined type of content may include a data query instruction. The application management platform 110 may receive, as at least part of the configuration information via a query configuration entry of a configuration interface, at least one query condition for generating a data query instruction. A query condition herein is for filtering data that meets a specific condition, and the query condition may include, but is not limited to, a data query range (e.g., a database, a table to be queried, a row in a table, a column in a table, etc.), a data value filtering condition (e.g., greater than, equal to, less than, greater than or equal to, etc.), a logical filtering condition (e.g., WITH, OR, NOT, etc.), a fuzzy condition, etc.
[0067] Illustratively, as shown in FIG. 3C , the interface shown in example 300C may include a query configuration entry 324 for receiving a table to be queried. In response to a trigger operation on the query configuration entry 324, the application management platform 110 may present an interface including one or more candidate tables. The user may select a table to be queried from the candidate tables presented in this interface, and in response to a select operation on the candidate table, the application management platform 110 may treat the selected candidate table as the table to be queried and present an identifier 374 of the table to be queried in the query configuration entry 324. Of course, the user may also input the identifier 374 of the table to be queried (e.g., the name of the table) in the query configuration entry 324.
[0068] In some embodiments, this predetermined type of content may include structured data. The application management platform 110 may receive, as at least part of the configuration information, structural information indicating the data structure of the structured data via an output configuration port of the configuration interface. Structured data should be understood to be data having a standardized format. Alternatively or additionally, structured data may include, but is not limited to, structures, objects, strings, arrays, tables, etc. Taking a structure as an example, the structure may include multiple fields, and each field may contain different types of data. It should be understood that different types of structured data may have different data structures and structural information, and as a result, the interface elements and layout of the configuration interface may also differ.
[0069] Illustratively, as shown in FIGS. 3A and 3D, a function block corresponding to node identifier 330A may be used to invoke a target model to generate an article. In response to a trigger operation on node identifier 330A in the interface shown in example 300A, application management platform 110 may present configuration interface 330B shown in example 300D. Configuration interface 330B includes output configuration entry 335, which may include multiple sets of input boxes 336, 337, and 338. The set of input boxes 336 may include an input box for inputting a parameter name and an input box for inputting a structured data type. A user may enter "response" in the parameter name input box and, for example, "object" in the structured data type input box. The set of input boxes 337 and the set of input boxes 338 may each include input boxes for inputting a field name, a field type, and a field description, respectively. A user may enter "content," "string," and "article content" in the set of input boxes 337, respectively. The user may also input "title", "string", and "article title", respectively, into this set of input boxes 338. In this way, the function block corresponding to node identifier 330A can call the target model to generate an article, and output the generated article as an object named "Response", which includes a "title" field and a "content" field, where the data contained in the "title" field is the title of the article, and the data contained in the "content" field is the content of the article.
[0070] It should be understood that this object is not limited to including a "title" field and a "content" field. A user may also trigger a control 375 in the interface shown in example 300D, and application management platform 110 may present one or more sets of input boxes in response to the triggering of control 375. The user can enter field information, such as field names, field types, and field descriptions, for one or more other fields of the object via the one or more sets of input boxes.
[0071] In some embodiments, application management platform 110 may receive, via a prompt input port in a configuration interface, pre-defined prompt information including at least a requirement for generating a predetermined type of content. The pre-defined prompt information herein may include a requirement for generating a predetermined type of content written in natural language.
[0072] 3C, the function block corresponding to the node identifier 320A can be used to call the target model to generate a data query instruction. The configuration interface 320B includes a prompt input inlet 325 for inputting a prompt. A user can input query requirements into the prompt input inlet 325 using natural language to guide the model to generate a data query instruction that meets the requirements.
[0073] 3D , a function block corresponding to node identifier 330A may be used to invoke a target model to generate an article, and configuration interface 330B includes a prompt input inlet 334 for inputting a prompt. A user can input explicit requirements for the article into prompt input inlet 334 using natural language to guide the model to generate an article that meets the requirements.
[0074] In box 240, the application management platform 110 creates the target application 120 based on the configuration information and the workflow of multiple processing nodes.
[0075] In some embodiments, application management platform 110 may test each function block after receiving the configuration information for each function block. If the test results indicate that each function block passes the test, application management platform 110 may create target application 120 based on the configuration information for each function block and the workflow consisting of multiple processing nodes.
[0076] 3C , application management platform 110 may present operation result interface 320C in response to a test operation of a function block corresponding to node identifier 320A. This operation result interface 320C may include an area 328 for presenting the operation result, and this area 328 may present the operation result of this function block (e.g., a data query command generated by the function block calling the target model). Based on the operation result, application management platform 110 may determine whether the function block corresponding to node identifier 320A passes the test.
[0077] 3D , for example, the application management platform 110 may present an operation result interface 330C in response to a test operation of the function block corresponding to node identifier 330A. This operation result interface 330 may include an area 339 for presenting the operation result, and this area 339 may present the operation result of this function block (e.g., an article generated by this function block by calling the target model, and an object including a “title” field and a “content” field that is output based on the generated article). Based on this operation result, the application management platform 110 may determine whether the function block corresponding to node identifier 330A passes the test.
[0078] For example, when application management platform 110 determines that the test results of the function blocks corresponding to node identifiers 310A, 320A, 330A, 340A, 350A, and 360A all indicate that the tests have passed, it creates target application 120 based on the configuration information of each function block and a flowchart that can indicate a workflow consisting of multiple processing nodes (e.g., timing relationships, logical relationships, data transmission relationships, etc.). The application file of target application 120 created by application management platform 110 records the configuration information of each function block and the workflow consisting of multiple processing nodes.
[0079] It should be understood that an actual application creation process is much more complicated than the process described herein because it includes not only process design but also multi-dimensional configuration processes such as page design, data management, permission setting, account management, etc. However, since the configuration processes of other dimensions in the application creation process are not related to the improved solution of the embodiments of the present disclosure, detailed descriptions of these configuration processes of other dimensions, such as page design, data management, permission setting, account management, etc., will be omitted in this specification.
[0080] The execution process of the released target application 120′ is exemplarily described below, and the execution process of the target application may be implemented in the application management platform 110, for example, by the application operation portion 112 of the application management platform 110. The execution process of the target application will be described below in relation to FIG. 1 .
[0081] In an embodiment of the present disclosure, the application management platform 110 may generate target prompt information based on the user input and configuration information in response to receiving user input via the target application 120'. The target prompt information may be provided to the target model to obtain a model output. The application management platform 110 may then determine reply information for the user input based on the model output.
[0082] Alternatively or additionally, the user input may be input from any suitable user, such as user input from user 145. The user input may be any suitable type of user input, such as text, audio, images, video, etc.
[0083] Alternatively or additionally, upon receiving a user input, the application management platform 110 may determine a model invocation function block that responds to the user input from multiple function blocks of the target application 120′. If the model invocation function block includes a model invocation function block for invoking a target model to generate a predetermined type of content, the application management platform 110 may generate target prompt information based on configuration information for the model invocation function block and the user input. The target prompt information may be used to prompt the target model with the requirements entered by the user, and may include, for example, a prompt or model input. After receiving the target prompt information, the target model may generate a model output based on the target prompt information and provide model data to the application management platform 110.
[0084] Alternatively or additionally, the application management platform 110 may acquire historical interaction information matching the user input. For example, a user may interact with the target application 120′ based on multimodal information such as text, audio, images, and videos, and data generated during such interactions may be stored as historical interaction information. In the process of responding to the user's current input, the application management platform 110 may acquire stored historical interaction information (e.g., questions entered by the user or answers fed back by the target application 120′). The application management platform 110 may acquire structural information and preset prompt information in the configuration information, where the structural information indicates the data structure of the structured data and the preset prompt information includes requirements for generating the structured data. A model invocation function block is used to generate target prompt information for instructing the target model to generate structured data based on the user input, historical interaction information, structural information, and preset prompt information. The application management platform 110 may then provide the target prompt information to the target model and instruct the target model to generate a model output based on the target prompt information. The application management platform 110 may determine reply information to the user input based on the model output. In this case, the reply information may include structured data having a data structure indicated by the structure information. The reply information may then be stored as historical interaction information.
[0085] Regarding the application management platform 110 determining reply information for the user input based on the model output, in one example, the application management platform 110 may present at least a portion of the model output to the user as reply information. For example, if the user input instructs the target application to generate an article, the target model may generate an article for the user input based on the target prompt information, and at this time, the application management platform 110 may present the specific content of the article to the user.
[0086] In another example, the application management platform 110 may invoke a target model via a model invocation function block to obtain a model output. The application management platform 110 may then invoke another function block based on the model output to perform another operation and generate reply information for the user input. For example, the user input may instruct the target application to perform a data query operation, and the application management platform 110 may invoke the target model via the model invocation function block to generate a data query instruction, and then execute the data query operation based on the data query instruction via another function block, treating the queried data as reply information for the user input.
[0087] An exemplary process for executing a function block in a target application will now be described in conjunction with Figures 4 and 5. Figure 4 illustrates a flowchart of a process 400 for generating a data query instruction according to some embodiments of the present disclosure. The process 400 illustrated in Figure 4 will be described below as an example of executing the process 400 illustrated in Figure 4 in association with the environment 100 in Figure 1, with the function block corresponding to the node identifier 320A in Figure 3A as a model call function block.
[0088] In box 401, application management platform 110 may receive a data query request. This data query request may be triggered by a user, for example, a user may input this data query request via application management platform 110 or a device attached to application management platform 110. This data query request may also be triggered by another functional block of application management platform 110. For example, the user input may instruct a target application to generate an article, determine requirements input by the user via this other functional block, and generate this data query request in response to the requirements input by the user.
[0089] In box 402, the application management platform 110 may obtain metadata of the queried table. The queried table may be recorded in the configuration information for the model invocation function block or may be determined based on user input. For example, in response to requirements entered by a user, at least one queried table that matches the requirements may be determined. After determining the at least one queried table, metadata of the at least one queried table may be obtained. The metadata is used to describe the table structure and attributes of the queried table, such as, for example, the table name, row information, column information, indexes, and description information.
[0090] In box 403, the application management platform 110 may generate a prompt based on the metadata, the configuration information for the model call function block, and the user input.
[0091] Alternatively or additionally, the application management platform 110 may preprocess the metadata before generating the prompt. This preprocessing may include replacing identification information, such as table names of queried tables in the metadata, with numbers (IDs) to reduce the amount of data in the metadata. This preprocessing may further include normalizing the metadata to process the metadata into data in a specific format. For example, all or part of the data content in the metadata may be converted into data compliant with Database Markup Language (DBML).
[0092] Alternatively or additionally, the application management platform 110 is not limited to generating a prompt based on the above information. For example, the application management platform 110 may obtain environmental information (e.g., date, time, current events, cultural background, etc.) and preset prompts in the preset information of the model call function block. The application management platform 110 may jointly generate a prompt from this information, preset prompts in the configuration information, user input, and metadata.
[0093] In box 404, the application management platform 110 may determine whether the volume of the generated prompt exceeds a volume threshold. The volume here may refer to the amount of data in the prompt, such as the number of words, bytes, or tokens. A volume threshold may also be preset to prevent the prompt from being too long and affecting the response speed of the target model. After obtaining the prompt, the volume of the prompt may be compared with the volume threshold.
[0094] If it is determined in box 404 that the volume of the prompt exceeds the volume threshold, process 400 returns to box 403. In box 403, information used to generate the prompt may be trimmed. For example, if a data query request includes multiple data query processes, the multiple data query processes may be divided and prompts may be generated separately for each data query process to shorten the length of each prompt. Also, for example, fields in the meta information may be trimmed to reduce the amount of data in the meta information. Furthermore, for example, a target model may be invoked to determine target tables from queried tables to further reduce the number of tables that need to be queried. The information for generating the prompt may then be updated, the prompt may be generated based on the updated information, and it may be determined whether the volume of the regenerated prompt exceeds the volume threshold.
[0095] If, in box 404, it is determined that the volume of the prompt does not exceed the volume threshold, process 400 proceeds to box 405. In box 405, application management platform 110 provides the prompt to the target model and instructs the target model to generate one or more data query instructions.
[0096] Alternatively or additionally, the application management platform 110 may provide a prompt to the target model, instructing the target model to determine the number of data query instructions that need to be generated (e.g., N-1, where N is a positive integer), after which the target model may generate the N-1 data query instructions.
[0097] In box 406, the application management platform 110 receives the data query instructions generated by the target model and determines whether the generation of the data query instructions is complete, for example, whether the generation of N-1 data query instructions is complete. If it is determined in box 406 that the target model has completed the generation of the data query instructions (e.g., N-1 data query instructions have been generated), execution of the process 400 ends.
[0098] If it is determined in box 406 that the target model has not completed generating the data query instructions, process 400 proceeds to box 407. In box 407, application management platform 110 provides the generated data query instructions to the target model as part of a prompt, instructing the target model to generate one or more subsequent data query instructions (e.g., data query instructions conforming to a relational database language).
[0099] FIG. 5 illustrates a flowchart of a process 500 for data processing according to some embodiments of the present disclosure, and the process 500 illustrated in FIG. 5 is described below with reference to the environment 100 of FIG.
[0100] In box 501, application management platform 110 may receive a data processing request. This data processing request may be triggered by a user; for example, a user may trigger the data processing request through application management platform 110 or a device attached to application management platform 110. This data processing request may be triggered by another function block of application management platform 110. For example, user input may instruct a target application to generate an article, and the article should include a figure and / or a table. This other function block may generate a data processing request that requests a model invocation function block to invoke the target model to generate the figure and / or table.
[0101] In box 502, the application management platform 110 may initialize a trusted execution environment in response to a data processing request. This trusted execution environment may include, but is not limited to, a sandbox.
[0102] In box 503, the application management platform 110 may input target data into the trusted execution environment. The target data may include various data required to generate the data processing instructions, such as configuration information and preset information for the model call function block, user input, processing results of previous function blocks, etc.
[0103] In box 504, the application management platform 110 may generate a prompt based on the target data. Alternatively or additionally, before generating the prompt, the application management platform 110 may perform feature extraction on the target data to obtain feature information of the target data, and generate the prompt based on the feature information.
[0104] In box 505, application management platform 110 may provide prompts to the target model and generate model outputs with the target model.
[0105] In box 506, application management platform 110 may determine whether the model output includes data processing instructions. Alternatively or additionally, application management platform 110 may determine whether the model data includes data processing instructions that satisfy a predetermined condition (e.g., data processing instructions that satisfy the Python language). Of course, the predetermined condition may include other conditions, such as, for example, other protocols, other programming languages, etc.
[0106] If, in box 506, it is determined that the model output includes data processing instructions, process 500 proceeds to box 507. In box 507, application management platform 110 may perform data processing operations based on the data processing instructions. Alternatively or additionally, the data processing instructions may be used to perform any type of data processing, including, but not limited to, data transformation, data cleaning, sorting, various mathematical operations, chart generation, etc.
[0107] Illustratively, the data processing instructions may be used to perform an icon generation operation. Based on the data processing instructions, the application management platform 110 may perform operations such as selecting a chart type, generating chart dimension information, calculating chart data, etc., and then output the generated chart (e.g., a chart conforming to the JavaScript Object Notation (JSON) format).
[0108] In box 508, the application management platform 110 may determine whether the execution result of the data processing operation is correct. It should be understood that the criteria for determining whether the execution result is correct may not be the same for different data processing operations. For example, when a data sorting operation is performed, the application management platform 110 may determine whether the data has been sorted and whether the sorting satisfies requirements entered by a user. Furthermore, when an icon generation operation is performed, the application management platform 110 may determine whether the execution result is correct from multiple dimensions of the diagram. For example, the application management platform 110 may determine whether information in each dimension, such as the name, row, column, graph, and index of the diagram, satisfies requirements entered by a user or requirements of a data processing request.
[0109] If it is determined in box 508 that the execution result of the data processing operation is correct, the process 500 proceeds to box 509. In box 509, the application management platform 110 determines whether the execution of the data processing operation is complete. The criteria for determining whether the execution of the data processing operation is complete mainly depend on the services provided by the target application, the requirements entered by the user, the data processing request, and the specific type of the data processing operation. For example, if the data processing operation is a diagram generation operation, it may be determined whether a diagram that meets the requirements entered by the user has been generated. If it is determined in box 509 that the execution of the data processing operation is complete, the execution of the process 500 ends.
[0110] If it is determined in box 509 that the execution of the data processing operation has not been completed, the process 500 proceeds to box 510, where the application management platform 110 generates a prompt based on the execution result, provides the prompt to the target model, and continues to generate data processing instructions by the target model to execute the data processing operation until it is determined that the execution of the data processing operation has been completed.
[0111] If it is determined in box 508 that the execution result is an error (incorrect), process 500 proceeds to box 511. In box 511, application management platform 110 determines whether the current number of retries exceeds the retry count threshold. If it is determined in box 511 that the current number of retries exceeds the retry count threshold, execution of process 500 ends.
[0112] If it is determined in box 511 that the current retry count does not exceed the retry count threshold, process 550 proceeds to box 512. In box 512, the application management platform regenerates a prompt based on the error information, provides the prompt to the target model, regenerates the data processing instruction by the target model, and executes the data processing operation. The error information is used to identify or describe a specific error in the execution result, and the error information may include, but is not limited to, an error type, an error prompt, an error description, etc. Alternatively or additionally, the error information may include error information for the current execution result, and may further include error information for multiple previous execution results.
[0113] If, in box 506, it is determined that the model output of the target model does not include data processing instructions, process 500 proceeds to box 513. In box 513, application management platform 110 discards the trusted execution environment and the target data input to the trusted execution environment. For example, the sandbox and the target data input to the sandbox may be destroyed.
[0114] In box 514, the application management platform 110 may determine whether a data processing operation still needs to be performed. The application management platform 110 may determine whether a data processing operation still needs to be performed based on the operation type of the data processing operation, the data processing capabilities of the target application, the requirements input by the user, and the like. For example, the data processing request is used to request the execution of a diagram generation operation. If it is determined that the target model does not output data processing instructions for executing a diagram generation process, it is determined whether the target application includes a function block capable of generating a diagram independent of the target model. If it is determined that the target application does not include a function block capable of generating a diagram independent of the target model, the process 500 may end. If it is determined that the target application includes a function block capable of generating a diagram independent of the target model, it is determined whether the function block for generating a diagram satisfies the requirements input by the user. If it is determined that the function block for generating a diagram cannot generate a diagram that satisfies the requirements input by the user, the process 500 may end.
[0115] If it is determined in box 514 that the execution of the data processing operation needs to continue, the process 500 proceeds to box 515. In box 515, the application management platform 110 continues to execute the data processing operation corresponding to the data processing request. When a data processing result that satisfies the data processing request is obtained, the data processing process 500 may end. For example, the application management platform 110 performs a diagram generation operation by calling a function block for diagram generation that is independent of the target model. Also, when a diagram that satisfies the data processing request or the requirements input by the user is obtained, the data processing process may end.
[0116] In summary, according to the embodiments of the present disclosure, it is possible to configure a call method for a target model using engineering techniques, visualize the configuration of the call method for the target model, reduce the development difficulty for users (e.g., developers), and improve the stability of model output.
[0117]
[0031] Embodiments of the present disclosure also provide corresponding apparatuses for implementing the above-described methods or processes. Figure 6 shows a schematic structural block diagram of an apparatus 600 for creating applications according to some embodiments of the present disclosure. The apparatus 600 may be implemented in or included in the application management platform 110, for example. Individual modules / components within the apparatus 600 may be implemented by hardware, software, firmware, or any combination thereof.
[0118] As shown, the apparatus 600 may include a selection module 610, a presentation module 620, a reception module 630, and a creation module 640. The selection module 610 is configured to select, for a model call node among a plurality of processing nodes of a target application to be created, a model call function block from a plurality of function blocks for the model call node to call a target model. The presentation module 620 is configured to present a configuration interface of the model call function block in response to a configuration request for the model call function block. The reception module 630 is configured to receive configuration information for the model call function block via the configuration interface. The creation module 640 is configured to create the target application based on the configuration information and a workflow consisting of a plurality of processing nodes.
[0119] In some embodiments, the model invocation function block is configured to invoke a target model based on configuration information to generate content of a predetermined type.
[0120] In some embodiments, the receiving module 630 is further configured to receive specification information about the target model as at least part of the configuration information via a model configuration entry in the configuration interface.
[0121] In some embodiments, the receiving module 630 is further configured to: present an identifier of at least one candidate model in response to receiving a trigger operation on the model configuration entry; receive a selection operation on a target identifier among the identifiers of the at least one candidate model; and determine, in response to the selection operation, that the candidate model corresponding to the target identifier is designated as the target model.
[0122] In some embodiments, the predetermined type of content includes structured data, and the receiving module 630 is further configured to receive, via an output configuration entry of the configuration interface, structural information indicating a data structure of the structured data as at least a portion of the structural information.
[0123] In some embodiments, the predetermined type of content includes a data query instruction, and the receiving module 630 is further configured to receive, via a query configuration entry of the configuration interface, at least one query condition for generating the data query instruction as at least part of the configuration information.
[0124] In some embodiments, the receiving module 630 is further configured to receive, via a prompt input entry in the configuration interface, pre-configured prompt information including at least a requirement for generating a predetermined type of content.
[0125] In some embodiments, the apparatus 600 further comprises a response module configured to: present an application creation interface in response to receiving a creation request for the target application; and present node identifiers corresponding to the plurality of processing nodes and connection relationships between the plurality of node identifiers in the application creation interface in response to a configuration operation on the workflow of the target application, to direct the workflow by the node identifiers and the connection relationships.
[0126] In some embodiments, the response module is further configured to present a node identifier corresponding to the model call function block in the application creation interface in response to an operation selecting the model call function block for the model call node.
[0127] In some embodiments, the presentation module 620 is further configured to present a configuration interface of the model call function block in response to receiving a trigger operation on a node identifier corresponding to the model call node.
[0128] In some embodiments, the apparatus 600 further comprises an operational module configured to: in response to receiving user input via the target application, generate target prompt information based on the user input and the configuration information; provide the target prompt information to the target model to obtain a model output; and determine reply information to the user input based on the model output.
[0129] In some embodiments, the operation module is further configured to: acquire historical interaction information matching the user input; acquire structural information and preset prompt information in the configuration information, where the structural information indicates a data structure of the structured data and the preset prompt information includes generation requirements for the structured data; and generate, using a model invocation function block, target prompt information for instructing the target model to generate the structured data based on the user input, the historical interaction information, the structural information, and the preset prompt information.
[0130] The units and / or modules included in device 600 may be implemented using various means, including software, hardware, firmware, or any combination thereof. In some embodiments, one or more units and / or modules may be implemented using software and / or firmware (e.g., machine-executable instructions stored on a storage medium). In addition to or instead of machine-executable instructions, some or all of the units and / or modules in device 600 may be implemented, at least in part, by one or more hardware logic components. By way of example, and without limitation, exemplary hardware logic components that may be used include field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), etc.
[0131] 7 illustrates a block diagram of an electronic device 700 in which one or more embodiments of the present disclosure may be implemented. It should be understood that the electronic device 700 illustrated in FIG. 7 is merely exemplary and should not constitute any limitation on the functionality or scope of the embodiments described herein. The electronic device 700 illustrated in FIG. 7 may include or be implemented as the application management platform 110 of FIG. 1 or the device 600 of FIG. 6.
[0132] 7, electronic device 700 is a form of general-purpose electronic device. Components of electronic device 700 may include, but are not limited to, one or more processors or processing units 710, memory 720, storage device 730, one or more communication units 740, one or more input devices 750, and one or more output devices 760. Processing unit 710 may be a real or virtual processor and is capable of performing various processes based on programs stored in memory 720. In a multiprocessor system, multiple processing units execute computer-executable instructions in parallel to increase the parallel processing capabilities of electronic device 700.
[0133] The electronic device 700 typically includes a number of computer storage media. Such media may be any available media accessible by the electronic device 700, including, but not limited to, volatile and nonvolatile media, removable and non-removable media. The memory 720 may be volatile memory (e.g., registers, cache, random access memory (RAM)), non-volatile memory (e.g., read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory), or a combination thereof. The storage device 730 may be removable or non-removable media and may include machine-readable media, such as a flash drive, a magnetic disk, or any other medium that may be used to store information and / or data and that may be accessible within the electronic device 700.
[0134] The electronic device 700 may further include other removable / non-removable, volatile / non-volatile storage media. Although not shown in FIG. 7, a magnetic disk drive for reading from and writing to a removable, non-volatile magnetic disk (e.g., a "floppy disk") and an optical disk drive for reading from and writing to a removable, non-volatile optical disk may be provided. In these cases, each drive may be connected to a bus (not shown) via 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 various methods or operations of various embodiments of the present disclosure.
[0135] The communication unit 740 enables communication with other electronic devices over a communication medium. Furthermore, the functionality of the components of the electronic device 700 may be implemented as a single computing cluster or multiple computing machines that can communicate over a communication connection. Thus, the electronic device 700 may use logical connections to one or more other servers, networked personal computers (PCs), or other network nodes to operate in a networked environment.
[0136] The input device(s) 750 may be one or more input devices, such as a mouse, a keyboard, a tracking ball, etc. The output device(s) 760 may be one or more output devices, such as a monitor, speakers, a printer, etc. If necessary, the electronic device 700 may communicate, via the communication unit 740, with one or more external devices (not shown), such as a storage device, a display device, one or more devices that allow a user to interact with the electronic device 700, or any device (e.g., a network card, a modem, etc.) that allows the electronic device 700 to communicate with one or more other electronic devices. Such communication may be performed via an input / output (I / O) interface (not shown).
[0137] According to an exemplary embodiment of the present disclosure, a computer-readable storage medium having computer-executable instructions stored thereon is provided, the computer-executable instructions being executed by a processor to implement the above-described method. According to an exemplary embodiment 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 having computer-executable instructions being executed by a processor to implement the above-described method.
[0138] Aspects of the present disclosure have been described herein with reference to flowcharts and / or block diagrams of methods, apparatus, devices, and computer program products implemented in accordance with the present disclosure. It will be understood that each box in the flowcharts and / or block diagrams, and combinations of boxes in the flowcharts and / or block diagrams, can be implemented by computer-readable program instructions.
[0139] 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 create a machine such that, when executed by the processing unit of the computer or other programmable data processing apparatus, the instructions create an apparatus that implements the functions / acts specified in one or more boxes of the flowcharts and / or block diagrams. Also, by storing these computer-readable program instructions, which cause a computer, programmable data processing apparatus, and / or other device to operate in a particular manner, on a computer-readable storage medium, the computer-readable medium on which the instructions are stored has an article of manufacture containing instructions that implement each aspect of the functions / acts specified in one or more boxes of the flowcharts and / or block diagrams.
[0140] The computer readable program instructions, when loaded onto a computer, other programmable data processing apparatus, or other device, may cause a series of operational steps to be executed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process such that the instructions executing on the computer, other programmable data processing apparatus, or other device implement the functions / acts specified in one or more boxes of the flowcharts and / or block diagrams.
[0141] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operations that may be implemented in systems, methods, and computer program products implemented according to the present disclosure. In this regard, each box in a flowchart or block diagram may represent a module, program segment, or part of an instruction, which includes one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the boxes may occur in a different order than that marked in the accompanying drawings. For example, two consecutive boxes may actually be executed substantially in parallel, or may be executed in reverse order depending on the functionality involved. It should also be noted that each box in the block diagrams and / or flowcharts, and combinations of boxes in the block diagrams and / or flowcharts, may be implemented in a dedicated hardware-based system that performs a given function or operation, or in a combination of dedicated hardware and computer instructions.
[0142] Although various implementations of the present disclosure have been described above, the foregoing description is illustrative, not exhaustive, and is not limited to the various implementations disclosed. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the various implementations described. The terminology used herein is chosen to best explain the principles, practical applications, or improvements in technology in the marketplace of the various implementations, or to enable other skilled in the art to understand the various embodiments disclosed herein.
Claims
1. selecting, for a model call node among a plurality of processing nodes of a target application to be created, a model call function block for the model call node to call a target model from a plurality of function blocks; presenting a configuration interface for the model call function block in response to a configuration request for the model call function block; receiving configuration information for the model call function block via the configuration interface; creating the target application based on the configuration information and the workflow of the plurality of processing nodes; How to create an application, including:
2. The application creation method according to claim 1 , wherein the model invocation function block is configured to invoke a target model based on the configuration information to generate content of a predetermined type.
3. receiving, via the configuration interface, configuration information for the model call function block; receiving, via a model configuration entry in the configuration interface, specification information for the target model as at least part of the configuration information; The application creation method according to claim 2 .
4. receiving, via the model configuration portal, specification information about the target model; presenting an identifier of at least one candidate model in response to receiving a trigger operation on the model configuration entry; receiving a selection operation for a target identifier among the identifiers of the at least one candidate model; determining, in response to the selection operation, that a candidate model corresponding to the target identifier is designated as the target model; The application creation method of claim 3 , comprising:
5. The predetermined type of content includes structured data, and receiving configuration information for the model call function block via the configuration interface includes: receiving, via an output configuration entry of the configuration interface, as at least a part of the configuration information, structure information indicating a data structure of the structured data; The application creation method according to claim 2 .
6. The predetermined type of content includes a data query instruction, and receiving configuration information for the model call function block via the configuration interface includes: receiving, via a query configuration entry of the configuration interface, as at least part of the configuration information, at least one query condition for generating the data query instruction; The application creation method according to claim 2 .
7. receiving, via the configuration interface, configuration information for the model call function block; receiving, via a prompt input port in the configuration interface, preset prompt information including at least a generation requirement for the predetermined type of content; The application creation method according to claim 2 .
8. presenting an application creation interface in response to receiving a request to create the target application; presenting the node identifiers and the connection relationships in the application creation interface in response to a configuration operation on the workflow to represent a workflow of the target application by node identifiers corresponding to the plurality of processing nodes, respectively, and connection relationships between the plurality of node identifiers; The application creation method of claim 1 , further comprising:
9. and further comprising presenting a node identifier corresponding to the model call function block in the application creation interface in response to an operation of selecting the model call function block for the model call node. The application creation method according to claim 8.
10. presenting a configuration interface of the model call function block, presenting a configuration interface of the model call function block in response to receiving a trigger operation on a node identifier corresponding to the model call node. The application creation method according to claim 9.
11. in response to receiving user input via the target application, generating target prompt information based on the user input and the configuration information using the model call function block; providing the target prompt information to a target model using the model call function block to obtain a model output; determining reply information to the user input based on the model output; The application creation method of claim 1 , further comprising:
12. generating the target prompt information obtaining historical interaction information matching the user input; acquiring structure information and preset prompt information in the configuration information, wherein the structure information indicates a data structure of structured data, and the preset prompt information includes a generation requirement for the structured data; generating, using the model invocation function block, target prompt information for instructing the target model to generate structured data based on the user input, the historical interaction information, the structure information, and the preset prompt information; The method of claim 11 , further comprising:
13. a selection module configured to select, for a model call node among a plurality of processing nodes of a target application to be created, a model call function block for the model call node to call a target model from a plurality of function blocks; a presentation module configured to present a configuration interface of the model call function block in response to a configuration request for the model call function block; a receiving module configured to receive configuration information for the model call function block via the configuration interface; a creation module configured to create the target application based on the configuration information and the workflow of the plurality of processing nodes; An application creation device comprising:
14. at least one processing unit; 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, when executed by the at least one processing unit, cause the electronic device to perform the method of any one of claims 1 to 12. electronic equipment.
15. A computer program executable by a processor is stored to implement the method according to any one of claims 1 to 12. A computer-readable storage medium.
16. A computer program which, when executed by a processor, implements the method according to any one of claims 1 to 12, Computer program products.
Citation Information
Patent Citations
Database query instruction generation method and device, computer equipment and storage medium
CN117909355A
Method and device for managing workflow, equipment and medium
CN118409681A
Application program construction method based on low-code platform and low-code platform
CN118444900A
Flow generator and flow generating program
JP2020155012A