Information processing device, application generation method and system, and computer program product
Through the communication between the information processing device and the generated AI system, the use of chat messages and predefined functions to generate applications is solved, and the problem of difficult to effectively use external AI systems to create applications in the prior art is realized, and no code or low code application generation is realized, reducing costs and improving efficiency.
Patent Information
- Application Number
- CN202411416530.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-08-05
- Filing Date
- 2024-10-11
- Publication Date
- 2025-04-15
AI Technical Summary
The prior art is difficult to effectively utilize external AI systems to create applications, and the development, maintenance or application of AI systems requires additional resources and costs.
Through the information processing device, the application program generation unit and the chat control unit are provided to generate an application program using predefined functions and chat messages.
It realizes the use of external AI systems to generate applications without code or low code, reducing development and maintenance costs and improving efficiency.
Smart Images

Figure CN119829014A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing device, an application generation method, a computer program product, and an application generation system. Background Art
[0002] The development of applications requires a task called programming (coding), that is, developers input source code on a keyboard, etc. However, it takes a lot of time and cost to master the syntax of the programming language and perform programming effectively. For this reason, programming support technologies have been developed that reduce or completely eliminate the need for program code input.
[0003] Programming methods using artificial intelligence (AI) are currently being developed, such as the technical solution disclosed in Japanese Patent Gazette No. 2023-018851, which obtains text data from dialogue statements, refers to a program code database that associates one or more program codes with the extracted context, a program syntax analysis database, and a program automatic generation knowledge database that associates effectively processed programs with processing actions that need to be implemented, to create one or more programs corresponding to the extracted context.
[0004] However, in order to create programs such as applications using AI systems, it is necessary to develop, maintain, or operate the AI systems in addition to the programs themselves. Summary of the invention
[0005] The present invention is a technical solution proposed in view of the above-mentioned problems, and its purpose is to use an external AI system (generative AI system, etc.) to create an application.
[0006] In order to achieve the above-mentioned purpose, the present invention provides an information processing device, which communicates with a terminal device and a generative AI system through a network, and has an application generation unit for generating the application of the request according to the parameters contained in the request for application generation by executing a predefined function; and a chat control unit for sending the received chat message to the generative AI system when receiving a chat message sent by the terminal device, wherein the chat control unit sends the setting information for generating the application and the information for calling the function to the generative AI system at least once, and after the chat control unit receives the request sent by the generative AI system based on the chat message sent to the generative AI system, the setting information sent to the generative AI system, and the information for calling the function sent to the generative AI system, the application generation unit generates the application of the request according to the parameters contained in the received request.
[0007] The effect of the present invention is that an application program can be created using an external AI system (generative AI system, etc.). BRIEF DESCRIPTION OF THE DRAWINGS
[0008] Figure 1 This is a schematic diagram of the generative AI system involved in the first embodiment processing the chat message input by the user, requesting the execution of a function, and generating an application.
[0009] Figure 2A This is a schematic diagram of an example of an application creation page displayed on a user terminal.
[0010] Figure 2B is in accordance with Figure 2A Schematic diagram of an example restaurant inventory management application screen displayed by an inventory management application for restaurants created through a dialogue.
[0011] Figure 3 This is a diagram showing the system configuration of an example application generation system.
[0012] Figure 4 This is a hardware structure block diagram of an information processing system, a user terminal, and a developer terminal.
[0013] Figure 5 This is a functional structure block diagram of an information processing system, a user terminal, and a developer terminal.
[0014] Figure 6 This is a schematic diagram of an example of a request message in which the information processing system calls the API of the generative AI system when the user enters "Please create a daily report application" on the screen of the user terminal.
[0015] Figure 7 Is the generative AI system response Figure 6 A schematic diagram of an example reply message to a request message.
[0016] Figure 8 This is a schematic diagram of an example of a request message sent by the information processing system to the generative AI system after the information processing system has generated or updated an application for the application service.
[0017] Fig. 9 Is the generative AI system Figure 8 A schematic diagram of an example reply message to a request message.
[0018] Fig.10 This is an example of a processing sequence diagram for an information processing system to support application development.
[0019] Fig.11 This is a diagram of an example of an application creation page displayed on a user terminal when a user develops an application.
[0020] Fig.12 is in accordance with Fig.11 This is a diagram showing an example of a customer management application screen displayed by a customer management application created by a dialogue.
[0021] Fig.13 This is a diagram showing an example of a portal screen of an application service displayed on a user terminal.
[0022] Fig.14 This is a sequence diagram of an example of an information processing system generating or updating an application for an application service by using the cooperation of two web browsers in a user terminal.
[0023] Fig.15 This is a sequence diagram of an example of an application program for an information processing system to generate or update an application program service by using two web browsers in a user terminal to cooperate. Fig.14 (Continued).
[0024] Fig.16 This is a schematic diagram of the process in which the generative AI system requests the information processing system to execute a function in response to a chat message input by a user, and the information processing system generates an application.
[0025] Fig.17 This is a functional structure diagram of an information processing system, a user terminal, and a developer terminal when the application service and the information processing system are integrated.
[0026] Fig.18 This is a schematic diagram of the second embodiment of the invention, in which the generative AI system generates an application program by requesting the execution of a function in response to a chat message input by a user.
[0027] Fig.19 This is an example functional structure block diagram of an information processing system, a user terminal, and a developer terminal.
[0028] Fig. 20 This is a schematic diagram of an example of a request message in which the information processing system calls the API of the generative AI system when the user enters "Please create a daily report application" on the screen of the user terminal.
[0029] Fig.21 This is a schematic diagram of an example of a request message sent by the information processing system to the generative AI system after the information processing system has generated or updated an application for the application service.
[0030] Fig. 22 This is a sequence diagram of an example of processing by an information processing system to support application development.
[0031] Fig.23 This is a schematic diagram of an example of a portal screen and a chat screen of an application service displayed on a user terminal.
[0032] Fig.24 This is a functional block diagram of an example of the information processing system and the user terminal involved in the third embodiment.
[0033] Fig.25 This is a sequence diagram (part 2) showing an example of a method in which an information processing system generates or updates an application program of an application service by utilizing the cooperation of two web browsers in a user terminal.
[0034] Fig.26 This is a sequence diagram (part 2) showing an example of a method in which an information processing system generates or updates an application program of an application service by utilizing the cooperation of two web browsers in a user terminal.
[0035] Fig. 27 This is a schematic diagram of the process in which the generative AI system requests the information processing system to execute a function in response to a chat message input by a user, and the information processing system generates an application.
[0036] Fig.28 This is a functional structure diagram of an information processing system, a user terminal, and a developer terminal when the application service and the information processing system are integrated.
[0037] Explanation of symbols
[0038] 10 User Terminal
[0039] 20 Information Processing Systems
[0040] 40 Application Services
[0041] 50Generative AI Systems
[0042] 100 Application Generation System DETAILED DESCRIPTION
[0043] The following describes an information processing system and a method for generating an application program using the information processing system by citing examples of embodiments of the present invention.
[0044] <Application development support using generative AI systems>
[0045] ChatGPT(TM) and others are well-known generative AI systems. Generative AI systems can perform various natural language processing tasks, such as text generation, question answering, text classification, sentiment analysis, information extraction, article summarization, etc. Copi lot (registered trademark) that suggests the code to be written next in the program code is also a well-known generative AI system. This embodiment describes a technical solution for a user to generate an application through a conversation (also called a chat) with a generative AI system. In some cases below, the generative AI system or its function is referred to as AI (Artificial Intelligence).
[0046] Here, the external generative AI system only needs to be a system different from the system that provides the services related to the application, and the services related to the application and the generative AI system may be provided separately by the same provider.
[0047] First, users who lack expertise face the following two obstacles when developing applications.
[0048] 1. Don’t know what kind of app to make.
[0049] 2. Even if I want to make an app, I don’t know how to make it.
[0050] As for obstacle 1, it is easy to solve because generative AI systems can come up with solutions. Generative AI systems generally learn from a large number of articles on the Internet and have knowledge of various industries and businesses. Therefore, generative AI systems can also provide a variety of solutions for different types of applications.
[0051] Regarding the second obstacle, generally speaking, AI, including generative AI systems, cannot generate applications. In this regard, this embodiment utilizes the function call function (called function calling, functioncall, etc.) provided by the generative AI system to solve obstacle 2 by inserting an information processing system between the user and the generative AI system. The following is an explanation with reference to the accompanying drawings.
[0052] [First embodiment]
[0053] Figure 1 This is a schematic diagram of the process of the generative AI system 50 requesting the information processing system 20 to execute a function for a chat message input by a user in the application generation system 100, and the information processing system 20 generating an application. The information processing system 20 will be described in detail later. The information processing system 20 provides a user interface for the user to develop an application using the generative AI system 50. The information processing system 20 also converts the chat message sent from the user terminal 10 into a request message for calling the API (Application Programming Interface) disclosed by the generative AI system 50 and the application service 40, and sends it to the generative AI system 50 and the application service 40.
[0054] (1) The user terminal 10 sends a chat message input by the user to the information processing system 20. In the present embodiment, the chat message is, for example, "Create a daily report application". The chat message may include not only a direct instruction such as "Create a daily report application" but also a message expressing a desire such as "Need a daily report application".
[0055] (2) After receiving the chat message input by the user, the information processing system 20 includes the received chat message in the request message and sends it to the generative AI system 50 via the API for receiving the request message provided by the generative AI system. Here, the request message sent by the information processing system 20 includes the specification of the function. A function refers to a program interface that performs a determined process with specified independent variables and returns a return value as a result. The function is used to enable the generative AI system 50 to request the information processing system 20 to generate or update an application used in the application service 40. By including the function specification setting in the request message and sending it to the generative AI system 50, the information processing system 20 can respond to the request from the generative AI system 50 and generate or update the application with low code or no code. The request of the generative AI system 50 to the information processing system 20 to call the function is called a function call. As supplementary information, the information processing system 20 can include a system setting in the request message to inform the generative AI system 50 what the application is. The system settings are the overall principles for the application that needs to be generated, while the function specification settings are the information that the information processing system 20 specifies to the generative AI system 50 for the function specifications that the generative AI system 50 calls. The system settings and function specification settings will be described in detail below.
[0056] The information processing system 20 may not include the system settings and function specification settings in the same request message as the received chat message. For example, the information processing system 20 may include the system settings and function specification settings in a request message different from the request message including the received chat message, and send it to the generative AI system 50. In addition, the information processing system 20 may also include the system settings and function specification settings in separate request messages and send them to the generative AI system 50.
[0057] The information processing system 20 may send the system settings and function specification settings each time it sends a received chat message by including it in a request message, or may send them only once at the beginning.
[0058] (3) The generative AI system 50 sends a reply message including a function call request (function call) to the information processing system 20 based on the conversation record of the chat message, function specification settings, and system settings included in the request message sent. It should be noted here that the generative AI system 50 only requests the information processing system 20 to call the function, and it is the information processing system 20 that actually executes the function. However, the generative AI system 50 includes the domain name, etc. (an example of parameters) corresponding to the type of application requested by the user in the request message. Examples of domain names, etc. for daily newspaper applications will be described in Figure 2A and Figure 2B In the description.
[0059] The generative AI system 50 does not necessarily send a reply message including a function call request to the information processing system 20 based on the history of the conversation, the function specification setting, and the system setting. For example, the generative AI system 50 may also send a reply message including a question or a reply message including a message indicating that the content of the chat message cannot be understood to the information processing system 20.
[0060] (4) The information processing system 20 generates an application according to the function call request (function call) contained in the reply message sent by the generative AI system 50. What kind of application is generated is determined by (2) and (3). Specifically, the information processing system 20 generates a request message for calling the API of the application service 40 based on the content of the function call request (function call), and sends the generated request message to the application service 40. This embodiment represents the processing involved in the generation of such a request message as "execution of a function" or "execution of a function". In this embodiment, the information processing system 20 generates or updates an application for the application service 40 according to the function call request (function call).
[0061] In this way, the user only needs to input a chat message in natural language on the user terminal 10, and the information processing system 20 can develop an application using the generative AI system 50, thereby eliminating obstacle 2.
[0062] Figure 2A The application creation support screen shown is an example of an application creation page displayed on the user terminal 10. On the application creation page, chat messages input by the user and response messages of the generative AI system 50 are interactively displayed in chronological order. Figure 2A An example of displaying all chat records on the screen is shown, but if the number of conversation records increases, a scrolling display method can also be used.
[0063] Below are the chat message and reply details:
[0064] Chat message 301 is a chat message input by a user, "What kind of application can you make?" In response message 302 to chat message 301, several applications such as a consultation management application and an attendance management application are listed as examples.
[0065] Chat message 303 is a chat message input by the user, "Please create an inventory management application for restaurants." Response message 304 to chat message 303 lists questions from generative AI system 50 when creating the application. Response message 304 specifically raises the following questions.
[0066] To decide on the field definitions for your application, answer the following questions.
[0067] What is the name of the inventory item?
[0068] Do you want to manage quantities of inventory items using numeric values?
[0069] What is the unit of inventory item?
[0070] Do inventory items have categories?
[0071] Do you need to manage the shelf life of your inventory items?
[0072] Do you need to attach an image of the inventory item?"
[0073] Chat message 305 is a chat message "Please create" input by the user. Response message 306 is a response message to chat message 305, for example, showing the result of the created application. Response message 306 specifically shows the following results.
[0074] "We have made an inventory management application for restaurants. You can access the application from the following URL.
[0075] Restaurant Inventory Management Application (embedded URL) 306a
[0076] This application has the following fields:
[0077] Item Name: Field for entering the name of the inventory item.
[0078] Quantity: Field used to manage the quantity of inventory items with numerical values.
[0079] Unit: Field for entering the unit of measure for the inventory item.
[0080] Category: A drop-down field for selecting the category of the inventory item. You can select Food, Beverage, Seasoning, or Other.
[0081] Best Before: A date field used to enter the shelf life of an inventory item.
[0082] Image: Field for attaching an image of the inventory item. ".
[0083] When the user presses the restaurant inventory management application 306a, the created restaurant inventory management application screen is displayed. The application screen has fields for item name, quantity, unit, category, expiration date, and image, for example.
[0084] Figure 2B is based on Figure 2AAn example of an inventory management application screen 290 for restaurants displayed by an inventory management application for restaurants (inventory management application for restaurants) generated through a conversation with the generative AI system 50. The inventory management application screen 290 for restaurants has fields for item name 292, quantity 293, category 294, expiration date 295, and image 296. These items are fields generated through a conversation between the user and the generative AI system 50. Therefore, the user can develop an inventory management application for restaurants by interacting with the generative AI system 50 without listing any field names.
[0085] When the user presses the save button 291, the user terminal 10 sends a request to save the inventory management application for restaurants to the application service 40. After that, the user can use the inventory management application for restaurants through a portal screen or the like.
[0086] In this way, the application generation system 100 of this embodiment can develop applications by the user communicating with the generative AI system 50 in natural language. The information processing system 20 specifies a function to the generative AI system 50, so the generative AI system 50 can request the information processing system 20 to call the function and the field name of the application. Then, the information processing system 20 actually generates or updates the application. In this way, from the user's perspective, as long as the message "Please create a daily application" is input, a no-code or low-code platform for actually developing a daily application can be realized.
[0087] <Terms>
[0088] The so-called application is an abbreviation of an application program, which is a program created by a computer according to any business. OS (Operating System) is a general software that provides basic functions and systems (file system, communication, display control, etc.) for computer operations. In contrast, application programs provide specific functions on OS. Application programs include Web applications and native applications. Either type of application program can be developed in this embodiment.
[0089] API is the interface of application (software), which is the connection point between systems, sharing functions and structures. API specifies the specifications of the interface used by applications to exchange information with each other. API between different web pages on a computer is a specification for communication between one website and another through HTTP (HTTPS) communication. Communication allows one website to use the functions of another website. Sometimes API between computers is called Web-API.
[0090] API sends a specific request (such as obtaining, updating, deleting, processing data, etc.) and sends back a response result (such as data, update results, deletion results, processing results, etc.). Sometimes the request is called a request message and the result is called a response message. Calling an API means sending a request according to the API specifications and getting the result. Calling an API can also be called executing, operating, tapping, or using.
[0091] The information for calling a function is information that enables calling a function provided by information processing system 20 from outside the information processing system, for example, generative AI system 50. The information for calling a function includes information on a Web-API for calling a function.
[0092] Information about the Web-API used to call a function refers to information that allows the generative AI system 50 to call (use) the Web-API. In this embodiment, the term function specification setting (hereinafter referred to as function specification setting) is used for explanation. Function specification setting is information that the information processing system 20 specifies to the generative AI system 50 the specification of the function call that the generative AI system 50 calls. The generative AI system 50 calls the function to the information processing system 20 according to the function specification setting, so that the information processing system 20 can parse the function.
[0093] A function is a program interface that performs a specified process based on a specified variable and returns a return value as a result. A function is a function that developers can design its specifications and functions, while an API is an API that has been prepared in advance for public functions that can be used by the generative AI system 50 and the application service 40. A function is one of the specifications of an API, and when an API defines a specified method for a function, it can be set by calling the API. A function call or a function call request is a request to execute a function.
[0094] Chat services are services that allow multiple users to send or receive messages in real time. Generative AI systems are services that allow users to send and receive messages to AI in real time.
[0095] The setting information refers to the overall policy for generating an application, such as descriptions or tips of the application content, or content that should not be asked to the user, etc. The setting information is notified to the generative AI system 50 to facilitate the generation of the required application.
[0096] System settings are information in which all or part of the setting information is converted into a request message for calling an API. In other words, system settings are information in which part or all of the setting information is converted into the format of an API.
[0097] Parameters included in application generation requests are variables that affect the behavior of the application. The content of parameters varies depending on the application. For example, in applications that handle table formats and databases, there are field names and field data formats. In addition, the number of rows and columns, the size of rows or columns, the font or color when displaying data, the position of fields, etc. can also be parameters.
[0098] The user is an end user who uses the application provided by the application service 40. The user can also develop an application. The developer is a person who makes necessary settings for the information processing system 20 in order to develop an application by codeless or low-code programming. The developer sets the setting information described later for the information processing system 20.
[0099] <System Configuration Example>
[0100] refer to Figure 3 , describing the system configuration of the application generation system 100 involved in this embodiment. Figure 3 This is a schematic diagram showing an example of the system configuration of the application generation system 100 . Figure 3 The application generation system 100 shown has an information processing system 20, a user terminal 10, and a developer terminal 60. The information processing system 20 and the user terminal 10, and the information processing system 20 and the developer terminal 60 are communicatively connected via networks N1 and N2. The information processing system 20 can communicate with the generative AI system 50 and the application service 40 as an external system through the network N1. The user terminal 10 and the developer terminal 60 can communicate with the generative AI system 50 and the application service 40 as an external system through the networks N1 and N2.
[0101] The user terminal 10 and the developer terminal 60 are set in facilities such as companies or homes and are connected to the network N2. The network N2 can be a LAN, Wi-Fi (registered trademark), wide area Ethernet (registered trademark), 4G, 5G, 6G and other mobile phone networks. The network N1 is a wide area network such as the Internet or WAN. The user terminal 10 and the developer terminal 60 do not need to be connected to the network N2 all the time, as long as they are connected when using the information processing system 20, the generative AI system 50 or the application service 40.
[0102] The generative AI system 50 provides a service for users to communicate with artificial intelligence (AI) in a conversational manner. This generative AI system 50 has a system that uses a large-scale language model (LLM). A large-scale language model is a natural language processing model that is trained using a large amount of text data. The generative AI system 50 reads a large amount of text in advance, and then learns knowledge from the text through deep learning and reinforcement learning. The generative AI system 50 uses this knowledge to give a response message to the chat message. The generative AI system 50 has an interface for receiving chat messages input by users. The chat information received on this interface is called a prompt. The prompt includes a chat message input by the user, such as an instruction or a question. The prompt may also include instructions or commands generated by the information processing system 20. The chat information may be a dialogue or speech composed of natural language spoken by humans. Images can also be used as chat messages. Sometimes the generative AI system 50 that generates articles for chat messages is called generative AI. In this embodiment, for the chat message input by the user, the information processing system 20 generates an application running in the application service 40 using the response message answered by the generative AI system 50. The application running in the application service 40 includes a network application running in the application service 40 and a native application installed on the user terminal 10. When the native application installed on the user terminal 10 runs on the user terminal 10, it connects to the application service 40 and executes the function of the application service 40.
[0103] Generative AI system 50 has the following features.
[0104] 1. The generative AI system 50 conducts the conversation in a natural flow.
[0105] 2. Generative AI system 50 can also come up with rich ideas in areas where the user has no knowledge.
[0106] 3. The generative AI system 50 can output correct program code.
[0107] Therefore, the information processing system 20 can naturally communicate with the user through the generative AI system 50. The user only needs to specify the application he wants to make, and he can get the creativity required for the application. The function called by the generative AI system 50 is correct (high reproducibility), which facilitates the information processing system 20 to generate the application expected by the user.
[0108] As for the generative AI system 50, there are known systems using LLMs such as GPT-3, GPT-4, Transformer, and BERT (all registered trademarks). For the application generation system 100 of the present embodiment, ChatCPT using GPT-3 or GPT-4 can be used as an example, and other systems using other LLMs can also be used.
[0109] The application service 40 is an information processing device that provides one or more applications for users to execute. The application provided by the application service 40 is, for example, a database-type network application that manages data in a tabular form. The user can set the fields of the application at will, and can customize the application to store, read or process data about his or her business. Setting the fields required by the user in a pre-prepared database in this way is the development of the application. In this embodiment, the information processing system 20 includes the chat message from the user in the request message and sends it to the generative AI system 50. The information processing system 20 uses the response message from the generative AI system 50 to generate or update the application for the application service 40. In other words, by inputting a chat message, the user can develop the application of the application service 40 without code.
[0110] When the domains of the application service 40 and the information processing system 20 are different (for example, when the service sources are different), the accounts of the application service 40 and the information processing system 20 are different even if the user is the same.
[0111] On the other hand, the application service 40 and the information processing system 20 may be integrated. That is, the application service 40 may include the functions of the information processing system 20, or the information processing system 20 may include the functions of the application service 40. The application service 40 and the generative AI system 50 may also be integrated. In addition, the generative AI system 50 and the information processing system 20 may also be integrated. Furthermore, the information processing system 20, the application service 40, and the generative AI system 50 may also be integrated.
[0112] Application service 40 includes cloud service, ASP (Application Service Provider), SaaS, etc., and may also include various services provided through the network. For example, as an example of a service, there is a database and storage service. Application service 40 may exist on the Internet or locally.
[0113] The information processing system 20 transmits the chat message from the user terminal 10 to the generative AI system 50. The information processing system 20 is composed of one or more information processing devices. From the user terminal 10, the information processing system 20 acts as a server that accepts requests. A server refers to a computer and software that has the function of providing information and processing results according to a request from a client. The information processing system 20 provides a user interface to the user terminal 10, generates a request message based on the received chat message, and sends the generated request message to the generative AI system 50. After receiving the application generation request from the generative AI system 50, the information processing system 20 makes an application generation request to the application service 40. For the user, there is no need to connect the user terminal 10 to the generative AI system 50 or the application service 40.
[0114] As described below, in some cases, the user uses the application service 40 as a portal to develop an application. The information processing system 20 receives a request to connect to the generative AI system 50 from the user terminal 10 connected to the application service 40, and communicates with the generative AI system 50. For details about this communication, see Figure 13 to Figure 15 Description.
[0115] The information processing system 20 receives the setting of setting information from the developer terminal 60. The setting of setting information refers to setting the knowledge (setting information) required for application generation of the application service 40 in the information processing system 20. The setting information is information about the parameters used by the generative AI system 50 to generate the application. The setting information may include, for example, what application is requested to be generated. By setting the setting information in the information processing system 20, the user can avoid including the parameters of the application in the chat message, etc. The information processing system 20 can make a system setting suitable for the application to be generated based on the setting information, and notify the generative AI system 50 of the made system setting. The system setting is generated based on the setting information, and the system setting is part or all of the setting information.
[0116] The setting information is set in the information processing system 20 before the user starts to develop the application. However, the information processing system 20 can also be customized for each customer. For example, when the setting information is "You will talk to a customer in the $$ industry next", the information processing system 20 changes the industry category name of $$ according to the customer's industry category and notifies the generative AI system 50.
[0117] The information processing system 20 uses the setting information to generate a request message to the generative AI system 50. In the request information, the setting information is reflected in the system settings described later. The details will be described in detail below. By sending the setting information to the information processing system 20, the user can generate an application through a simple chat message even if he does not have professional knowledge of the application.
[0118] The setting of the setting information is not mandatory, and different applications may not need to set the information in some cases.
[0119] The information processing system 20 can be implemented by cloud computing or by a single information processing device. Cloud computing refers to a method of utilizing resources on the network without considering specific hardware resources. The information processing system 20 can exist on the Internet or locally.
[0120] The functions of the information processing system 20 may be distributed among a plurality of information processing devices, or a plurality of information processing systems 20 having the same functions may exist, and the number of information processing systems that transmit animation may be increased or decreased according to the processing load.
[0121] The user terminal 10 or the developer terminal 60 is, for example, a terminal device such as a PC (Personal Computer), a smartphone, or a tablet terminal used by a user or a developer. A web browser or a local application is run in the user terminal 10 or the developer terminal 60. The developer operates the developer terminal 60 to create setting information about the application. The user operates the user terminal 10 to create a chat message for developing an application for the application service 40. The administrator or the user can operate the developer terminal 60 and the user terminal 10 to use various services provided by the information processing system 20, the generative AI system 50, or the application service 40.
[0122] The user terminal 10 may be an information processing device. Examples of such information processing devices include: output devices such as digital blackboards and digital signage, HUD (Head Up Display) devices, industrial machinery, camera equipment, sound collection devices, medical equipment, network appliances, mobile phones, smart phones, tablet computers, game consoles, PDAs (Personal Digital Assistants), digital cameras, and wearable PCs.
[0123] <Hardware Configuration Example>
[0124] refer to Figure 4 , describing the hardware configuration of the information processing system 20, the user terminal 10, and the developer terminal 60 including the application generation system 100. The generative AI system 50 and the application service 40 are Figure 4 The same as, or the hardware configuration of, an information processing device corresponding to cloud computing.
[0125] Information processing system, user terminal, and developer terminal
[0126] Figure 4 FIG. 1 is a block diagram of an example of a hardware structure of the information processing system 20, the user terminal 10, and the developer terminal 60 of the present embodiment. Figure 4 As shown, the information processing system 20, the user terminal 10 and the developer terminal 60 are composed of a computer 500, which has a CPU 501, a ROM 502, a RAM 503, an HD (Hard Disk) 504, an HDD (Hard Disk Drive) controller 505, a display 506, an external device connection I / F (Interface) 508, a network I / F 509, a bus 510, a keyboard 511, a pointing device 512, a DVD-RW (Digital Versatile Disk Rewritable) drive 514, and a medium I / F 516.
[0127] Among them, CPU501 controls the overall operation of computer 500. ROM502 stores programs such as IPL for driving CPU501. RAM503 is used as a work area for CPU501. HD504 stores various data such as programs. HDD controller 505 controls the reading or writing of various data to HD504 according to the control of CPU501. Display 506 displays various information such as cursor, menu, window, text or image. Peripheral connection I / F508 is an interface for connecting various external devices. At this time, the external device is, for example, a USB (Universal Serial Bus) memory or a printer. Network I / F509 is an interface for data communication using network N2. Bus 510 is used for electrical connection Figure 4 The address bus and data bus of each component such as the CPU 501 shown.
[0128] The keyboard 511 is an input device having a plurality of keys for inputting text, numerical values, or various instructions. The pointing device 512 is an input device for selecting and executing various instructions, selecting a processing object, moving a cursor, etc. The optical disk drive 514 controls reading or writing various data of a DVD-RW 513 as an example of a removable recording medium. In addition to the DVD-RW 513, the removable recording medium may also be a DVD-R, etc. The medium I / F 516 controls reading or writing (storing) data of a recording medium 515 such as a flash memory.
[0129] <Functional Configuration>
[0130] Next reference Figure 5 , describing the functional structure of the application generation system 100. Figure 5 This is a functional block diagram of an example of the information processing system 20 , the user terminal 10 , and the developer terminal 60 .
[0131] User Terminal
[0132] The user terminal 10 includes a communication unit 11, a display control unit 12, an operation receiving unit 13, and an inter-browser cooperation unit 14. Figure 4 The CPU 501 shown executes the functions or devices implemented by the instructions of one or more programs installed on the user terminal 10. For example, the communication unit 11, the display control unit 12, the operation receiving unit 13, and the inter-browser cooperation unit 14 can be implemented by at least one of a web browser and JavaScript (registered trademark, omitted below). If the developer terminal 60 executes a local application, these functions can also be implemented by the local application.
[0133] The communication unit 11 sends and receives various information to and from the information processing system 20. In this embodiment, the communication unit 11 receives screen information of the portal screen from the application service 40, or receives screen information of the application creation page for inputting chat messages from the information processing system 20. The communication unit 11 sends chat messages or operation information on the user terminal 10 to the information processing system 20. The communication unit 11 can also communicate directly with the generative AI system 50.
[0134] The display control unit 12 interprets the screen information of various screens and displays the screen information on the display 506. The operation reception unit 13 receives various operations on the various screens displayed on the display 506 from the user.
[0135] The inter-browser cooperation unit 14 performs information transmission and reception between web browsers. A user terminal 10 can run multiple web browsers at the same time. The inter-browser cooperation unit 14 can notify information from one web browser of the multiple browsers to another web browser (or vice versa). Through the inter-browser cooperation unit 14, when only one web browser has the authentication information of a specific website (for example, the application service 40), the other web browser can cooperate with the aforementioned one web browser to communicate with the specific web website. Assume that one web browser communicates with the application service 40, and the other web browser is a web browser that communicates with the generative AI system 50 through the information processing system 20. The other web browser can send a response message from the generative AI system 50 to the one web browser. Although the function of the inter-browser cooperation unit 14 is executed by the web browser (user terminal 10), the JavaScript that realizes the inter-browser cooperation unit 14 is described on the screen information sent from the application service 40 and the information processing system 20.
[0136] Developer Terminal
[0137] The developer terminal 60 includes a communication unit 61, a display control unit 62, and an operation receiving unit 63. These functional units are Figure 4 The CPU 501 shown executes the functions or devices implemented by the instructions in one or more programs installed on the developer terminal 60. For example, the communication unit 61, the display control unit 62, and the operation receiving unit 63 can be implemented by at least one of a web browser or JavaScript. If the developer terminal 60 runs a local application, these functional units can be implemented by the local application.
[0138] The communication unit 61 sends and receives various information to and from the information processing system 20. In this embodiment, the communication unit 61 receives screen information about input of setting information from the information processing system 20. The communication unit 61 sends the setting information and operation information on the developer terminal 60 to the information processing system 20. The communication unit 21 can also communicate with the generative AI system 50 and the application service 40.
[0139] The display control unit 62 interprets the screen information of various screens and displays the screen information on the display 506. The operation accepting unit 63 accepts various operations on the various screens displayed on the display 506 by the user.
[0140] Information Processing System
[0141] The information processing system 20 includes a communication unit 21, a screen generation unit 22, a chat control unit 23, a setting information storage unit 24, and an application generation unit 25. Each functional unit of the information processing system 20 is controlled by Figure 4 The CPU 501 shown in the figure executes the functions or means implemented by the instructions included in one or more programs installed in the information processing system 20. The setting information storage unit 24 is composed of Figure 4 The configuration shown is HD504 or RAM503. The information processing system 20 does not need to include the setting information storage unit 24, and the setting information storage unit 24 only needs to be on a network that the information processing system 20 can access.
[0142] The communication unit 11 sends and receives various information to and from the user terminal 10. The communication unit 11 sends screen information of the application creation page to the user terminal 10. The communication unit 11 receives chat messages input by the user for developing the application from the user terminal 10. The communication unit 11 sends and receives various information to and from the developer terminal 60. The communication unit 11 sends screen information of the input screen of the setting information to the developer terminal 60. The communication unit 11 receives the setting information input by the developer from the developer terminal 60 and stores it in the setting information storage unit 24.
[0143] The screen generation unit 22 generates screen information of the screen (web page) displayed by the user terminal 10 and the developer terminal 60. The web page is a part of the network application. The screen information is a program described in HTML, JSON, XML, scripting language, CSS (Cascading Style Sheet), etc. The structure of the web page is mainly determined by HTML, the action of the web page is specified by the scripting language, and the style of the web page is determined by CSS. Local applications can also be run on the user terminal 10. Local applications refer to applications that must be installed on the user terminal 10 to run. In the case of local applications, the screen information is maintained by the user terminal 10, and the displayed information is sent in JSON or XML, etc.
[0144] The chat control unit 23 sends a request message to the generative AI system 50 by calling the first API 26. The request information includes chat information (including past conversation history) and function specification settings. The first API 26 is one or more APIs disclosed by the generative AI system 50. As a result of calling the first API 26, the chat controller 23 receives a reply message to the request message from the generative AI system 50. The reply message includes a reply message to the chat message, a function call request to the information processing system 20, or a URL of a generated or developed application, etc.
[0145] The application generation unit 25 sends a request message to the application service 40 by calling the second API 27. The application generation unit 25 performs its functions by executing predefined functions. The request message contains parameters about the application (field name of the database, data format, etc.). The request message to the application service 40 is a request to generate or update an application. The second API 27 is one or more APIs disclosed by the application service 40. As a result of calling the second API 27, the application generation unit 25 receives a reply message corresponding to the request message from the application service 40. The reply message includes the result of the request for application generation or update (success, failure). If successful, the URL of the application is notified, otherwise a warning message is notified.
[0146] The application generation unit 25 may generate an application in the information processing system 20 without making a request to the application service 40. For example, the application generation unit 25 may generate a macro command to be executed on a spreadsheet software or may set a field in a database software.
[0147] Here, “generating an application” includes not only the application generation unit 25 actually generating an application, but also the application generation unit 25 entrusting the application service 40 etc. to generate an application, and the application service 40 etc. actually generates the application.
[0148] <Supplementary information on generative AI system actions>
[0149] In this embodiment, the information processing system 20 utilizes the generative AI system 50 by calling the first API 26 disclosed by the generative AI system 50. The information processing system 20 can perform one of the functions of the generative AI system 50, that is, dialogue with AI, by calling the first API 26. Since there are characteristic actions or processes in the generative AI system 50, they are supplemented.
[0150] The information processing system 20 communicates with the generative AI system 50 by sending a request message for calling an API to the generative AI system 50. The information processing system 20 can obtain a response message from the generative AI system 50 according to the request message.
[0151] The generative AI system 50 sends a reply message to the information processing system 20 in response to the request message. The response message included in the reply message of the generative AI system 50 is different each time even for the same chat message. However, if the information processing system 20 specifies a parameter called temperature as 0, the generative AI system 50 sends back the same response message for the same chat message.
[0152] When the information processing system 20 wants to continue the conversation with the generative AI system 50, it needs to include all the history of past conversations in the request message. This is because the conversation with the generative AI system 50 is stateless. This is the specification of a certain generative AI system 50, and in other generative AI systems 50, there are also cases where the history of past conversations may not be included.
[0153] Thus, the first API 26 has no state about past communications (stateless). Therefore, the history of past conversations is kept by the user of the first API 26 (in this embodiment, the information processing system 20), and needs to be specified each time the first API 26 is called. The past conversation history can be saved by the user terminal 10. Since the first API 26 returns a warning if the conversation history is too long, the information processing system 20 should preferably try to include only the most recent conversation in the request message when the conversation lasts for a long time.
[0154] Function call sent back by the generative AI system
[0155] Among the functions provided by the generative AI system 50, there is a function called a function call. A function call means that the generative AI system 50 requests the information processing system 20 to call a function. Therefore, if the information processing system 20 causes the generative AI system 50 to use the function, the generative AI system 50 can call a "function".
[0156] The request message includes the function specification setting set by the information processing system 20, which is used to allow the generative AI system 50 to call the "function". According to the function specification setting, the generative AI system 50 can make a function call (function call request). In this way, the function specification setting is information about the first API 26 used to call the application generation unit 25. That is, the function specification setting is the information processing system 20 notifying the generative AI system 50 that the generative AI system 50 can request the information processing system 20 to call the function.
[0157] In this way, the information processing system 20 allows the generative AI system 50 to use function call, and the generative AI system 50 calls the function executed by the information processing system 20, and the information processing system 20 can execute the function. The information processing system 20 can use the execution result of the function to communicate with the user.
[0158] However, since the reply message of the generative AI system 50 is different each time, the generative AI system 50 does not necessarily request to call the function. Even if the information processing system 20 includes a function specification setting in the request message, the generative AI system 50 will send back the same reply message as when there is no function specification setting.
[0159] If the process of including all past conversation histories in the request message is adopted, the execution result of the function executed by the information processing system 20 also needs to be included in the request message and sent to the generative AI system 50. However, the information processing system 20 does not have to include the past conversation history and the execution result of the function in the request message and send it to the generative AI system 50. In other words, the information processing system 20 can also send the execution result of the function directly to the user terminal 10. However, the information processing system 20 sends the execution result of the function to the generative AI system 50, and the generative AI system 50 can use the past conversation history to continue the conversation, so the conversation has continuity. For example, the style and wording are consistent, and the user is not likely to feel inconsistent. For example, even if the user's native language is English and has had conversations in English before, the information processing system 20 does not need to translate the response message into English.
[0160] Information processing system 20 cannot predict whether generative AI system 50 needs to call a function. However, if information processing system 20 explicitly specifies the "function_call option" in the request message, generative AI system 50 can be forced to perform a function call.
[0161] <Application development support for application services>
[0162] This embodiment takes the example of a user developing a daily report application to illustrate the request message sent by the information processing system 20 and the reply message sent by the generative AI system 50 .
[0163] Figure 6 This is an example of a request message in which the information processing system 20 calls the first API 26 disclosed by the generative AI system 50 when the user inputs "Please create a daily report application" on the screen of the user terminal 10. The request message includes role 230a and content 230b. Role 230a indicates the speaker, and there are user (user), assistant (AI of the generative AI system 50), and system (settings that indicate the AI assistant). Content 230b is the content of the conversation, which can be described in natural language.
[0164] Figure 6The request message first includes the system settings 229 of the system. The system settings 229 are information 229a, which means "You will now help us develop an application in a SaaS service called the X application service. Next, you will talk to the user to decide the "fields" of the application. The field definitions are expressed in JSON format. Consider, for example, a daily report application with the following 3 fields." The system settings 229 include information 229b indicating fields such as "Date", "Business Content", and "Thoughts, Learning" as field names. The data format of each field is also indicated, such as DATE, MULTI_LINE_TEXT, MULTI_LINE_TEXT. These information 229a, 229b are based on the setting information that the developer has sent to the information processing system 20 in advance.
[0165] The request information includes chat information 231 input by the user, “Please create a daily report application.”
[0166] Figure 6 The request information includes function specification 233. functions is the function specification 233, and the function specification 233 has the following attributes:
[0167] name234 is the name of the function (create_or_update_app).
[0168] description235 specifies the specification of the function. Specifically, the specification is, "Create a daily report application. On success, return {\"ok\": true, \"value\": \"URL of the application\"}; on failure, return {\"ok\": false, \"error\": .}." That is, description235 instructs the generative AI system 50 to return a URL or a warning message.
[0169] parameters236 is also part of the function specification.
[0170] "type": "object" indicates the data format of the returned value.
[0171] "required": ["properties", "name"] Indicates the name of the item required to return a value.
[0172] "name":{"type":"string"} indicates the data format of name.
[0173] "type": "array" indicates table format.
[0174] The required properties and data types for the fields are listed under "items".
[0175] According to the function specification setting 233, the information processing system 20 instructs the generative AI system 50, and the generative AI system 50 can request the information processing system 20 to call Figure 6 The function shown.
[0176] Figure 7 Is a generative AI system 50 for Figure 6 An example of a reply message is given for the request message. The reply message includes a function call request 237 (function call). In this embodiment, when the function call is included in the reply message, the information processing system 20 generates an application for the application service 40. The application service 40 can be a low-code or no-code platform. The application of the application service 40 is a database that manages user data, which is convenient for users to customize the UI screen that displays data. The application service 40 exposes various APIs, and the information processing system 20 can generate and update applications by calling the second API 27. In this embodiment, by calling the second API 27 exposed by the application service 40 and the second API 27 exposed by the generative AI system 50, the information processing system 20 can generate or update the application of the application service 40 during the natural language dialogue between the user and the generative AI system 50.
[0177] The function call request 237 of the reply message is equivalent to the application generation request. The function call request 237 includes name 238 and arguments 239. Name 238 is the name of the function defined in the function specification setting 233. The generative AI system 50 requests to call the function with this name. Arguments 239 are the return values, which are defined in the function specification setting 233. Figure 7 The return value 239 includes the application name 239a of "Daily News", the field names 239b and 239c included in the Daily News application, and their data formats (DATE, MULTI_LINE_TEXT), etc.
[0178] Through this function call, the generative AI system 50 can specify the field name of the business content, etc., and request the information processing system 20 to call the function of the generated application.
[0179] The information processing system 20 analyzes the function call included in the reply message and determines the application (execution function) to be generated or updated by the application service 40. Therefore, the information processing system 20 calls the second API 27 disclosed by the application service 40 and generates or updates the application using the field name or data format (an example of parameter) included in the reply message. When the generation or update of the application is successful, the information processing system 20 obtains the URL of the application from the application service 40. The URL is the access information for the user terminal 10 to access the application. The information processing system 20 returns the URL of the application to the generative AI system 50. In this way, the dialogue between the user and the generative AI system 50 will be continuous.
[0180] Specifically, an example in which the information processing system 20 uses three APIs of the application service 40 can be considered as follows.
[0181] 1. Generate an API for the application exposed by the application service 40
[0182] 2. Add the API for the "Date" and "Business Content" fields to the application created in 1 above
[0183] 3. Expose your application’s API
[0184] When the generation or update of the application is successful, the information processing system 20 specifies the result of the function (URL of the application) and calls the first API 26 exposed by the generative AI system 50 again.
[0185] Figure 8 This is an example of a request message sent by the information processing system 20 to the generative AI system 50 after the application service 40 has generated or updated an application. The request message includes the system settings 229, the chat message 231, and the function call request 241 as the history of past conversations. The information processing system 20 adds the function execution result 243 to the past conversation history. Figure 8 The function execution result 243 includes the executed function 243a, the name of the executed function 243b (create_or_update_app), and the URL 243c. Figure 8 The function specification 233 is included again, which is also the history of the past dialogue. Figure 8 In the example, function specification setting 233 is included as the history of past conversations, but it may not be included depending on the specification of the API provided by the generative AI system 50.
[0186] In addition to URL243c, Figure 8The information processing system 20 also includes the history of past conversations (system settings 229, chat messages 231, function call requests 241, executed functions 243a, function names 243b), but if the generative AI system 50 has the function of keeping the history of past conversations, the information processing system 20 only needs to send the URL 243c to the generative AI system 50. In other words, the information processing system 20 only needs to send the content of the historical records of past conversations to the generative AI system 50 at least once.
[0187] Fig. 9 Is a generative AI system 50 pairs Figure 8 An example of a reply message to a request message. When developing an application, in many cases the reply message will be different each time. For example, you may send back Fig. 9 The reply message is shown. Fig. 9 The reply message includes a response message 245 of "The application has been created. Please go to "https: / / sample.com / k / 42 / \" to confirm." The information processing system 20 sends the URL to the user terminal 10, so that after the user clicks the URL, he can confirm the field name of the developed application (database), etc.
[0188] After that, the input of chat messages, the sending and receiving of request messages and reply messages between the information processing system 20 and the generative AI system 50 are repeated until the user is satisfied. In this way, the user can develop applications for the application service 40 in a conversational manner without any programming knowledge.
[0189] <Action or Process>
[0190] Fig.10 This is an example of a processing sequence diagram for supporting application development by the information processing system 20. Generally speaking, steps S3 to S14 are repeatedly executed, and steps S9 to S14 are repeatedly executed.
[0191] S1: The communication unit 11 of the user terminal 10 connects to the URL of the information processing system 20. The URL can also be specified by a method in which the user directly inputs it on the user terminal 10, or by executing a shortcut of the specified URL. The communication unit 11 of the user terminal 10 generates an HTTP request including the URL of the application creation page, and then sends the generated HTTP request to the information processing system 20.
[0192] S2: After receiving the HTTP request from the user terminal 10, the screen generation unit 22 of the information processing system 20 generates screen information of the application generation page. The communication unit 21 sends an HTTP response including the screen information of the application generation page to the user terminal 10 as a response to the HTTP request. Fig.11An example of the application creation page is displayed.
[0193] S3: The user inputs a chat message (for example, please create a certain application) on the user terminal 10. It can be input by keyboard or voice. The operation acceptance unit 13 accepts the chat message. The communication unit 11 of the user terminal 10 generates a request message containing the chat message, and sends the generated request message to the information processing system 20. The communication unit 11 of the user terminal 10 sends the generated request message as, for example, an HTTP request. The communication unit 11 of the user terminal 10 can generate a request message containing a past conversation history. The history of past conversations can also be saved by the information processing system 20. In the case where the information processing system 20 maintains the history of past conversations, the communication unit 11 of the user terminal 10 may not include the history of past conversations in the request message.
[0194] S4: The communication unit 21 of the information processing system 20 receives the chat message and the past conversation history. The communication unit 21 of the information processing system 20 passes the chat message and the past conversation history to the chat control unit 23. The chat control unit 23 generates a request message including the system settings (setting information), the chat message, the past conversation history, and the function specification settings, and sends the generated request message to the generative AI system 50 by calling the first API 26 (see Figure 6 ).
[0195] S5: The generative AI system 50 sends a reply message including a response message or a function call request back to the information processing system 20 (see Figure 7 ). The chat control unit 23 receives a reply message from the generative AI system 50. The reply message may be a response message or a function call request. If it is a function call request, the process proceeds to step S7, and if it is a response message, the process proceeds to step S6.
[0196] S6: When the chat control unit 23 receives a normal response message, the communication unit 21 of the information processing system 20 transmits the response message to the user terminal 10. For example, the response message is "Please tell me the details".
[0197] S7: When the chat control unit 23 receives the function call request, it analyzes the function and determines whether it is a request (application generation request) to generate or update an application of the application service 40. The function for generating an application is specified in the function specification setting 233 of step S4, so the chat control unit 23 can easily determine that it is a request to generate an application based on the function name (name 238) included in the function call request. The chat control unit 23 also obtains arguments 239 (application name 239a, field names 239b, 239c, data format, etc.) included in the function call request.
[0198] To this end, the chat control unit 23 requests the application generation unit 25 to generate or update an application for the application service 40. The application generation unit 25 sends a request message for generating or updating an application to the application service 40 by calling the second API 27. That is, the application generation unit 25 enables the generative AI system 50 to implement the function of calling the requested function by sending a request message. In this embodiment, the application generation unit 25 generates or updates an application. The application generation unit 25 calls the above three APIs.
[0199] 1. Generate an API for the application exposed by the application service 40
[0200] 2. Add an API to add multiple fields such as "date" and "business content" to the application created in 1
[0201] 3. Expose your application’s API
[0202] In the above "2", the application generation unit 25 includes the parameter arguments 239 (application name 239a, field names 239b, 239c, data format, etc.) in the reply message from the generative AI system 50 in the request message, and requests the generation of the application. The specific request message of different application services 40 may also be different.
[0203] The information processing system 20 updates the existing application at the time of the second function call request. Therefore, not only can the application be created, but also the application can be updated.
[0204] S8: The application generation unit 25 receives a reply message from the application service 40. The reply message includes a result such as "The application was successfully created. The URL is..." If the application generation fails, the application service 40 sends back a warning message. If successful, the process proceeds to step S9, and if unsuccessful, the process proceeds to step S13.
[0205] S9: When the application is successfully generated, the chat control unit 23 sends a request message containing the URL of the application to the generative AI system 50 by calling the first API 26 (see Figure 8 ). In this way, the conversation between the user and the generative AI system 50 will have continuity.
[0206] S10: The generative AI system 50 sends a reply message including the response message back to the information processing system 20. The chat control unit 23 receives the reply message from the generative AI system 50 (see Fig. 9 ). The reply message contains the URL of the application.
[0207] S11 : When the application is successfully generated, the communication unit 21 of the information processing system 20 sends the response message included in the reply message of step S10 to the user terminal 10 . Fig.10 The processing is temporarily ended, and then the user returns to step S3 as needed to update the application.
[0208] S12: When the application generation fails and fails more than a certain number of times, the communication unit 21 of the information processing system 20 sends a result such as “generation and update of the application program failed” to the user terminal 10. Fig.10 The processing is temporarily ended, and then the user returns to step S3 as needed to create an application again.
[0209] S13: In the case where the reply message in step S8 is a message notifying that the application generation has failed, the chat control unit 23 sends a warning message from the application service 40 to the generative AI system 50 by calling the first API 26. In addition to the warning message, the past conversation history is also sent. In this way, the generative AI system 50 can make a function call request without a warning message. For example, when the request message sent by the application generation unit 25 to the application service 40 violates the specification of the second API 27 disclosed by the application service 40, the warning message sometimes includes the content of the correct specification. In this way, the generative AI system 50 can understand the specification and make the request message close to the function call request without a warning message. For example, when the warning message indicates a character type that cannot be used in the application service 40, since the warning message includes the unusable character type, the generative AI system 50 can make a function call request that does not include the character type. In addition to the character type, the format of the request information is the same.
[0210] S14: The chat control unit 23 receives a reply message from the generative AI system 50. The reply message is a function call request or a response message. However, since the chat control unit 23 sent a warning message, the response message may contain a call request for a function that successfully generates an application. If it is a function call request, the process proceeds to step S7, and if it is a response message, the process proceeds to step S6.
[0211] <Display Example of Application Creation Page on User Terminal>
[0212] Fig.11This is a schematic diagram of a display example of an application generation page 310 displayed on the user terminal 10 when the user develops an application. The chat message input by the user and the response message of the generative AI system 50 are displayed alternately on the application creation page 310. The chat message 311 is "Please create a customer management application." The response message 312 of the chat message 311 is "The customer management application has been created. You can access the following URL. The created customer management application (embedded URL) contains the following fields: customer name, email address, phone number, address, company name, industry, status, notes."
[0213] Chat message 313 is "Are there any other input items that need to be added?". Response message 314 to chat message 313 is "Various input items can also be added to the customer management application. Here are some examples:
[0214] Birthday: Field used to manage customer birthdays.
[0215] Responsible: Field for selecting the employee who is responsible for the account.
[0216] Sales Forecast: Fields used to manage customer sales forecasts.
[0217] Last Contact Date: Field used to manage the last contact date with the customer.
[0218] Importance: Field used to manage the importance of the customer. ".
[0219] Chat message 315 is "Can I add the owner and importance level?". The reply message 316 to chat message 315 shows "The owner and importance level fields have been added to the customer management application. You can access the following URL:
[0220] Customer Management Application (embed URL)
[0221] Please access the application to add fields and enter data. Please let me know if you have any additional requests or questions.
[0222] The application name 317 named "Customer Management Application" in the response message 316 contains Fig.10 The URL sent back from the application service 40 in step S8. The user only needs to click the URL to use the created or updated application.
[0223] As shown in chat messages 311, 313, and 315, the user does not enter field names in the customer management application. The field names of chat message 315 are also suggestions made by the generative AI system 50. Therefore, the user can develop a customer management application without programming knowledge or even knowledge of the customer management application.
[0224] Fig.12 is based on Fig.11 260. The customer management application screen 260 has fields for customer name 261, email address 262, phone number 263, address 264, company name 265, industry 266, status 267, memo 268, person in charge 269, and importance 270. These are fields generated in the conversation between the user and the generative AI system 50. Therefore, the user can develop a customer management application by talking to the generative AI system 50 without providing any field names.
[0225] The above example illustrates an example of creating a customer management application in a manner that does not list any field names, but a method in which the user specifies one or more field names through a chat message is also possible.
[0226] When the user presses the save button 271, the user terminal 10 sends an instruction to save the customer management application to the application service 40. After that, the user can use the customer management application through the portal screen or the like.
[0227] <Supplementary information on authentication of the second API disclosed by the information processing system using the application service>
[0228] In order for the information processing system 20 to call the second API 27, the information processing system 20 needs to be authenticated by the application service 40. Fig.10 When the information processing system 20 and the application service 40 in the sequence diagram operate in the same domain, the web browser operated on the user terminal 10 sends the authentication information of the application service 40 to the information processing system 20. The authentication information is pre-contained in a cookie, for example. Therefore, the information processing system 20 can call the second API 27 disclosed by the application service 40. In the case where the low-code or no-code platform (application service 40) and the information processing system 20 are developed by the same organization, it can be considered that it is easy to set them in the same domain, and there is no problem in this case.
[0229] However, when the information processing system 20 and the application service 40 are not operated in the same domain, authentication problems may arise. Fig.13 Provide explanation. Fig.13 This is an example of a portal screen 330 of the application service 40 displayed on the user terminal 10. The user can use the application or develop the application through the portal screen 330.
[0230] For example, assume that the portal screen 330 of the application service 40 is configured as follows. A "AI application creation" button 331 is displayed on the portal screen 330. When the user presses the "AI application creation" button 331, another web page 332 that communicates with the information processing system 20 is opened in a pop-up window. In this case, since the application service 40 and the information processing system 20 are in different domains, the user terminal 10 cannot send the authentication information of the application service 40 to the information processing system 20. Therefore, the information processing system 20 cannot call the second API 27 disclosed by the application service 40. This is because the domain of the other web page 332 displayed in the pop-up is different from that of the portal screen 330, and therefore the other web page 332 displayed in the pop-up cannot access the cookie of the application service 40.
[0231] In this regard, it is conceivable to adopt a method of requesting the original portal screen 330 to call the second API 27 disclosed by the application service 40 from another web page 332 displayed as a popup.
[0232] Fig.14 , Fig.15 This is an example sequence diagram of a case where the information processing system 20 generates or updates an application of the application service 40 by utilizing the cooperation of two web browsers in the user terminal 10 . Fig.14 , Fig.15 The description mainly describes Fig.10 Generally speaking, steps S36 to S49 are repeatedly performed.
[0233] S21: The user indicates the URL of the application service 40 to the user terminal 10. The web browser connected to the application service 40 is referred to as the original web browser 240 (for example, a first web browser).
[0234] S22 : The communication unit 11 of the user terminal 10 connects to the URL of the application service 40 . The user instructs the user terminal 10 on the URL of the portal screen 330 , and the web browser of the user terminal 10 sends an HTTP request including the URL of the portal screen 330 to the application service 40 .
[0235] S23: After receiving the above HTTP request from the user terminal 10, the application service 40 sends the screen information (HTML, JavaScript, CSS, etc.) of the portal screen 330 to the user terminal 10. The screen information includes a script for starting another web browser 250 (an example of a second web browser) and a URL of another web page 332 (application generated page).
[0236] S24 : The communication unit 11 of the user terminal 10 receives the screen information of the portal screen 330 , and the display control unit 12 of the original Web browser 240 displays the portal screen 330 .
[0237] S25: The user presses the “AI application creation” button 331 on the portal screen 330.
[0238] S26 : As a result, the inter-browser cooperation unit 14 activates another web browser 250 . Another web browser 250 is displayed as a popup. More specifically, another web browser 250 is activated by JavaScript in the screen information of the portal screen 330 .
[0239] S27: Another web browser 250 uses the URL of another web page 332 (application creation page) notified by the original web browser 240 to request the information processing system 20 to obtain another web page 332 (application creation page).
[0240] S28: The screen generation unit 22 of the information processing system 20 generates screen information (HTML, JavaScript, CSS, etc.) of the application creation page, and the communication unit 21 sends the screen information of the application creation page to another web browser 250 (user terminal 10).
[0241] S29: The communication unit 11 of the user terminal 10 receives the screen information of the application creation page. The display control unit 12 displays the application creation page according to the screen information.
[0242] S30: The user inputs a chat message such as “I want a certain application” into the user terminal 10.
[0243] The process after the user terminal 10 displays the application creation page is similar to Fig.10 Same, so Fig.14 , Fig.15 Main description and Fig.10 First, steps S31 to S34 can be Fig.10 The steps S3 to S6 are the same.
[0244] S35: In step S34, after another web browser 250 receives a reply message (here, a response message) from the generative AI system 50, the display control unit 12 of the other web browser 250 displays the response message (eg, please inform me of the details).
[0245] S36: In step S34, after another web browser 250 receives the response message (here, the function call request) from the generative AI system 50, the inter-browser cooperation unit 14 of the other web browser 250 requests the original web browser 240 to generate or update the application of the application service 40. This inter-browser communication (message transmission) is as follows.
[0246] https: / / developer.mozilla.org / en-US / docs / Web / API / Window / postMessage
[0247] S37 : The original Web browser 240 generates or updates an application program of the application service 40 for the application service 40 .
[0248] S38: The application service 40 sends the result (success, failure) of the application generation or update to the original web browser 240. If successful, the URL of the application will be notified. If failed, the system will display a warning message.
[0249] S39: The inter-browser cooperation unit 14 of the original Web browser 240 transmits the result of the generation or update of the application to the other Web browser 250. If the result is successful, the process proceeds to step S40, and if the result is unsuccessful, the process proceeds to step S46.
[0250] S40: The inter-browser cooperation unit 14 of the other web browser 250 receives the result of success (URL of the application), and the communication unit 11 of the other web browser 250 sends the result (success) of the generation or update of the application to the information processing system 20. Fig.15 In the process of FIG. 1 , the information processing system 20 receives the result from the user terminal 10 (another web browser 250) instead of the application service 40. The subsequent processing of steps S41 to S43 is the same as Fig.10 Steps S9 to S11 are the same.
[0251] S44: The communication unit 11 of the other web browser 250 receives the response message. The display control unit 12 displays the response message on the application creation page. Fig.15 The processing is temporarily ended, and then the user returns to step S30 as needed to update the application.
[0252] S45: When another web browser 250 receives the result (success, failure) of step S39, the inter-browser cooperation unit 14 determines whether the failure has continued for more than a certain number of times. If the failure has continued for more than a certain number of times, the display control unit 12 displays the result such as "application creation and update failed" on the other web browser 250. Fig.15The processing is temporarily ended, and then the user returns to step S30 as needed to create an application again.
[0253] S46: When the inter-browser cooperation unit 14 of another web browser 250 receives the result of failure (error message), the communication unit 11 of the other web browser 250 sends the result (failure) of the generation or update of the application to the information processing system 20. The subsequent processing of steps S47 and S48 is the same as that of Fig.10 Steps S13 and 14 are the same.
[0254] S49: The information processing system 20 sends a function call request or a regular response message to another Web browser 250. If it is a function call request, the process proceeds to step S36, and if it is a response message, the process proceeds to step S35.
[0255] Thereafter, during the iterative process, the information processing system 20 also generates or updates the application of the application service 40 in a manner that entrusts the user terminal 10 .
[0256] exist Fig.14 , Fig.15 In the example of displaying another web browser 250 in a pop-up window, it is described that a function called iframe corresponding to the web browser can also be used. iframe (inline frame) is a function defined by HTML elements (tags) to display other web pages or content (text, images, animations, etc.) in a web page. By embedding other web pages in a web page, it is possible to display application creation pages of other websites in the portal screen of the application service 40. The communication between windows in this case is post message. The sequence diagram in this case can be compared with Fig.10 same.
[0257] <Main Effect>
[0258] The information processing system 20 of this embodiment can solve two obstacles that users who lack professional knowledge encounter when developing applications: not knowing what kind of application to create, and not knowing how to create an application even if they want to.
[0259] The application generation system 100 of this embodiment can develop an application by allowing the user to communicate with the generative AI system 50 in natural language. The information processing system 20 specifies a function to the generative AI system 50, so that the generative AI system 50 can request the information processing system 20 to call the function and the field name of the application. Then, the information processing system 20 actually generates or updates the application. In this way, from the user's perspective, as long as the information "Please create a daily application" is input, a code-free or low-code platform for actually developing a daily application can be realized.
[0260] The best mode for carrying out the present invention has been described above using the embodiments, but the present invention is not limited to such embodiments, and various modifications and substitutions can be made without departing from the gist of the present invention.
[0261] For example, in this embodiment, the chat message input by the user is described as an example of natural language, but the user can also send an image (photo, handwriting, snapshot, etc.) representing the screen of the application to the information processing system 20 to request the generation of the application. The information processing system 20 sends the screen of the application to the generative AI system 50, and the generative AI system 50 parses the screen of the application and sends a function call request to the information processing system 20. The generative AI system 50 can include the domain name or data format extracted from the screen of the application in the function call request.
[0262] For example, in this embodiment, the chat message input by the user is described as an example of natural language, but it can also be input by voice. When the voice input method is used, the voice input by the user terminal 10 is sent from the user terminal 10 to the information processing system 20. Then, the information processing system 20 converts the received voice into text and generates a request message including the converted text. Then, the generated request message is sent to the generative AI system 50.
[0263] When the generative AI system 50 responds to the sound input, the information processing system 20 may also send the received sound to the generative AI system 50 .
[0264] In this embodiment, the user explicitly requests the information processing system 20 to generate an application, such as "I want to create a certain application", but the user does not need to explicitly make a request. For example, when the user sends a chat message "Data input is troublesome" to the information processing system 20, the information processing system 20 or the generative AI system 50 detects the trouble. If the information processing system 20 or the generative AI system 50 determines that the trouble can be solved by generating an application, it can suggest to the user to generate a new application.
[0265] In this embodiment, the information processing system 20 sends the URL of the application to the generative AI system 50, but the URL only needs to be access information for accessing the application. For example, when the ID (identification information) of the application generated by the application service 40 is sent back to the information processing system 20, the information processing system 20 sends the ID of the application to the generative AI system 50. Then, the information processing system 20 sends the ID of the application contained in the response message sent back from the generative AI system 50 to the user terminal 10. When the user terminal 10 provides the ID of the application and requests to execute the application, the information processing system 20 converts it into the URL of the application based on the ID and sends the URL back to the user terminal 10.
[0266] This embodiment is described by taking the example of the information processing system 20 receiving a function call request from the generative AI system 50, but the information processing system 20 may also receive a Web-API call request from the generative AI system 50. In other words, there is no need to strictly distinguish between functions and APIs.
[0267] The devices described in the embodiments represent only one of multiple computing environments for implementing the embodiments disclosed herein. In one embodiment, the information processing system 20 includes multiple computing devices, such as a server cluster. The multiple computing devices are configured to communicate with each other through any type of communication link including a network, shared memory, etc. to perform the processing disclosed herein.
[0268] Furthermore, the information processing system 20 may be configured to share various combinations of the processing steps disclosed in this embodiment, such as Fig.10 For example, the processing executed by the prescribed unit may be executed by a plurality of information processing devices included in the information processing system 20. The information processing system 20 may be concentrated in one server device or distributed to a plurality of devices.
[0269] Figure 5 The above configuration examples are for the purpose of facilitating the understanding of the processing of the information processing system 20, and are divided according to the main functions. However, the division method and name of the processing unit are not limited by the present invention. The processing of the information processing system 20 can also be divided into more processing units according to the processing content. It can also be divided into one processing unit to include more processing.
[0270] The functions of the above-mentioned embodiments can be implemented by one or more processing circuits. The "processing circuit" herein includes a processor programmed by software to perform various functions, such as a processor installed by an electronic circuit, and devices such as ASIC (Application Specific Integrated Circuit), DSP (digital signal processor), FPGA (field programmable gate array) and existing circuit modules designed to perform the above-mentioned functions.
[0271] [Second Embodiment]
[0272] The following describes a configuration example in which the application service 40 and the information processing system 20 are integrated. The following description takes the example in which the information processing system 20 includes the functions of the application service 40, but the application service 40 may also include the functions of the information processing system 20.
[0273] Fig.16 This is a schematic diagram of the processing of the information processing system 20 generating an application program in response to a chat message input by a user. Figure 1 Same description as .
[0274] Next, (4) the information processing system 20 generates an application according to the function call request (function call) included in the response message sent by the generative AI system 50. What kind of application is generated is determined by (2) and (3). Specifically, the information processing system 20 executes a function for generating an application according to the content of the function call request (function call). That is, Fig.16 In the case of a configuration in which the information processing system 20 generates or updates the application program by itself.
[0275] Fig.17 4 is a functional block diagram of an example of the information processing system 20, the user terminal 10, and the developer terminal 60 when the application service 40 and the information processing system 20 are integrated. Fig.17 The description mainly describes Figure 5 Since the information processing system 20 and the application service 40 are integrated, the application generation unit 25 does not call the second API 27. The functions of the communication unit 21, the screen generation unit 22, the setting information storage unit 24, and the chat control unit 23 are the same as those of the communication unit 21, the screen generation unit 22, the setting information storage unit 24, and the chat control unit 23. Figure 5 same.
[0276] Fig.17The application generation unit 25 performs its functions by executing a predefined function. The parameters input to the function to be executed include the field name of the database, the data format, etc.
[0277] [Third Embodiment]
[0278] Fig.18 Schematic diagram of the second embodiment of the generative AI system 50 processing the chat message input by the user, requesting the information processing system 20 to execute a function, and the information processing system 20 generating an application. Figure 1 Same as shown.
[0279] (1) The user inputs information about the industry or other application that the user wants to develop. The user terminal 10 sends the information about the industry or other application input by the user and a chat message to the information processing system 20. In this embodiment, the chat message is, for example, "Make a daily report application". The chat message may include not only a direct instruction such as "Make a daily report application" but also a message expressing a desire such as "I want a daily report application".
[0280] (2) After receiving the chat message input by the user, the information processing system 20 includes the chat message received via the API for receiving the request message provided by the generative AI system in the request message and sends it to the generative AI system 50. Here, the information processing system 20 includes the premise information such as the industry, the chat message, and the specification of the function in the request message and sends it.
[0281] (3) The generative AI system 50 sends a response message including a function call request (function call) to the information processing system 20 based on the industry, conversation history of the chat message, function specification settings, and system settings included in the request message sent.
[0282] The application generates supported screens that can be used with Figure 2A The screens shown are the same. Although the industry of the application you want to develop is not necessary, the user inputting the industry can facilitate the generative AI system 50 to generate an application project suitable for the user.
[0283] The information processing system 20 described in this embodiment can communicate with the application service 40, or the information processing system 20 and the application service 40 are in the same domain.
[0284] The system configuration of the application generation system 100 according to this embodiment can be Figure 3 The structure shown is the same.
[0285] The hardware configuration of the information processing system 20, the user terminal 10, and the developer terminal 60 of the application generation system 100 is similar to Figure 4 The examples shown are the same.
[0286] <Functional Description>
[0287] Next reference Fig.19 , describing the functional structure of the application generation system 100. Fig.19 This is a functional block diagram of an example of the information processing system 20 , the user terminal 10 , and the developer terminal 60 .
[0288] User Terminal
[0289] The user terminal 10 includes a communication unit 11, a display control unit 12, and an operation receiving unit 13. These functional units are Figure 4 The CPU 501 shown executes the functions or devices implemented by the commands of one or more programs installed on the user terminal 10. For example, the communication unit 11, the display control unit 12, and the operation receiving unit 13 may include at least one of a web browser and JavaScript (registered trademark). Omitted below. ) to implement. If the developer terminal 60 runs a local application, these can be implemented by the local application.
[0290] The communication unit 11 sends and receives various information to and from the information processing system 20. In this embodiment, the communication unit 11 receives screen information of the portal screen from the application service 40, or receives screen information of the application creation page for inputting chat messages from the information processing system 20. The communication unit 11 sends chat messages or operation information on the user terminal 10 to the information processing system 20. The communication unit 11 can also communicate directly with the generative AI system 50.
[0291] The display control unit 12 interprets the screen information of various screens and displays the screen information on the display 506. The operation reception unit 13 receives various operations of the user on the various screens displayed on the display 506.
[0292] Developer Terminal
[0293] The composition of the developer terminal Figure 5 same.
[0294] Information Processing System
[0295] The information processing system 20 includes a communication unit 21, a screen generation unit 22, a chat control unit 23, a setting information storage unit 24, an application generation unit 25, and a setting information generation unit 28. Each functional unit of the information processing system 20 is controlled by Figure 4The CPU 501 shown executes the functions or devices implemented by the instructions contained in one or more programs installed in the information processing system 20. The setting information storage unit 24 is composed of Figure 4 The configuration shown is HD504 or RAM503. The information processing system 20 does not need to include the setting information storage unit 24, and the setting information storage unit 24 only needs to be on a network that the information processing system 20 can access.
[0296] The communication unit 21 sends and receives various information with the user terminal 10. The communication unit 21 sends screen information of the chat screen to the user terminal 10. The communication unit 21 receives chat messages input by the user for developing an application from the user terminal 10. In addition, the communication unit 21 sends and receives various information with the developer terminal 60. The communication unit 21 sends screen information of the input screen of the setting information to the developer terminal 60. The communication unit 21 receives the setting information input by the developer from the developer terminal 60 and stores it in the setting information storage unit 24.
[0297] The screen generation unit 22 generates screen information of the screen (web page) displayed by the user terminal 10 and the developer terminal 60. The web page is a part of the web application. The screen information is a program described in HTML, JSON, XML, scripting language, CSS (Cascading Style Sheet), etc. The structure of the web page is mainly determined by HTML, the action of the web page is specified by the scripting language, and the style of the web page is determined by CSS. Local applications can also be run on the user terminal 10. Local applications refer to applications that must be installed on the user terminal 10 to run. In the case of local applications, the screen information is maintained by the user terminal 10, and the displayed information is sent in JSON or XML, etc.
[0298] The chat control unit 23 sends a request message to the generative AI system 50 by calling the first API 26. The request message includes a chat message (including past conversation history), system settings, and function specification settings. The setting information generation unit 28 generates system settings that can be analyzed by the generative AI system 50 based on the setting information stored in the setting information storage unit 24. The setting information generation unit 28 includes the type of work input by the user in the system settings.
[0299] The first API 26 is one or more APIs disclosed by the generative AI system 50. As a result of calling the first API 26, the chat controller 23 receives a reply message to the request message from the generative AI system 50. The reply message is a function call request to the information processing system 20, or a URL of a generated or developed application, etc.
[0300] Functions and references of the application generation unit 25 Figure 5 The functions described are the same.
[0301] The function called function call provided by the generative AI system 50 is the same as the function described in the first embodiment.
[0302] <Application development support for application services>
[0303] This embodiment takes the example of a user developing a daily report application to illustrate the request message sent by the information processing system 20 and the reply message sent by the generative AI system 50 .
[0304] Fig. 20 This is an example of a request message in which the information processing system 20 calls the first API 26 disclosed by the generative AI system 50 when the user inputs "Please create a daily report application" on the screen of the user terminal 10. The request message includes role 230a and content 230b. Role 230a indicates the speaker, and there are user (user), assistant (AI of the generative AI system 50), and system (settings that indicate the AI assistant). Content 230b is the content of the conversation, which can be described in natural language.
[0305] Fig. 20 The request message first includes the system settings 229 of system. The system settings 229 are information 229a, which indicates "You will now help us develop an application within a SaaS service called the X application service. You will then talk to the user to decide the "fields" of the application. The field definitions are expressed in JSON format. For example, consider a daily report application with the following three fields." The system settings 229 also include information 229b indicating that fields such as "Date", "Business Content", and "Thoughts, Learning" are used as field names. The data format of each field is also indicated, such as DATE, MULTI_LINE_TEXT, MULTI_LINE_TEXT. These information 229a, 229b are based on the setting information that the developer has sent to the information processing system 20 in advance.
[0306] The request message also includes industry and job type information 232. These are the information that the user Fig.24 The industry and job type information 232 is one of the system settings set by the setting information generation unit 28 according to the industry, etc. The industry and job type information 232 is considered to be the prerequisite information for the generative AI system 50 to generate an application. This information helps the generative AI system 50 to generate an appropriate application project for the user.
[0307] The request information also includes chat information 231 input by the user, “Please create a daily report application.”
[0308] Fig. 20 The request information includes function specification setting 233. functions is the function specification setting 233, and the function specification setting 233 has the following attributes:
[0309] name234 is the name of the function (create_or_update_app).
[0310] description235 specifies the function specifications. Specifically, the specifications are "Create a daily report application. On success, return {\"ok\": true, \"value\": \"URL of the application\"}; on failure, return {\"ok\": false, \"error\": .}." That is, description235 instructs the generative AI system 50 to return a URL or a warning message.
[0311] parameters236 are also part of the function specification.
[0312] "type": "object" indicates the data format of the returned value.
[0313] "required": ["properties", "name"] indicates the name of the item (field name) required for the returned value.
[0314] "name":{"type":"string"} indicates the data format of name.
[0315] "type": "array" indicates table format.
[0316] The fields' required attributes and data formats are listed under "items".
[0317] By setting the function specification 233, the information processing system 20 instructs the generative AI system 50 that the generative AI system 50 can request the information processing system 20 to Fig. 20 The call of the function defined in that way.
[0318] Examples of reply messages from the generative AI system 50 and Figure 7 Same as shown.
[0319] Fig.21This is an example of a request message sent by the information processing system 20 to the generative AI system 50 after the application service 40 generates or updates an application. The request message includes system settings 229, industry and job information 232, chat messages 231, and function call requests 241 as the history of past conversations. The information processing system 20 adds the function execution result 243 to the past conversation history. Fig.21 The function execution result 243 is the executed function 243a, the name of the executed function 243b (create_or_update_app) and the URL 243c. Fig.21 Although the function specification setting 233 is included again, this is also the past conversation history. Fig.21 The function specification setting 233 is included as the history of past conversations, but it may not be included depending on the specifications of the API provided by the generative AI system 50.
[0320] exist Fig.21 In addition to URL 243c, the information processing system 20 also includes the history of past conversations (system settings 229, industry and job information 232, chat messages 231, function call requests 241, executed functions 243a, function names 243b), but if the generative AI system 50 has the function of retaining the history of past conversations, the information processing system 20 can only send URL 243c to the generative AI system 50. In other words, the information processing system 20 only needs to send the content of the past conversation history records to the generative AI system 50 at least once in the past.
[0321] Generative AI systems50 Fig.21 An example of a reply message given for a request message is Fig. 9 same.
[0322] <Action or Process>
[0323] Fig. 22 This is a sequence diagram of an example of processing for supporting application development by the information processing system 20. Steps S106 to S117 are generally repeatedly executed, and steps S112 to S117 are repeatedly executed.
[0324] S101: The communication unit 11 of the user terminal 10 connects to the URL of the information processing system 20. The URL can also be specified by a method in which the user directly inputs it in the user terminal 10, or by executing a shortcut method for specifying the URL. The communication unit 11 of the user terminal 10 generates an HTTP request including the URL of the portal screen 330, and sends the generated HTTP request to the information processing system 20.
[0325] S102: After receiving the HTTP request from the user terminal 10, the screen generation unit 22 of the information processing system 20 generates screen information of the portal screen 330. The communication unit 21 sends an HTTP response including the screen information of the portal screen 330 to the user terminal 10 as a reply to the HTTP request. Fig.23 This is an example of a portal screen 330 .
[0326] S103: In addition, the user inputs an operation to display the chat screen 630 on the portal screen 330 to the user terminal 10. For example, the user presses a button provided on the portal screen 330. The communication unit 11 of the user terminal 10 generates an HTTP request including the URL of the chat screen 630, and sends the generated HTTP request to the information processing system 20.
[0327] S104: After the communication unit 21 of the information processing system 20 receives the HTTP request from the user terminal 10, the screen generation unit 22 generates the screen information of the chat screen 630. The communication unit 21 sends an HTTP response including the screen information of the chat screen 630 to the user terminal 10 as a reply to the HTTP request. The communication unit 11 of the user terminal 10 receives the HTTP response, and the display control unit 12 displays the chat screen 630. Fig.23 An example of a chat screen 630 is shown.
[0328] S105: The user inputs the industry and the type of work on the user terminal 10 according to the message 631 as the input instruction. The input can be made by keyboard or voice. The operation receiving unit 13 receives the industry and the type of work. The user performs the sending operation of the industry and the type of work. The communication unit 11 of the user terminal 10 generates a request message including the industry and the type of work, and sends the generated request message to the information processing system 20. The communication unit 11 of the user terminal 10 sends the generated request message as, for example, an HTTP request.
[0329] S106~S117 and Fig.10 However, in S107, the setting information generation unit 28 generates system settings based on the industry and job type information 232, which is the same as Fig.10 By including industry and job type information 232 in the request message, the generative AI system 50 can easily generate a project of a suitable application for the user.
[0330] <Screen example of user terminal>
[0331] Fig.23The portal screen 330 and the chat screen 630 are examples of the application service 40 displayed on the user terminal 10. The user can use the application or develop the application through the portal screen 330. The chat screen 630 is displayed superimposed on the portal screen 330. The chat screen 630 is a screen for the user to chat with the generative AI system 50. When the user develops an application, in this embodiment, the generative AI system 50 asks the user about the user's industry. For this purpose, the chat screen 630 has a message 631 "Please answer the industry to which the customer belongs" and a drop-down menu 632. The user sees the message 631 indicating the input of the type of work, and selects the manufacturing industry, etc. from the drop-down menu 632.
[0332] Next, the chat screen 630 displays a message 633 "Please answer the type of work that the customer belongs to" and a drop-down menu 634. The user sees the message 633 and selects personnel, labor, etc. from the drop-down menu 634. In this way, the user inputs the industry and type of work, so that the generative AI system 50 can generate an application with appropriate items.
[0333] Fig.23 The industry and the type of work are input in the user terminal 10. The industry and the type of work are the industries and types of work that use the application. The business content that uses the application can also be specified. The work content of the user who operates the user terminal 10 can also be specified. The work content refers to, for example, a nurse and a programmer. The application name of the generated application can also be specified.
[0334] Fig.11 It is a schematic diagram for explaining a display example of a chat screen 310 displayed on the user terminal 10 when the user develops an application. Fig.11 Chat screen 310 then Fig.23 The chat screen 630 is displayed.
[0335] The chat screen 310 alternately displays the chat message input by the user and the response message of the generative AI system 50. The chat message 311 is "Please create a customer management application." The response message 312 to the chat message 311 is "The customer management application has been created. You can access the application from the following URL: Customer Management Application (with embedded URL)
[0336] The application contains the following fields:
[0337] Customer Name, Email Address, Phone Number, Address, Company Name, Industry, Status, Notes"
[0338] Chat message 313 is "Are there any other input items that need to be added?". Response message 314 to chat message 313 shows:
[0339] There are a variety of input items that can be added to the Customer Management application. Here are some examples:
[0340] Birthday: Field used to manage customer birthdays.
[0341] Responsible: Field for selecting the employee who is responsible for the account.
[0342] Sales Forecast: Fields used to manage customer sales forecasts.
[0343] Last Contact Date: Field used to manage the last contact date with the customer.
[0344] Importance: Field used to manage the importance of the customer. ".
[0345] Chat message 315 is “Do you need to add a responsible person and importance level?”. Response message 316 to chat message 315 is “The “Responsible Person” and “Importance Level” fields have been added to the customer management application.
[0346] You can access the application from the following URL:
[0347] Customer Management Application (with embedded URL)
[0348] Please access the application, add fields and enter data. Please let us know if you have additional requests or questions. "
[0349] The application name 317 of the "customer management application" in the response message 316 contains Fig. 22 The URL sent back from the application service 40 in step S11. The user can use the generated application or the updated application simply by clicking the URL.
[0350] As shown in chat messages 311, 313, and 315, the user does not enter field names in the customer management application. The field names of chat message 315 are also proposed by the generative AI system 50. Therefore, the user can develop a customer management application without programming knowledge or even knowledge of the customer management application.
[0351] according to Fig.23 An example of a customer management application screen 260 displayed by a customer management application generated by a conversation with Fig.12 same.
[0352] <Main Effect>
[0353] The information processing system 20 of this embodiment can solve two obstacles when users who lack professional knowledge develop applications (not knowing what kind of application to make, and not knowing how to make an application even if they want to make one). Since the user informs the generative AI system 50 of the industry and type of work, it is helpful for the generative AI system 50 to generate an application project suitable for the user.
[0354] The application generation system 100 of this embodiment can develop an application by the user communicating with the generative AI system 50 in natural language. The information processing system 20 specifies a function to the generative AI system 50, so the generative AI system 50 can request the information processing system 20 to call the function and the field name of the application. Then, the information processing system 20 actually generates or updates the application. In this way, from the user's perspective, as long as the information "please make a daily application" is input, a no-code or low-code platform for actually developing a daily application can be realized.
[0355] [Fourth Embodiment]
[0356] This embodiment explains how to avoid the inconvenience of authentication when the information processing system uses the second API disclosed by the application service.
[0357] As described above, in order for the information processing system 20 to call the second API 27 , the information processing system 20 needs to receive authentication from the application service 40 . Fig. 22 When the information processing system 20 and the application service 40 in the sequence diagram operate in the same domain, the authentication information of the application service 40 is sent from the web browser running in the user terminal 10 to the information processing system 20. The authentication information is pre-contained in a cookie, for example. To this end, the information processing system 20 can call the second API 27 exposed by the application service 40. In the case where the low-code or no-code platform (application service 40) and the information processing system 20 are developed by the same organization, it is easy to set them in the same domain, and there is no problem in this case.
[0358] The authentication issues when the information processing system 20 and the application service 40 operate in different domains have been referred to in Fig.13 illustrate.
[0359] In this regard, it is conceivable to adopt a method of requesting the original portal screen 330 to call the second API 27 exposed by the application service 40 from another web page 332 displayed as a popup.
[0360] <Functional Configuration>
[0361] Fig.24FIG. 6 is a schematic diagram showing an example of the functional configuration of the information processing system 20 and the user terminal 10 of this embodiment. The function of the developer terminal 60 is the same as that of the first embodiment. Fig.24 The description mainly describes Fig.19 The difference.
[0362] User Terminal
[0363] The user terminal 10 executes the first web browser 240 and the second web browser 250. The first web browser 240 and the second web browser 250 may be different applications or different tabs (different web pages) displayed by a tab browser.
[0364] The first web browser 240 includes a first communication unit 11a, a first display control unit 12a, a first operation receiving unit 13a, an application generating unit 25, a starting unit 15, and a first inter-browser cooperation unit 14a. Figure 4 The CPU 501 shown in the figure executes the script contained in the web page obtained by the user terminal 10 from the application service 40 to realize the function or device. Fig.19 The same.
[0365] The first communication unit 11a transmits and receives various information to and from the application service 40. In the present embodiment, the first communication unit 11a receives screen information such as a portal screen from the application service 40.
[0366] The first display control unit 12a interprets screen information such as a web page displayed by the first web browser 240 and displays the screen information on the display 506. The first operation accepting unit 13a accepts various operations on the web page displayed on the display 506 by the user.
[0367] The launcher 15 launches the second web browser 250 in response to a user operation on the web page displayed by the first web browser 240. The web page displayed by the first web browser 240 includes the URL of the information processing system 20, and the second web browser 250 connects to the URL.
[0368] The first inter-browser cooperation unit 14a sends and receives information with the second inter-browser cooperation unit 14b of the second web browser 250. Multiple web browsers can be run simultaneously on one user terminal 10. Information can be notified from the first inter-browser cooperation unit 14a to the second inter-browser cooperation unit 14b (and vice versa). Through the first inter-browser cooperation unit 14a and the second inter-browser cooperation unit 14b, when only the first web browser 240 holds authentication information about a specific website (for example, the application service 40), the second web browser 250 can cooperate with the first web browser 240 to communicate with the specific website. The first web browser 240 communicates with the application service 40, and the second web browser 250 is a web browser that communicates with the generative AI system 50 through the information processing system 20. The second web browser 250 can send a reply message from the generative AI system 50 to the first web browser 240 by using the second inter-browser cooperation unit 14b. The scripts sent by the application service 40 and the information processing system 20 respectively describe codes that implement the functions of the first inter-browser cooperation unit 14a and the second inter-browser cooperation unit 14b.
[0369] The second web browser 250 includes a second communication unit 11b, a second display control unit 12b, a second operation receiving unit 13b, and a second inter-browser cooperation unit 14b. Figure 4 The CPU 501 shown executes a function or device implemented by executing a script included in a web page obtained by the user terminal 10 from the information processing system 20. The second communication unit 11b sends and receives various information to and from the information processing system 20. In this embodiment, the first communication unit 11a receives screen information of the chat screen 630 from the information processing system 20. The second communication unit 11b sends a chat message to the information processing system 20, or receives a function call request from the information processing system 20.
[0370] The second display control unit 12b interprets screen information such as a web page displayed by the second web browser 250, and displays the screen information on the display 506. The second operation accepting unit 13b accepts various operations on the web page displayed on the display 506 by the user.
[0371] The second inter-browser cooperation unit 14b has the same function as the first inter-browser cooperation unit 14a. The second inter-browser cooperation unit 14b sends the function call request received from the information processing system 20 to the first inter-browser cooperation unit 14a.
[0372] Information Processing System
[0373] The information processing system 20 includes a communication unit 21, a screen generation unit 22, a chat control unit 23, a setting information storage unit 24, and a setting information generation unit 28. These functions can be used together with Fig. 20 The same.
[0374] <Action or Process>
[0375] Fig.25 , Fig.26 This is an example sequence diagram of a case where the information processing system 20 generates or updates an application of the application service 40 by utilizing the cooperation of two web browsers in the user terminal 10 . Fig.25 , Fig.26 Main description and Fig. 22 Generally speaking, steps S36 to S49 are repeatedly performed.
[0376] S121 : The user provides the URL of the application service 40 to the user terminal 10 . The web browser connected to the application service 40 is referred to as the first web browser 240 .
[0377] S122 : The first communication unit 11 a of the first web browser 240 connects to the URL of the application service 40 . The user provides the URL of the portal screen 330 to the user terminal 10 , and the first communication unit 11 a sends an HTTP request including the URL of the portal screen 330 to the application service 40 .
[0378] S123: After receiving the HTTP request from the user terminal 10, the application service 40 sends the screen information (HTML, JavaScript, CSS, etc.) of the portal screen 330 to the user terminal 10. The screen information includes the script for starting the second web browser 250 and the URL of the chat screen.
[0379] S124 : The first communication unit 11 a of the first web browser 240 receives the screen information of the portal screen 330 , and the first display control unit 12 a of the first web browser 240 displays the portal screen 330 .
[0380] S125: The user presses the "Create AI Application" button 331 on the portal screen 330. The first operation receiving unit 13a receives the press.
[0381] S126: Thus, the launcher 15 launches the second web browser 250. The first inter-browser cooperation unit 14a notifies the second web browser 250 of the URL of the chat screen 630 included in the portal screen 330. The second web browser 250 is displayed as a pop-up. Specifically, the second web browser 250 is launched by a script included in the screen information of the portal screen 330.
[0382] S127 : The second communication unit 11 b of the second web browser 250 uses the URL of the chat screen 630 notified by the first web browser 240 to request the information processing system 20 to provide the chat screen 630 .
[0383] S128: The screen generation unit 22 of the information processing system 20 generates screen information (HTML, JavaScript, CSS, etc.) of the chat screen 630, and the communication unit 21 transmits the screen information of the chat screen 630 to the second web browser 250 (user terminal 10).
[0384] S129: The second communication unit 11b of the second web browser 250 receives the screen information of the chat screen 630. The second display control unit 12b displays the chat screen 630 according to the screen information.
[0385] S130: The user responds to the message 631 as an input instruction and inputs the industry and the type of work on the second web browser 250. The input can be made using a keyboard or voice. The second operation receiving unit 13b receives the industry and the type of work. The user performs a sending operation of the industry and the type of work.
[0386] S131: The second communication unit 11b of the second web browser 250 generates a request message including the industry and the type of work, and sends the generated request message to the information processing system 20. The second communication unit 11b sends the generated request message as, for example, an HTTP request.
[0387] S132: Next, the user enters a chat message such as "I want to create a certain application" on the chat screen 310.
[0388] The process after the user terminal 10 displays the chat screen 310 is similar to Fig. 22 Same, so Fig.25 , Fig.26 Main description and Fig. 22 First, steps S133 to S136 are different from Fig. 22 Steps S106 to S109 are the same.
[0389] S133 : The second communication section 11 b of the second Web browser 250 sends the chat message and the past history to the information processing system 20 .
[0390] S134: The communication unit 21 of the information processing system 20 receives the chat message and the past conversation history. The communication unit 21 of the information processing system 20 passes the chat message and the past conversation history to the chat control unit 23. The setting information generation unit 28 generates system settings based on the industry and job information 232 received in step S31 and the setting information stored in the setting information storage unit 24. The chat control unit 23 generates a request message including system settings (setting information), chat messages, past conversation history, and function specification settings, and sends the generated request message to the generative AI system 50 (see Fig.19 ).
[0391] S135: The generative AI system 50 sends a reply message including a response message or a function call request back to the information processing system 20 (see Figure 7 ). The chat control unit 23 receives a reply message from the generative AI system 50. The reply message may be a response message or a function call request.
[0392] S136: The communication unit 21 of the information processing system 20 sends a reply message including a response message (normal message) or a function call request to the second web browser 250. If it is a response message, the process proceeds to step S137, and if it is a function call request, the process proceeds to step S138.
[0393] S137: In step S136, after the second web browser 250 receives the reply message (here, the response message) from the generative AI system 50, the second display control unit 12b of the second web browser 250 displays the response message (for example, please tell me the details).
[0394] S138: In step S136, after the second web browser 250 receives the reply message (here, the function call request) from the generative AI system 50, the second inter-browser cooperation unit 14b of the second web browser 250 requests the first web browser 240 to generate or update the application of the application service 40. This inter-browser writing (message transmission) is as follows.
[0395] https: / / developer.mozilla.org / ja / docs / web-API / Window / postMessage
[0396] S139 : The first inter-browser cooperation unit 14 a of the first Web browser 240 receives the request to generate or update the application, and the application generation unit 25 generates or updates the application to the application service 40 by calling the second API 32 .
[0397] S140: The application service 40 sends the result (success, failure) of the generation or update of the application to the application generation unit 25 of the first web browser 240. If successful, the URL of the application is notified. If failed, a warning message is notified.
[0398] S141: The first inter-browser cooperation unit 14a of the first web browser 240 transmits the result of the generation or update of the application to the second web browser 250. If the result is successful, the process proceeds to step S142, and if the result is unsuccessful, the process proceeds to step S148.
[0399] S142: The second inter-browser cooperation unit 14b of the second Web browser 250 receives the result of success (URL of the application), and the second communication unit 11b of the second Web browser 250 sends the result (success) of the generation or update of the application to the information processing system 20. Fig.26 In the process of FIG. 1 , the information processing system 20 receives the result from the user terminal 10 (the second web browser 250) instead of the application service 40. The subsequent processing of steps S143 to S145 is the same as that of FIG. Fig. 22 Steps S112 to S114 are the same.
[0400] S146: The second communication section 11b of the second web browser 250 receives the response message. The second display section 12b displays the response message on the chat screen 310. In step S146 Fig.26 The processing is temporarily ended, and then the user returns to step S132 as needed to update the application.
[0401] S147: When the second web browser 250 receives the result (success, failure) of step S141, the second inter-browser cooperation unit 14b determines whether the failure has occurred for more than a certain number of consecutive times. If the failure has occurred for more than a certain number of consecutive times, the second display control unit 12b displays a result such as "application creation and update failed" on the chat screen 310. Fig.26 The processing is temporarily ended, and then the user returns to step S132 as needed to create an application again.
[0402] S148: When the second inter-browser cooperation unit 14b of the second Web browser 250 receives the result of failure (warning message), the second communication unit 11b of the second Web browser 250 sends the result (failure) of the generation or update of the application to the information processing system 20. The subsequent processing of steps S49 and S50 is the same as that of Fig. 22 The steps S116 and S117 are the same.
[0403] S151: The information processing system 20 sends a function call request or a normal response message to the second web browser 250. If it is a function call request, the process proceeds to step S138, and if it is a response message, the process proceeds to step S141.
[0404] Thereafter, during the iterative process, the information processing system 20 also generates or updates the application of the application service 40 in a manner requesting the user terminal 10 .
[0405] exist Fig.25 , Fig.26 The example of pop-up display of the second web browser 250 is described in the figure, but the function called iframe corresponding to the web browser can also be used. iframe (inline frame) refers to the function defined by HTML elements (tags) to display other web pages or content (text, images, animations, etc.) within a web page. By embedding other web pages within a web page, chat screens on other sites can be displayed within the portal screen of the application service 40. The communication between windows in this case is post message. The timing diagram at this time is the same as Fig. 22 The same.
[0406] <Main Effect>
[0407] In addition to the effects of the second embodiment, the information processing system 20 of this embodiment can generate an application when the application service 40 provides a service from a website in a domain different from that of the information processing system 20 .
[0408] The application generation system 100 of this embodiment can develop an application by the user communicating with the generative AI system 50 in natural language. The information processing system 20 specifies a function to the generative AI system 50, so the generative AI system 50 can request the information processing system 20 to call the function and the field name of the application. Then, the information processing system 20 actually generates or updates the application. In this way, from the user's perspective, as long as the information "please make a daily report application" is input, a no-code or low-code platform for actually developing a daily report application can be realized.
[0409] <Other Application Examples>
[0410] The best modes for carrying out the present invention have been described above by way of example. However, the present invention is not limited to these embodiments, and various modifications and substitutions can be made without departing from the gist of the present invention.
[0411] For example, in this embodiment, an example in which the chat message input by the user is a natural language is described, but the user can also send an image (photo, handwriting, snapshot, etc.) representing the screen of the application to the information processing system 20 to request the generation of the application. The information processing system 20 sends the screen of the application to the generative AI system 50, and the generative AI system 50 parses the screen of the application and sends a function call request to the information processing system 20. The generative AI system 50 can include the domain name and data format extracted from the screen of the application in the function call request. In addition, a document can also be sent as a chat message.
[0412] For example, in this embodiment, the chat message input by the user is described as an example of natural language, but it can also be a method of inputting a spoken voice. When the voice input method is used, the voice input by speaking on the user terminal 10 is sent from the user terminal 10 to the information processing system 20. Then, the information processing system 20 converts the received voice into text and generates a request message including the converted text. Then, the generated request message is sent to the generative AI system 50.
[0413] When the generative AI system 50 responds to the sound input, the information processing system 20 may also send the received sound to the generative AI system 50 .
[0414] In this embodiment, the user explicitly requests the information processing system 20 to generate an application, such as "I want to create a certain application", but the user does not need to explicitly make a request. For example, when the user sends a chat message "Data input is troublesome" to the information processing system 20, the information processing system 20 or the generative AI system 50 detects the trouble. If the information processing system 20 or the generative AI system 50 determines that the trouble can be solved by generating an application, it can suggest to the user to generate a new application.
[0415] In this embodiment, the information processing system 20 sends the URL of the application to the generative AI system 50, but the URL only needs to be access information for accessing the application. For example, when the ID (identification information) of the application generated by the application service 40 is sent back to the information processing system 20, the information processing system 20 sends the ID of the application to the generative AI system 50. Then, the information processing system 20 sends the ID of the application contained in the response message sent back from the generative AI system 50 to the user terminal 10. When the user terminal 10 provides the ID of the application and requests to execute the application, the information processing system 20 converts it into the URL of the application based on the ID and sends the URL back to the user terminal 10.
[0416] This embodiment is described by taking the example of the information processing system 20 receiving a function call request from the generative AI system 50, but the information processing system 20 may also receive a Web-API call request from the generative AI system 50. In other words, there is no need to strictly distinguish between functions and APIs.
[0417] The devices described in the embodiments represent only one of multiple computing environments for implementing the embodiments disclosed herein. In one embodiment, the information processing system 20 includes multiple computing devices, such as a server cluster. The multiple computing devices are configured to communicate with each other through any type of communication link including a network, shared memory, etc. to perform the processing disclosed herein.
[0418] Furthermore, the information processing system 20 may be configured to share various combinations of the processing steps disclosed in this embodiment, such as Fig.10 For example, the processing executed by the prescribed unit may be executed by a plurality of information processing devices included in the information processing system 20. The information processing system 20 may be concentrated in one server device or distributed to a plurality of devices.
[0419] Figure 5 The above configuration examples are for the purpose of facilitating the understanding of the processing of the information processing system 20, and are divided according to the main functions. However, the division method and name of the processing unit are not limited by the present invention. The processing of the information processing system 20 can also be divided into more processing units according to the processing content. It can also be divided into one processing unit to include more processing.
[0420] The functions of the above-mentioned embodiments can be implemented by one or more processing circuits. The "processing circuit" herein includes a processor programmed by software to perform various functions, such as a processor installed by an electronic circuit, and devices such as ASIC (Application Specific Integrated Circuit), DSP (digital signal processor), FPGA (field programmable gate array) and existing circuit modules designed to perform the above-mentioned functions.
[0421] [Fourth Embodiment]
[0422] The following describes a configuration example in which the application service 40 and the information processing system 20 are integrated. The following description takes the example in which the information processing system 20 includes the functions of the application service 40, but the application service 40 may also include the functions of the information processing system 20.
[0423] Fig. 27This is a schematic diagram of the processing of the information processing system 20 generating an application program in response to a chat message input by a user. Fig.18 Same description as .
[0424] Next, (4) the information processing system 20 generates an application according to the function call request (function call) included in the response message sent by the generative AI system 50. What kind of application is generated is determined by (2) and (3). Specifically, the information processing system 20 executes a function for generating an application according to the content of the function call request (function call). That is, Fig. 27 In the case of a configuration in which the information processing system 20 itself generates or updates the application.
[0425] Fig.28 4 is a functional block diagram of an example of the information processing system 20, the user terminal 10, and the developer terminal 60 when the application service 40 and the information processing system 20 are integrated. Fig.28 The description mainly describes Fig.19 Since the information processing system 20 and the application service 40 are integrated, the application generation unit 25 does not call the second API 27. In addition, the functions of the communication unit 21, the screen generation unit 22, the setting information storage unit 24, the chat control unit 23, and the setting information generation unit 28 can be the same as those of the application service 40. Fig.19 same.
[0426] Fig.28 The application generation unit 25 performs its functions by executing a predefined function. The parameters input to the function to be executed include the field name of the database, the data format, etc.
[0427] Embodiments of the present invention bring great improvements to the capabilities and functions of computers. These improvements enable users to use computers that have more efficient and reliable conversations with tables as a method of storing and providing information in information processing devices. Embodiments of the present invention provide a better user experience by using a more efficient and powerful and reliable user interface. Such a user interface provides better human-computer interaction.
[0428] <Remarks>
[0429] [1] An information processing device that communicates with a terminal device and a generative AI system via a network, comprising:
[0430] An application generating unit, configured to generate the application of the request according to the parameters included in the request for generating the application by executing a predefined function; and
[0431] a chat control unit, configured to send the received chat message to the generative AI system when receiving the chat message sent by the terminal device,
[0432] in,
[0433] The chat control unit sends setting information for generating the application and information for calling the function to the generative AI system at least once,
[0434] After the chat control unit receives the request sent by the generative AI system based on the chat message sent to the generative AI system, the setting information sent to the generative AI system, and the information sent to the generative AI system for calling the function, the application generation unit generates the application for the request according to the parameters contained in the received request.
[0435] [2] The information processing device according to [1], wherein, when the chat control unit receives a response message from the generative AI system to the chat message sent to the generative AI system, the chat control unit sends the response message to the terminal device.
[0436] [3] An information processing device according to [2], wherein the chat control unit sends access information for accessing the generated application to the generative AI system in order to enable the generative AI system to include the access information for accessing the generated application in the response message.
[0437] [4] An information processing device according to [3], wherein, as a response to the access information sent to the generative AI system, when the chat control unit receives the response message containing the access information from the generative AI system, the response message containing the access information is sent to the terminal device.
[0438] [5] The information processing device according to any one of Notes [1] to [4], wherein:
[0439] The information for calling a function includes a specification setting of the function called by the generative AI system,
[0440] According to the specification setting of the function, the function call request sent by the generative AI system to the information processing device to call the function includes a request generated by the application program,
[0441] The chat control unit receives a request for generation of the application from the generative AI system.
[0442] [6] The information processing device according to [3], wherein:
[0443] When the chat control unit receives a request for generating the application from the generative AI system, the application generating unit generates the requested application according to the parameters.
[0444] When the chat control unit receives the response message to the chat message from the generative AI system instead of the request for generation of the application, the chat control unit transmits the response message to the terminal device.
[0445] [7] An information processing device according to any one of claims [1] to [6], wherein, when the application generation unit fails to generate the application, the chat control unit sends a warning message obtained due to the failure to generate the application and the chat message received again to the generative AI system, and receives a request for generation of the application as a response to the warning message and the chat message.
[0446] [8] An information processing device according to any one of [1] to [6], wherein, when the application generation unit fails to generate the application a certain number of times, the chat control unit sends a message indicating that the application generation failed to the terminal device.
[0447] [9] An information processing device according to any one of [1] to [7], wherein when the application is an application registered in a table with data, the parameter is one or more field names in the table.
[0448]
[10] The information processing device according to any one of [1] to [8], wherein:
[0449] The information processing device communicates with an application service that executes the application via a network,
[0450] The application generation unit specifies the parameters and requests the application service to generate the application.
[0451]
[11] The information processing device according to
[10] , wherein:
[0452] executing, in the terminal device, a first web browser communicating with the application service and a second web browser started by the first web browser,
[0453] The information processing device receives the chat message from the second Web browser,
[0454] The chat control unit receives a request for generation of the application sent by the generative AI system,
[0455] The application generation unit sends a request for generating the application to the second web browser,
[0456] The second web browser sends the generated request of the application to the first web browser,
[0457] The first web browser sends a generated request for the application to the application service.
[0458]
[12] The information processing device according to [1], wherein:
[0459] further comprising a setting information generating unit for generating setting information for generating the application program,
[0460] The chat control unit displays an input instruction on the input screen for receiving the chat message, instructing input of premise information generated by the application,
[0461] The setting information generating unit generates the setting information including the premise information input in response to the input instruction.
[0462]
[13] An information processing device according to
[12] , wherein the prerequisite information is one of the industry or type of work using the application, the business content using the application, the work content of the user of the terminal device, and the application name of the application.
[0463]
[14] An application generation method, which can be used in an application generation system in which a terminal device and a generative AI system communicate with an information processing device via a network and perform the following steps:
[0464] The step of sending the chat message input in the terminal device to the generative AI system,
[0465] An application generation step, generating the application of the request according to the parameters contained in the request for application generation by executing a predefined function; and
[0466] a chat control step, when receiving a chat message sent by the terminal device, sending the received chat message to the generative AI system,
[0467] in,
[0468] In the chat control step, setting information for generating the application and information for calling a function for generating the application are sent to the generative AI system at least once,
[0469] After receiving the request sent by the generative AI system based on the chat message sent to the generative AI system, the setting information sent to the generative AI system, and the information sent to the generative AI system for calling the function in the chat control step, in the application generation step, the application for the request is generated according to the parameters contained in the received request.
[0470]
[15] A computer program product for implementing the following steps in an application generation system in which a terminal device and a generative AI system communicate with an information processing device via a network:
[0471] The step of sending the chat message input in the terminal device to the generative AI system,
[0472] an application generation step, generating the application of the request according to the parameters contained in the request for application generation by executing a predefined function; and
[0473] a chat control step, when receiving a chat message sent by the terminal device, sending the received chat message to the generative AI system,
[0474] in,
[0475] In the chat control step, setting information for generating the application and information for calling a function for generating the application are sent to the generative AI system at least once,
[0476] After receiving the request sent by the generative AI system based on the chat message sent to the generative AI system, the setting information sent to the generative AI system, and the information sent to the generative AI system for calling the function in the chat control step, in the application generation step, the application for the request is generated according to the parameters contained in the received request.
[0477]
[16] An application generation system, comprising an information processing device, a terminal device capable of communicating with the information processing device via a network, and a generative AI system,
[0478] The terminal device sends a chat message to the information processing device,
[0479] The information processing device comprises:
[0480] an application generating unit that generates the application of the request according to the parameters included in the request for generating the application by executing a predefined function; and
[0481] a chat control unit, configured to send the received chat message to the generative AI system when receiving the chat message sent by the terminal device,
[0482] The chat control unit sends setting information for generating the application and information for calling the function to the generative AI system at least once,
[0483] After the chat control unit receives the request sent by the generative AI system based on the chat message sent to the generative AI system, the setting information sent to the generative AI system, and the information sent to the generative AI system for calling the function, the application generation unit generates the application for the request according to the parameters contained in the received request.
Claims
1. An information processing device that communicates with a terminal device and a generative AI system via a network, comprising: An application generating unit, configured to generate the application of the request according to the parameters included in the request for generating the application by executing a predefined function; and a chat control unit, configured to send the received chat message to the generative AI system when receiving the chat message sent by the terminal device, in, The chat control unit sends setting information for generating the application and information for calling the function to the generative AI system at least once, After the chat control unit receives the request sent by the generative AI system based on the chat message sent to the generative AI system, the setting information sent to the generative AI system, and the information sent to the generative AI system for calling the function, the application generation unit generates the application for the request according to the parameters contained in the received request.
2. The information processing device according to claim 1, wherein: When receiving a response message from the generative AI system to the chat message sent to the generative AI system, the chat control unit sends the response message to the terminal device.
3. The information processing device according to claim 2, wherein: The chat control unit transmits access information for accessing the generated application to the generative AI system so that the generative AI system can include the access information for accessing the generated application in the response message.
4. The information processing device according to claim 3, wherein: As a response to the access information sent to the generative AI system, when the chat control unit receives the response message including the access information from the generative AI system, the chat control unit sends the response message including the access information to the terminal device.
5. The information processing device according to any one of claims 1 to 4, wherein: The information for calling a function includes a specification setting of the function called by the generative AI system, According to the specification setting of the function, the function call request sent by the generative AI system to the information processing device to call the function includes a request generated by the application program, The chat control unit receives a request for generation of the application from the generative AI system.
6. The information processing device according to claim 3, wherein: When the chat control unit receives a request for generating the application from the generative AI system, the application generating unit generates the requested application according to the parameters. When the chat control unit receives the response message to the chat message from the generative AI system instead of the request for generation of the application, the chat control unit transmits the response message to the terminal device.
7. The information processing device according to claim 1, wherein: When the application generation unit fails to generate the application, the chat control unit sends the warning message obtained due to the failure to generate the application and the chat message received again to the generative AI system, and receives a request for generation of the application as a response to the warning message and the chat message.
8. The information processing device according to claim 1, wherein: When the application generation unit fails in generating the application a certain number of times, the chat control unit transmits a message indicating that the generation of the application has failed to the terminal device.
9. The information processing device according to claim 1, wherein: When the application is an application registered in a table with data, the parameter is one or more field names in the table.
10. The information processing device according to claim 1, wherein: The information processing device communicates with an application service that executes the application via a network, The application generation unit specifies the parameters and requests the application service to generate the application.
11. The information processing device according to claim 10, wherein: executing, in the terminal device, a first web browser communicating with the application service and a second web browser started by the first web browser, The information processing device receives the chat message from the second Web browser, The chat control unit receives a request for generation of the application sent by the generative AI system, The application generation unit sends a request for generating the application to the second web browser, The second web browser sends the generated request of the application to the first web browser, The first web browser sends a generated request for the application to the application service.
12. The information processing device according to claim 1, wherein: further comprising a setting information generating unit for generating setting information for generating the application program, The chat control unit displays an input instruction on the input screen for receiving the chat message, instructing input of premise information generated by the application, The setting information generating unit generates the setting information including the premise information input in response to the input instruction.
13. The information processing device according to claim 12, wherein: The premise information is one of an industry or type of work that uses the application, business content that uses the application, work content of a user of the terminal device, and an application name of the application.
14. An application generation method, which can be used in an application generation system in which a terminal device and a generative AI system communicate with an information processing device via a network to perform the following steps: The step of sending the chat message input in the terminal device to the generative AI system, An application generation step, generating the application of the request according to the parameters contained in the request for application generation by executing a predefined function; and a chat control step, when receiving a chat message sent by the terminal device, sending the received chat message to the generative AI system, in, In the chat control step, setting information for generating the application and information for calling a function for generating the application are sent to the generative AI system at least once, After receiving the request sent by the generative AI system based on the chat message sent to the generative AI system, the setting information sent to the generative AI system, and the information sent to the generative AI system for calling the function in the chat control step, in the application generation step, the application for the request is generated according to the parameters contained in the received request.
15. A computer program product for implementing the following steps in an application generation system in which a terminal device and a generative AI system communicate with an information processing device via a network, The step of sending the chat message input in the terminal device to the generative AI system, an application generation step, generating the application of the request according to the parameters contained in the request for application generation by executing a predefined function; and a chat control step, when receiving a chat message sent by the terminal device, sending the received chat message to the generative AI system, in, In the chat control step, setting information for generating the application and information for calling a function for generating the application are sent to the generative AI system at least once, After receiving the request sent by the generative AI system based on the chat message sent to the generative AI system, the setting information sent to the generative AI system, and the information sent to the generative AI system for calling the function in the chat control step, in the application generation step, the application for the request is generated according to the parameters contained in the received request.
16. An application generation system, comprising an information processing device, a terminal device capable of communicating with the information processing device via a network, and a generative AI system, The terminal device sends a chat message to the information processing device, The information processing device comprises: an application generating unit that generates the application of the request according to the parameters included in the request for generating the application by executing a predefined function; and a chat control unit, configured to send the received chat message to the generative AI system when receiving the chat message sent by the terminal device, The chat control unit sends setting information for generating the application and information for calling the function to the generative AI system at least once, After the chat control unit receives the request sent by the generative AI system based on the chat message sent to the generative AI system, the setting information sent to the generative AI system, and the information sent to the generative AI system for calling the function, the application generation unit generates the application for the request according to the parameters contained in the received request.
Citation Information
Patent Citations
Automatic program code generation system
JP2023018851A