Information processing systems, information processing methods, programs

The information processing system enables easy integration of generative AI into applications by acquiring and controlling the construction of applications using definition information, addressing the challenge of separate application creation for AI interaction.

JP7894035B1Active Publication Date: 2026-07-23CANON MARKETING JAPAN INC +1
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
CANON MARKETING JAPAN INC
Filing Date
2025-11-19
Publication Date
2026-07-23

Smart Images

  • Figure 0007894035000001_ABST
    Figure 0007894035000001_ABST
Patent Text Reader

Abstract

This invention provides an information processing system, information processing method, and program that facilitate the construction of applications that can be linked with generative AI. [Solution] In step S403, the system obtains an application definition from the repository definition unit. The repository definition analysis unit analyzes the read definition and stores it in ROM, and the analyzed definition is referenced as appropriate by each generation unit. In step S412, if the acquired definition information includes definition information indicating that a predetermined function related to the generation AI will be used or generated, the system controls the construction of an application that can utilize the predetermined function based on the acquired definition information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0006] , , , , , ,

[0005] ,

[0001] The present invention relates to an information processing system, an information processing method, and a program.

Background Art

[0002] Conventionally, there are tools and services for constructing (generating) applications based on set definition information.

[0003] On the other hand, in recent years, applications that use generative AI to perform specific tasks have also increased.

[0004] For example, in Patent Document 1, there is disclosed an information processing system for assisting in creating a document for evaluating the business performance of a business operator, comprising: a first reception means for receiving a designation of a business operator; a first acquisition means for instructing a generative AI to output input information for input items of a document for evaluating the business performance of the designated business operator, and acquiring the output input information; a second acquisition means for instructing the generative AI to output a question sentence for acquiring missing information from the designated business operator for the acquired input information, and acquiring the output question sentence; and a first output means for outputting the acquired question sentence, wherein the second acquisition means instructs the generative AI to specify the missing information based on the input information for the input items output by the generative AI in the past.

Prior Art Documents

Patent Documents

[0005]

Patent Document 1

Disclosure of the Invention

Problems to be Solved by the Invention

[0006] Patent Document 1 describes a system for creating documents to evaluate the business viability of a business operator in conjunction with a generative AI, and is not a tool for building an application that interacts with a generative AI.

[0007] Therefore, even if an application can be built quickly using an application building tool, there is the challenge of having to create a separate application that interacts with the generated AI.

[0008] Furthermore, some customers using the app have a need to build apps that utilize specific generative AI services, and it is desirable to be able to build apps that can easily integrate with the desired generative AI.

[0009] Therefore, the present invention aims to provide a mechanism for easily building applications that can be linked with generative AI. [Means for solving the problem]

[0010] The present invention is characterized by comprising: an acquisition means for acquiring definition information for constructing an application; and, if the definition information acquired by the acquisition means includes definition information indicating that a predetermined function related to generation AI will be used or generated, a control means for controlling the construction of an application that can utilize the predetermined function based on the definition information acquired by the acquisition means. [Effects of the Invention]

[0011] According to the present invention, it is possible to provide a mechanism for easily building applications that can be linked with generative AI. [Brief explanation of the drawing]

[0012] [Figure 1] This is an example of a system configuration diagram according to the present invention. [Figure 2]This block diagram shows examples of hardware configurations applicable to information processing devices, application servers, database servers, and application clients. [Figure 3] This is a diagram illustrating the configuration of the system according to the present invention. [Figure 4] This figure shows an example of an application generation flowchart. [Figure 5] This figure shows an example of a flowchart for the AI ​​generation function generation process. [Figure 6] This figure shows an example of the process for generating source code according to a function. [Figure 7] This figure shows an example of an application execution flowchart. [Figure 8] This figure shows an example of how to define an AI generation function in the case of an MPA, along with an example of an application. [Figure 9] This figure shows an example of how to define the AILIST function in the case of MPA, and an example of an application. [Figure 10] This figure shows an example of how to define AIEXT in the case of an MPA, and an example of an application. [Figure 11] This figure shows an example of how to define an AI generation function in the case of a Single Page Application (SPA), along with an example of an application. [Figure 12] This figure shows an example of how to define the AILIST function in the case of an SPA, along with an example of an application. [Figure 13] This figure shows an example of how to define the AIEXT function in the case of a Single Page Application (SPA), along with an example of an application. [Modes for carrying out the invention]

[0013] FIG. 1 is a configuration diagram of a system (information processing system) showing an example of the configuration of an information processing apparatus (software development apparatus that a software developer operates for software development), an application server, a database server, an application client, and a generative AI server. In the present embodiment, the software developed by the information processing apparatus is called an application, but it is not limited to an application, and it may be software other than an application (e.g., OS).

[0014] The information processing apparatus 101 defines a screen layout, a database search instruction, etc. according to the operations of a software developer. The information processing apparatus 101 performs program generation and application generation.

[0015] In the present embodiment, the application generated by the information processing apparatus 101 is a web application, but it is not limited to this, and it may be an application that operates on an information processing apparatus such as a mobile phone, a smartphone, a tablet, or embedded software, or an application other than an application that uses web technology-based communication.

[0016] Also, in the present embodiment, the information processing apparatus 101 generates the source code (program code) of the application, but it is not limited to this method, and without generating the source code, data, files, etc. are set and generated so that the application operates in the application server 102, a cloud environment, etc., and an application (operation environment) may be constructed by a method such as this.

[0017] The application server 102 executes the application developed by the information processing apparatus 101. Also, it can operate in connection with the database server 103.

[0018] The database server 103 is the database used by the developed application, and in this embodiment, it may also be used during development for operational verification, etc. For example, for use by software developers, the database server 103 may be configured on the same device as the information processing device 101 and the application server 102, or it may be located within a network 105 such as a LAN.

[0019] The application client 104 (information processing device) is an end-user input terminal that operates the application program developed on the information processing device 101 in cooperation with the application server 102. This application client 104 may also be an information processing device such as a mobile terminal.

[0020] Furthermore, any of the information processing device 101, application server 102, database server 103, application client 104, and generation AI server 106 may be located on the internet, such as in the cloud.

[0021] The generation AI server 106 executes processing based on the instructions in the definition information within the application developed by the information processing device 101, and presents the output results to the application client 104.

[0022] The configuration of various terminals or devices connected to the network 105 in Figure 1 is just one example, and it goes without saying that there are many different configurations depending on the application and purpose. Furthermore, the generation AI server 106 is not limited to an external configuration, but may also be located inside the application client 104.

[0023] In this embodiment, an example using generative AI is described, but it is not limited to this. Other models may be used, such as large-scale language models, machine learning models, or pre-trained models, as long as they enable the construction of an application that can utilize the specified functions.

[0024] This concludes the explanation of Figure 1.

[0025] Figure 2 is a block diagram showing an example of the hardware configuration of an information processing device applicable as a server device 101 or client terminal 102 according to the present invention.

[0026] As shown in Figure 2, the information processing device is connected via a system bus 204 to a CPU (Central Processing Unit) 201, RAM (Random Access Memory) 202, ROM (Read Only Memory) 203, input controller 205, video controller 206, memory controller 207, and communication I / F controller 208.

[0027] CPU201 provides comprehensive control over all devices and controllers connected to the system bus 204.

[0028] RAM202 functions as the main memory, work area, etc., of the CPU201. The CPU201 loads the necessary programs, etc., from ROM203 or external memory 211 into RAM202, and then executes the loaded programs to perform various operations.

[0029] ROM203 or external memory211 holds the BIOS (Basic Input / Output System) and OS (Operating System), which are control programs executed by the CPU201, as well as computer-readable and executable programs and various necessary data (including data tables) for realizing this information processing method.

[0030] The input controller 205 controls input from input devices such as a keyboard 209 or a pointing device such as a mouse (not shown). If the input device is a touch panel, the user can give various instructions by pressing (touching with a finger, etc.) icons, cursors, or buttons displayed on the touch panel.

[0031] Furthermore, the touch panel may be a multi-touch screen or other type of touch panel capable of detecting the positions of multiple fingers touching it.

[0032] The video controller 206 controls the display to an external output device such as the display 210. The display includes the display of a notebook computer integrated with the main unit. The external output device is not limited to a display; for example, it may be a projector. Furthermore, for the aforementioned touch-enabled device, an input device is also provided.

[0033] The video controller 206 can control the video memory (VRAM) used for display control. It can use a portion of RAM 202 as the video memory area, or it can provide a separate, dedicated video memory.

[0034] The memory controller 207 controls access to the external memory 211. The external memory can include an external storage device (hard disk), a flexible disk (FD), or a CompactFlash® memory connected to a PCMCIA card slot via an adapter, which stores boot programs, various applications, font data, user files, editing files, and other data.

[0035] The communication interface controller 208 connects to and communicates with external devices via a network and performs communication control processing over the network. For example, it can communicate using TCP / IP, telephone lines such as ISDN, and 3G mobile phone lines.

[0036] Furthermore, the CPU 201 enables display on the display 210 by, for example, performing the process of expanding (rasterizing) outline fonts into the display information area in RAM 202. The CPU 201 also enables user input via a mouse cursor (not shown) on the display 210.

[0037] Figure 3 is a diagram showing the configuration of the information processing device 101, the application server 102, and the application client 104.

[0038] The information processing device 101 comprises a repository definition unit 401 and an application generation unit 410. The information processing device 101 generates an application using the application generation unit 410, based on the definitions set in the repository definition unit 401 by the developer who develops the application.

[0039] The repository definition section 401 stores the application definition 402, input / output definition 403, data model definition 404, business process definition 405, database definition 406, application configuration information 407, and the configuration file 408 for the generated AI service. These definitions 402-408 are set or deployed mainly by application developers via application building tools. Of course, they may also be created by application operators or others, rather than application developers.

[0040] The input / output definition 403 holds definition information for the layout of various items placed on the application screen. The input / output definition 403 includes input item definition information and output item definition information. In other words, it is an example of information that defines the layout of various items placed on the application screen, the input items that are input into the application, and the output items that the application outputs.

[0041] Input item definition information defines the input items that the end user of the generated application will input via the application's screen. Output item definition information defines the output items that will be displayed on the generated application's screen. Hereafter, "input item definition information" and "output item definition information" will be collectively referred to as "input / output item definition information." When building an application that can be linked with the generating AI, a function indicating that the generating AI should be called (generating AI call function) can be defined in the "input / output item definition information."

[0042] In this embodiment, "input item definition information is information that defines the input items that the end user of the generated application enters via the application's screen" and "output item definition information is information that defines the output items that are output to the screen of the generated application." However, the embodiment is not limited to these, and for example, in the case of batches or web services that do not have a screen, "input item definition information is information that defines the input items that are entered into the generated application" and "output item definition information is information that defines the output items that the generated application outputs."

[0043] Data model definition 404 holds definition information for the items in the database table. Each item in input / output definition 403 can be associated with an item in data model definition 404. In other words, it is an example of showing definition information for the items in the database table.

[0044] Business process definition 405 holds definition information for the logic used to process data within an application. In other words, it is an example of definition information for the logic used to process data within an application.

[0045] Database definition 406 defines information related to the database to which the application connects (such as the IP address of database server 103, the connecting user, and the connecting password). In other words, it is an example of information related to the database to which the application connects. Specifically, it is an example of information showing the database's IP address, connecting user, and connecting password.

[0046] Application configuration information 407 defines whether or not the application interacts with the generated AI. In other words, it is an example of information related to the generated AI with which the application interacts.

[0047] The configuration file 408 for the generation AI service defines which generation AI service to interact with (send prompts to). In other words, it is an example of information related to the generation AI that the application interacts with.

[0048] The application generation unit 410 uses the repository definition analysis unit 411 for application generation to analyze each definition and the relationships between each definition stored in the repository definition unit 401, and uses the source code generation unit 413 to generate application source code including HTML / JSP / JavaScript (registered trademark) 422 and 424. Furthermore, for any of the generated application source code that requires compilation, the source code compilation unit 414 generates compiled source code 421. In other words, the application generation unit 410 is an example of a means of generating a program to be used as an application using the set definitions. The prompt generation unit 423 generates a prompt based on the compiled source code and sends it to the generation AI server 106.

[0049] This concludes the explanation of Figure 3.

[0050] Figure 4 shows an example of an application generation flowchart.

[0051] The information processing device 101 manages each definition of the repository definition unit 401 as a file using a directory structure. In this embodiment, each definition of the repository definition unit 401 is managed as a file using a directory structure, but this is not the only method. For example, each definition of the repository definition unit 401 may be managed using a database, or using a network storage device such as a cloud, or any other method that can manage each definition is acceptable.

[0052] This section describes the application generation flowchart.

[0053] In step S401, the information processing device 101 accepts the setting of the application definition 402. In other words, step S401 is a step that shows an example of the process of obtaining definition information for building an application.

[0054] Specifically, the application build tool accepts input / output definitions 403, data model definitions 404, business process definitions 405, database definitions 406, and application configuration information 407 from application developers via the application build tool screen.

[0055] In step S401, the settings of the application definition 402, input / output definition 403, data model definition 404, business process definition 405, database definition 406, and application configuration information 407 received are stored in the repository definition unit 401 in XML file format. In this embodiment, the settings are in XML file format, but this is not the only format that can be used. Other formats such as JSON or other file formats, or as a repository definition table in a database, may be used as long as the definitions can be stored.

[0056] In step S402, the information processing device 101 receives an instruction to generate an application.

[0057] In step S403, the information processing device 101 obtains the application definition 402 from the repository definition unit 401. The repository definition analysis unit 411 analyzes the read definition and stores it in the ROM 203, and the analyzed definition is referenced as appropriate by each generation unit. In other words, this step is an example of a process for obtaining definition information for building an application.

[0058] In step S404, the information processing device 101 determines whether or not a generated AI call function is defined in the application definition obtained in step S403. If it is determined that it is defined, the device proceeds to step S412; otherwise, it proceeds to step S405.

[0059] In this embodiment, we have constructed an application that interacts with the generating AI based on the fact that a generating AI calling function is defined in the application definition. However, we are not limited to this method, and the determination may be made based on information contained in the application configuration information 407, or based on the existence of files such as the generating AI service configuration file 408, or on values ​​contained in the generating AI service configuration file 408, etc., or any other method that indicates that the generating AI will be used or generated.

[0060] In step S412, the information processing device 101 executes the generation AI call function generation process. Details of the process will be described later in Figure 5. In other words, this step is an example of a process that controls the system to construct an application that can utilize a predetermined function based on the acquired definition information, if the acquired definition information includes definition information indicating that a predetermined function related to generation AI will be used or generated. In other words, this step is an example of a process that controls the system to construct an application that can utilize a predetermined function based on the acquired definition information, if it is determined that there is definition information indicating that a predetermined function will be used or generated. In other words, this step is an example of a process that constructs an application that can utilize a predetermined function when the acquired definition information includes a function that uses generation AI.

[0061] In step S405, the information processing device 101 obtains the data model definition 404 from the repository definition unit 401.

[0062] In step S406, the information processing device 101 obtains the input / output definition 403 from the repository definition unit 401.

[0063] In step S407, the information processing device 101 obtains the business process definition 405 from the repository definition unit 401.

[0064] In step S408, the information processing device 101 obtains the database definition 406 from the repository definition unit 401.

[0065] In step S409, the information processing device 101 obtains application configuration information 407 from the repository definition unit 401.

[0066] In step S410, the information processing device 101 uses the application generation unit 410 to generate application source code 440 to be used in the application.

[0067] In step S411, the information processing device 101 deploys the application source code 440 generated in step S510 to the application server 102 and terminates the process.

[0068] In other words, step S411 is a step that demonstrates an example of the process of building an application based on the acquired definition information.

[0069] Based on the above, it is possible to generate (build) the application that has received the generation instruction.

[0070] This concludes the explanation of Figure 4.

[0071] Figure 5 shows an example of an application generation flowchart.

[0072] In step S501, the information processing device 101 reads the properties of each screen item, which are specified in the application definition received in step S401. For example, in the example in Figure 8, it retrieves the text, function, and data shown in the row editing area 803. Details of Figure 8 will be described later.

[0073] In step S502, the information processing device 101 determines whether or not the AIASK function is defined in the definition information. If it determines that AIASK is defined, it proceeds to step S503; otherwise, it proceeds to step S504. The AIASK function is a function that returns text generated by the input prompt, and is used, for example, to return content entered in a one-to-one interactive format.

[0074] In step S503, the information processing device 101 executes the generation of the AIASK function. Details will be described later in Figure 6.

[0075] In step S504, the information processing device 101 determines whether or not the AISUMMARY function is defined in the definition information. If it determines that the AISUMMARY function is defined, it proceeds to step S505; otherwise, it proceeds to step S506. The AISUMMARY function is a function that summarizes input text, and is used, for example, to summarize the content of text obtained from a database or to summarize data stored in a database.

[0076] In step S505, the information processing device 101 generates the AISUMMARY function. Details will be described later in Figure 6.

[0077] In step S506, the information processing device 101 determines whether or not the AITRANSLATION function is defined in the definition information. If it determines that the AITRANSLATION function is defined, it proceeds to step S507; otherwise, it proceeds to step S508. The AITRANSLATION function is a function that translates input text into a specified language and returns it. For example, it is used to display data managed in a database in a language that matches the user's language.

[0078] In step S507, the information processing device 101 executes the generation of the AITRANSLATION function. Details will be described later in Figure 6.

[0079] In step S508, the information processing device 101 determines whether or not the AICATEGORIZE function is defined in the definition information. If it determines that the AICATEGORIZE function is defined, it proceeds to step S509; otherwise, it proceeds to step S510. The AICATEGORIZE function is a function that classifies input text into a specified category and returns the category. For example, it can be used as a rule engine to appropriately process values ​​entered in natural language, reducing the effort required to develop a category selection dropdown list.

[0080] In step S509, the information processing device 101 executes the generation of the AICATEGORIZE function. Details will be described later in Figure 6.

[0081] In step S510, the information processing device 101 determines whether or not the AIFORMAT function is defined in the definition information. If it determines that the AIFORMAT function is defined, it proceeds to step S511; otherwise, it proceeds to step S512. The AIFORMAT function is a function that converts input text into a specified format and returns it. For example, it is used to specify the format of input items in a database or to display the format according to the user's language.

[0082] In step S511, the information processing device 101 executes the generation of the AIFORMAT function. Details will be described later in Figure 6.

[0083] In step S512, the information processing device 101 determines whether or not the AILIST function is defined in the definition information. If it determines that the AILIST function is defined, it proceeds to step S513; otherwise, it proceeds to step S514. In the case of the AILIST function, a conditional expression can be set, and a list can be created from data in response to a prompt. For example, one case is to create a list with a structured data structure from values ​​input in natural language. This structured data can also be used as source data for creating dropdown lists for the application being built.

[0084] In step S513, the information processing device 101 executes the generation of the AILIST function. Details will be described later in Figure 6.

[0085] The AIASK, AISUMMARY, AITRANSLATION, AICATEGORIZE, AIFORMAT, and AILIST functions mentioned above are called standard functions, and they utilize pre-prepared prompt templates. By using these standard functions, developers can build applications that obtain answers from a generating AI without having to prepare prompt templates themselves. This makes it possible to easily build applications that interact with a generating AI, even without advanced knowledge of how to formulate prompts to instruct the AI. In this embodiment, templates capable of generation, summarization, translation, classification, formatting changes, and list generation are provided as prompt templates, but the system is not limited to these. Other instructions may be used as long as they output instructions to the generating AI based on a predetermined prompt, such as design generation or analysis. In other words, the prepared predetermined prompt is an example of a prompt that instructs at least one of the following: generation, summarization, translation, classification, formatting changes, and list generation.

[0086] In step S514, the information processing device 101 determines whether or not the AIEXT function is defined in the definition information. If it determines that the AIEXT function is defined, it proceeds to step S515; otherwise, it terminates the process. In contrast to standard functions, the AIEXT function is a function called a custom function, and developers can freely set prompts according to the user's use case by entering prompts in the extended definition. Therefore, it is possible to execute appropriate prompts for users of business applications. As a result, it becomes easy to develop applications that execute unique prompts that conform to the business requirements of application users. In other words, this is an example of a function that outputs instructions to the generating AI based on prompts set by the user.

[0087] In step S515, the information processing device 101 executes the generation of the AIEXT function and terminates the process. Details will be described later in Figure 6.

[0088] The process described above makes it possible to provide a mechanism for easily building applications that can be linked with the generated AI. This concludes the explanation of Figure 5.

[0089] Figure 6 shows an example of the source code generation process according to the function.

[0090] In step S611, the information processing device 101 retrieves the arguments defined in the AISUMMARY function from the property definition information of each screen item described in the application definition read in step S501. For example, the arguments are defined in processing expression 804 in Figure 8. Processing expression 804 contains "AISUMMARY('Please summarize the inquiry and propose a solution.'message,'Markdown')", where "Please summarize the inquiry and propose a solution", "message", and "Markdown" correspond to argument 1, argument 2, and argument 3.

[0091] In step S612, the information processing device 101 creates the AISUMMARY function execution unit based on the arguments obtained in step S611. Specifically, it links the AISUMMARY function with the processing expression that specifies the arguments. Furthermore, in the source code of the AISUMMARY function, it defines which language-specific prompt template to use.

[0092] For example, in the case of the AISUMMARY function, the following prompt is set as the prompt template. Prompt templates are available in multiple languages, such as Japanese and English.

[0093] "You are an excellent summarizer. Summarize the contents of {{data}} according to the objective {{prompt}} and output it in {{format}} format. Maintain accuracy and extract only the key points. Output only the summary; do not include any code blocks or formatting."

[0094] Here, the value set in argument 1, "Please summarize the inquiry and suggest a solution," is embedded in the {{prompt}} section. In other words, argument 1 is the user prompt specified by the developer.

[0095] Similarly, the value of "message" set in argument 2 is embedded in the {{data}} section. As a result, when the application is actually executed, a prompt is generated in S707 with the application user's inquiry 811 entered as "message".

[0096] The {{format}} section will be filled with the "Markdown" value set in argument 3. While literal values ​​can be specified as arguments 1 and 3, application values ​​can also be specified as argument 2.

[0097] In this embodiment, prompt templates are pre-configured for each function, and it is possible to combine the prompt templates with user prompts specified by the developer.

[0098] In this embodiment, a prompt template is pre-configured for the function, but this method is not limited to this. Developers may specify a prompt template for each function, or developers may be allowed to edit the prompt templates. Any other method is acceptable as long as it outputs instructions to the generating AI based on a predetermined prompt. In other words, this is an example of a function that outputs instructions to the generating AI based on a prepared predetermined prompt.

[0099] In step S613, the information processing device 101 generates source code for the application to call and execute the generated AI, and then terminates processing. Specifically, it generates a prompt in which the actual text and data obtained as arguments are entered into the prompt generated in S612, sends this prompt to the generated AI, and generates source code to realize the execution of the application to obtain the result (Figure 7).

[0100] The source code generation process for the AIASK, AITRANSLATION, AICATEGORIZE, and AIFORMAT functions is basically the same as in steps S611 to S613, except that the functions used are different.

[0101] Steps S651 to S654 are an example of the source code generation process for the AILIST function.

[0102] In step S651, the information processing device 101 retrieves the arguments defined in the AILIST function from the definition information read in step S501. For example, the arguments are defined in 903 of Figure 9.

[0103] In step S652, the information processing device 101 reads the data model, which is the definition of the data structure to be output by the generating AI. Specifically, the data model is set on the data model definition screen 910 in Figure 9.

[0104] In step S653, the information processing device 101 creates the AILIST function execution unit based on the arguments obtained in step S651. Specifically, it associates the text and data specified in the arguments with the pre-prepared prompt template for the AILIST function.

[0105] In step S654, the information processing device 101 generates source code for the application to call and execute the generated AI, and then terminates the process.

[0106] Steps S661 to S664 are an example of the source code generation process for the AIEXT function.

[0107] In step S661, the information processing device 101 retrieves the arguments defined in the AIEXT function from the definition information read in step S501. For example, the arguments are defined at 1006 in Figure 10.

[0108] In step S662, the information processing device 101 reads a prompt template for the generating AI that has been independently defined by the developer. The developer's custom prompt can be set, for example, in the value of the extended property display area 1003 shown in Figure 10. In this example, the developer has defined a custom prompt in 1004 that reads, "You are responsible for determining typos and omissions in the Japanese text, and if there are errors in the following string {{inputText}}, please briefly describe only the corrections."

[0109] In step S663, the information processing device 101 creates the AIEXT function execution unit based on the arguments obtained in step S661 and the prompt template obtained in step S662. Specifically, it associates the text and data specified in the arguments with the prompt template of the AIEXT function obtained in step S662.

[0110] In step S664, the information processing device 101 generates source code for the application to call and execute the generated AI, and then terminates the process.

[0111] Figure 7 shows an example of an application execution flowchart.

[0112] In step S701, the application client 104 accepts an application invocation operation. Specifically, if this application is a web application, it sends a request to the application's URL from the web browser. If this application is a smartphone or tablet app, it taps the icon to launch the app.

[0113] In step S702, the application server 102 generates the application screen in response to a call operation from the application client 104 and sends the generated screen to the application client 104.

[0114] In step S703, the application client 104 displays the screen sent from the application server 102.

[0115] In step S704, the application client 104 receives user input to the application and transmits the received input to the application server 102.

[0116] In step S705, the application server 102 determines whether the operation received by the application client 104 in step S704 requires the calling of the generation AI. Specifically, it determines whether the compiled source code to be executed contains a function to call the generation AI. If it determines that the operation requires the calling of the generation AI, it proceeds to step S706. If it determines that the operation does not require the calling of the generation AI, it returns to step S702 and generates a normal screen without calling the generation AI.

[0117] In step S706, the application server 102 reads the configuration file for the generation AI service. The generation AI service configuration file defines which generation AI service to cooperate with (send prompts to).

[0118] For example, the configuration file is defined as follows. Here, the specific names of the AI ​​services to be generated are entered in the parts labeled "Generating AI Service 1" and "Generating AI Service 2". # Text generation AI service integration ## Specify the generative AI service to integrate with. Choose from the following providers: ## When using AI generation service 1, service1 ## When using the generation AI service 2, service2 ai.provider=service1 ## Specifies the prompt information used for communication with the generation AI service and the maximum cache size for the results. # ai.cache.maximumSize=100 ## Specifies the timeout setting for communication to the generation AI service. # ai.request.timeout=60 ## Specify proxy settings if required when integrating with the generation AI service. # ai.proxy_host= # ai.proxy_port= By configuring the above settings, developers can send instructions to the desired generative AI service or a generative AI service suitable for system requirements, enabling the creation of applications that can integrate with the desired generative AI service. In other words, by specifying an already installed generative AI as the integration target for the application's end users, it becomes possible to easily create applications that integrate with generative AI without having to install or contract for a new generative AI service.

[0119] In this embodiment, the configuration file for the generation AI service was set to the contents described above, but it is not limited to these contents. Other methods may be used as long as the destination for communication with the generation AI can be identified, such as a URL for connecting to the generation AI service or identification information for the interface used to connect to the generation AI service.

[0120] In this embodiment, the generation AI service to be linked can be defined in the generation AI service's configuration file. However, this method is not limited to this, and the generation AI service to be linked may be determined based on the application user's selection of which generation AI to use, or the generation AI to be linked may be automatically determined from past usage history. Any other method is acceptable as long as the linking destination for the generation AI can be identified. Furthermore, the available generation AI services of the developer or application user may be obtained, and the system may be configured to link with those generation AI services. In other words, this step is an example of a process that outputs instructions to a specified generation AI and obtains the output result based on definition information relating to the linking destination for the generation AI.

[0121] In step S707, the application server 102 generates a prompt using the application user's language. Specifically, it first obtains a prompt template based on the application user's language from a resource file. The application user's language is obtained from the application server 102's session storage area. Based on the obtained prompt template, it generates a prompt containing the specified data entered by the user and sends it to the generation AI server 106.

[0122] In this case, the implementation required to execute the prompt may differ for each generation AI service provider. In that case, an abstract interface for each generation AI service's implementation is prepared, and an instance is created according to each interface. In this embodiment, an interface is prepared for each generation AI, but this method is not limited to this method. Other methods may be used as long as they allow appropriate instructions to be output to the generation AI, such as changing the prompt depending on the type of generation AI being collaborated with. This makes it possible to collaborate with different generation AI service providers even if the function definition method is the same. In other words, this step shows an example of a process that generates an instance according to the interface based on the type of generation AI.

[0123] In step S708, the generation AI server 106 obtains the prompt generated by the application server 102 in step S707.

[0124] In step S709, the generation AI server 106 executes the result generation process based on the prompt obtained in step S707 and sends the generated result to the application server 102.

[0125] In step S710, the application server 102 obtains the generation result sent from the generation AI server 106 in step S709. In other words, this step is an example of a process in which instructions are output to the generation AI and the output result is obtained when an application is executed.

[0126] In step S711, the application server 102 determines whether the compiled source code to be executed contains the AILIST function. If it determines that the AILIST function is included, it proceeds to step S712; otherwise, it proceeds to step S713.

[0127] In step S712, the application server 102 associates the output results sent from the generating AI server 106 with a data model, which is a definition of the data structure. Specifically, in the case of the AILIST definition method 900 in Figure 9, the data model 910 specified in the target data model selection area 902 is associated.

[0128] In step S713, the application server 102 generates a screen containing the output results of the generated AI and sends it to the application client 104.

[0129] In step S714, the application client 104 displays a screen containing the generated AI's response sent from the application server 102, and then terminates the process.

[0130] Figure 8 shows an example of how to define an AI generation function in the case of an MPA, and an example of an application. An MPA (Multi-Page Application) is an application that displays screens based on individual screen information (HTML, etc.) for each page, and Figures 8-10 explain an example of an MPA.

[0131] The AI ​​generation function definition screen 800 is a screen for editing input / output definitions that contain information from the application screen.

[0132] The screen item list display area 801 is an area that displays a list of screen items to be displayed on the application screen. When an item 802 is selected, the row editing area 803 corresponding to the selected screen item is displayed. In the row editing area 803, the data model code and processing formula 804 of the selected screen item can be viewed. A processing formula is an arithmetic expression that defines the value and behavior of the screen item.

[0133] An example of an application generated based on the AI ​​generation function definition screen 800 is shown in 810. An application is generated that displays the answer 812 based on the AISUMMARY function defined in processing formula 804 in response to the inquiry content 811.

[0134] Figure 9 shows an example of how to define the AILIST function in the case of MPA, and an example of an application. The AILIST definition screen 900 is a screen for editing input / output definitions that contain information from the application screen.

[0135] The input / output information display area 901 is an area that displays basic setting information for input / output definitions. The target data model selection area 902 is an area where you select a data model, which is the definition of the data structure linked to the application screen, from a drop-down list. The target condition editing area 903 is an area where you edit the target conditions, which are the search conditions for the data.

[0136] The data model definition screen 910 is a screen for editing the data model, which is the definition of the data structure linked to the application screen. The data model item list display area 904 is an area that displays a list of each item of the data model.

[0137] An example of an application generated based on the AILIST definition screen 900 is shown in 920. In response to the prompt 905, an application is generated that displays a list 906 of data structures that conform to the data model set in the target data model selection area 902, based on the AILIST function defined in the target condition editing area 903. This makes it easy to build an application that creates lists from data.

[0138] Figure 10 shows an example of how to define AIEXT in the case of MPA, and an example of an application. The extended definition definition screen 1000 is a screen where the user can edit the extended definition, freely setting the prompts for the AI ​​generation function according to the use case.

[0139] The extension list display area 1001 is an area that displays a list of extensions defined by the user. When extension 1002 is selected, the extension properties display area 1003 corresponding to the selected extension is displayed. The extension properties display area 1003 is an area that displays property information with settings necessary for using AIEXT. When extension property 1004 is selected, the row editing area 1005 corresponding to the selected extension property is displayed. In the row editing area 1005, the setting information of the selected extension property can be confirmed.

[0140] The AIEXT definition screen 1010 is a screen for editing input / output definitions that contain information from the application screen. The method for defining AIEXT on this screen is the same as the AI ​​generation function definition screen 800 described above in Figure 8.

[0141] An example of an application generated based on AIEXT's definition screen 1010 is shown in 1020.

[0142] For input item 1007, an application is generated that outputs the corrections as response 1008, based on the AIEXT function defined in the processing formula on the AIEXT definition screen 1010 and the extension 1002 that defines its prompt. This makes it easy to develop applications that execute custom prompts tailored to the business requirements of the application's users.

[0143] Figures 8-10 illustrate the case of MPA, while Figures 11-13 explain the definition method for SPA (Single Page Application). An SPA is an application that displays a screen based on a single screen information (HTML, etc.) and dynamically updates content without page transitions. In this embodiment, both MPA and SPA applications can be built. This makes it easy to build applications that can be integrated with generation AI, even for SPAs that can provide excellent UI / UX.

[0144] In the SPA definition method, UI elements are placed, and definition settings are made as actions for those UI elements. In other words, this is an example of how definition information can be set as an expression that defines the items on the screen, or as an action for a UI component.

[0145] Figure 11 shows an example of how to define an AI generation function in the case of a Single Page Application (SPA), and an example of an application. The AI ​​generation function definition screen 1100 in the case of an SPA is a screen for editing the UI definition that contains information about the application screen.

[0146] The action editing area 1101 is where you edit the behavior that occurs when a specific action is performed on the application screen. The script editing area 1102 is where you edit the behavior that occurs when an action is performed as JavaScript code. For example, in this example, the script editing area 1102 contains "return_action.aisummary('Summarize the solution to the inquiry and list the cause and response', messageText,'Markdown');". This makes it possible to define an action that interacts with the generated AI for a specific UI. The output data binding editing area 1103 is where you edit the screen items that display the results of the action.

[0147] In this embodiment, the behavior when an action is executed is described using JavaScript code, but this method is not limited to this. Other methods that can describe the behavior when an action is executed may be used, such as PHP code, Ruby code, a predetermined function, or predefined program identification information.

[0148] An example of an application generated based on the AI ​​generation function definition screen 1100 for the case of an SPA is shown in 1110.

[0149] Based on the AISUMMARY function defined in the script editing area 1102 and the output data binding editing area 1103 which specifies the output destination for the result, an application is generated that displays the answer 1105 in response to inquiry 1104.

[0150] Figure 12 shows an example of how to define the AILIST function in the case of an SPA, and an example of an application. The AILIST definition screen 1200 in the case of an SPA is a screen for editing the UI definition that contains information about the application screen.

[0151] The action editing area 1201 is the same as the action editing area 1101 described above in Figure 11. The target condition data processing editing area 1202 is the area for editing the data model 1203, which is the definition of the data structure, and the extraction condition expression 1204, which is the search condition for it. The data model definition screen 1205 is the same as the data model definition screen 910 described above in Figure 9. In this example, the data model is described as "DM05_AILIST01 AILIST for DM creation Prefecture data", and the extraction condition expression 1204 is "

[0152] AILIST:

[0153] It says "1".

[0154] An example of an application generated based on the AILIST definition screen 1200 for the case of an SPA is shown in 1210.

[0155] In response to prompt 1206, an application is generated that displays a list 1207 of data structures that conform to the data model 1203 specified in the action editing area 1201, based on the AILIST function defined in the extraction condition expression 1204 of the target condition data processing editing area 1102. This makes it easy to build applications that create lists from data, even in the case of a single-page application (SPA).

[0156] Figure 13 shows an example of how to define the AIEXT function in the case of an SPA, and an example of an application. The AIEXT function definition screen 1300 in the case of an SPA is a screen for editing the UI definition that contains information about the application screen.

[0157] The extended definition screen 1301 is the same as the extended definition screen 1202 described above in Figure 10. The action editing area 1302 is the same as the action editing area 1101 described above in Figure 11.

[0158] An example of an application generated based on AIEXT definition method 1300 for the case of SPA is shown in 1310.

[0159] Based on the AIEXT function defined in the action editing area 1302 and the extended definition screen 1301 that defines its prompt, an application is generated that displays the answer 1305 for the input item 1304. This makes it easy to develop applications that execute custom prompts tailored to the business requirements of the application's users, even in the case of a single-page application (SPA).

[0160] As a result, it becomes possible to provide a mechanism for easily building applications that can be integrated with generation AI.

[0161] Furthermore, since end users of the application will be able to easily build applications that integrate with already implemented generative AI, they will be able to build applications that improve business efficiency, such as data analysis and automation of daily tasks, using generative AI that they are already familiar with. In this process, by linking the generative AI account and the application account using technologies such as sessions and cookies, they will be able to build applications that utilize the history of their familiar generative AI usage.

[0162] Furthermore, the ability to easily build applications that can integrate with generative AI means that generative AI will be incorporated into business systems, enabling applications to produce more appropriate results, support decision-making, and respond to business needs more quickly.

[0163] Furthermore, for application developers, this eliminates the need to develop new functions that can be handled by generative AI, thus reducing development time on simple tasks and allowing them to focus on core development work.

[0164] Although embodiments have been described above, the present invention can take the form of, for example, a system, apparatus, method, program, or recording medium. Specifically, it may be applied to a system consisting of multiple devices, or to an apparatus consisting of a single device.

[0165] Furthermore, the program in this invention is a program that allows a computer to execute the processing method shown in the flowchart in Figure 3, and the storage medium of this invention stores a program that allows a computer to execute the processing method shown in Figure 3. Note that the program in this invention may also be a program for each processing method of each device shown in Figure 3.

[0166] As described above, it goes without saying that the object of the present invention can also be achieved by supplying a recording medium containing a program that realizes the functions of the embodiments described above to a system or device, and by having the computer (or CPU or MPU) of that system or device read and execute the program stored on the recording medium.

[0167] In this case, the program read from the recording medium itself realizes the novel function of the present invention, and the recording medium on which that program is recorded constitutes the present invention.

[0168] For recording media used to supply programs, examples include flexible disks, hard disks, optical disks, magneto-optical disks, CD-ROMs, CD-Rs, DVD-ROMs, magnetic tapes, non-volatile memory cards, ROMs, EEPROMs, silicon disks, and the like.

[0169] Furthermore, it goes without saying that the functions of the aforementioned embodiments are realized not only by the computer executing the program it has read, but also by the operating system (OS) running on the computer performing some or all of the actual processing based on the instructions of that program, thereby realizing the functions of the aforementioned embodiments.

[0170] Furthermore, it goes without saying that this also includes cases where, after a program read from a recording medium is written to the memory of a function expansion board inserted into a computer or a function expansion unit connected to a computer, the CPU or other components of the function expansion board or function expansion unit perform some or all of the actual processing based on the instructions of the program code, and the functions of the aforementioned embodiments are realized through that processing.

[0171] Furthermore, the present invention may be applied to a system consisting of multiple devices or to a device consisting of a single device. It goes without saying that the present invention can also be applied when the results are achieved by supplying a program to a system or device. In this case, by reading a recording medium containing a program for achieving the present invention into the system or device, the system or device can enjoy the effects of the present invention.

[0172] Furthermore, by downloading and reading the program for achieving the present invention from a server, database, etc. on a network using a communication program, the system or device can enjoy the effects of the present invention. It should be noted that configurations combining the above-described embodiments and their variations are all included in the present invention. [Explanation of symbols]

[0173] 101 Information Processing Device 102 Application Server 103 Database Server 104 Application Clients 105 Network 106 Generation AI Server

Claims

1. A means of obtaining definition information for building an application, If, among the definition information acquired by the acquisition means, the definition information relating to a screen item includes definition information indicating that a predetermined function relating to generation AI will be used or generated, the control means controls the process relating to the screen item to construct an application that can utilize the generation AI, An information processing system characterized by comprising the following features.

2. The control means is If it is determined that there is definition information indicating the use or generation of the aforementioned predetermined function, the system controls the construction of an application that can utilize the aforementioned predetermined function based on the definition information acquired by the acquisition means. The information processing system according to claim 1, characterized by the following:

3. The aforementioned definition information Definition information for the layout of various items placed on the screen of the aforementioned application, Information defining the input items to be entered into the aforementioned application, Information defining the output items that the aforementioned application outputs, Definition information for items in a database table, Definition information of the logic for processing data in the aforementioned application, Information relating to the database to which the aforementioned application connects, The IP address, connection user, and connection password information of the database, Information related to the generation AI that the aforementioned application interacts with must include at least one of the following The information processing system according to claim 1, characterized by the following:

4. The aforementioned predetermined function is: The aforementioned application has the function of outputting instructions to the generated AI and obtaining the output results when the application is executed. The information processing system according to claim 1, characterized by the following:

5. The control means, when the definition information acquired by the acquisition means includes information relating to a process that utilizes generation AI among the definition information relating to the screen items, constructs an application that can use the predetermined function. The information processing system according to claim 1, characterized by the following:

6. The definition information indicating that a predetermined function relating to the generating AI is to be used or generated is information relating to a process that outputs instructions to the generating AI based on a prepared predetermined prompt. The information processing system according to claim 1, characterized by the following:

7. The definition information indicating the use or generation of a predetermined function related to the generation AI is information relating to a process that outputs instructions to the generation AI based on a predetermined prompt that instructs at least one of the following: generation, summarization, translation, classification, format modification, and list generation. The information processing system according to claim 1, characterized by the following:

8. The definition information indicating the use or generation of a predetermined function related to the generation AI is information relating to the process of outputting instructions to the generation AI based on a prompt set by the user. The information processing system according to claim 1, characterized by the following:

9. The constructed application outputs instructions to a designated generating AI and obtains the output results based on definition information relating to the AI ​​to which it will be linked. The information processing system according to claim 1, characterized by the following:

10. The control means obtains prompts to give instructions to the generating AI based on the language of the user of the constructed application. The information processing system according to claim 1, characterized by the following:

11. The definition information relating to the aforementioned screen item includes information relating to the expression that defines the screen item, or information relating to the action set for the UI component. The information processing system according to claim 1, characterized by the following:

12. The definition information indicating that a predetermined function relating to the generation AI is to be used or generated is a predetermined function. The information processing system according to claim 1, characterized by the following:

13. The constructed application outputs instructions to the generated AI, Based on the type of AI generated, an instance is created that matches the interface. The information processing system according to claim 1, characterized by the following:

14. The acquisition means of the information processing system includes an acquisition step of acquiring definition information for building an application, A control step in which the control means of the information processing system controls the system to construct an application that can utilize the generated AI in the processing of the screen item if the definition information related to the screen item among the definition information acquired in the acquisition step includes definition information indicating that a predetermined function related to the generated AI will be used or generated, A control method for an information processing system, characterized by comprising the following:

15. A program for causing at least one computer to function as one of the means of an information processing system described in any one of claims 1 to 13.