Template creation support system, template creation support device, and template creation support method

The template creation support system enhances LLM accuracy by converting templates into service relationship graphs, allowing users to input desired configurations and search for similar templates, addressing the issue of incomplete configuration items in LLM-generated templates.

JP7763878B2Active Publication Date: 2025-11-04HITACHI LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024024221
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-02-21
Publication Date
2025-11-04
Estimated Expiration
2044-02-21

AI Technical Summary

Technical Problem

Existing large language models (LLMs) generate inaccurate templates due to incomplete configuration items, parameter mismatches, or insufficient resource definitions, which are not addressed by existing technologies that consider resource relationships.

Method used

A template creation support system that converts templates into graphs of nodes and edges representing service relationships, allowing users to input desired system configurations, and searches for similar templates using a knowledge base, presenting setting items to enhance LLM input accuracy.

Benefits of technology

Enables users with limited knowledge to create accurate templates by identifying and correcting missing configuration items, ensuring the generated templates align with desired system configurations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007763878000001
    Figure 0007763878000001
  • Figure 0007763878000002
    Figure 0007763878000002
  • Figure 0007763878000003
    Figure 0007763878000003
Patent Text Reader

Abstract

To provide a template creation support system capable of supporting creation of a template of a flow close to a system configuration desired to be realized by a user.SOLUTION: A template creation support system includes: a first conversion unit that converts each template of a template group into a graph including a node indicating a service and an edge indicating a relation between services based on dependencies between set resources; a second conversion unit that converts an input including information indicating a system configuration desired by a user and operation of each component into the graph composed of a node indicating service and an edge indicating a relation between services; a retrieval unit that retrieves a template of the graph close to the graph converted by the second conversion unit from graphs converted by the first conversion unit from the template group; and an output unit that outputs a setting item set in the template retrieved by the retrieval unit.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention generally relates to techniques for assisting in the creation of templates. [Background technology]

[0002] Recently, with the improvement in the accuracy of large-scale language models (LLMs), there has been a trend to improve work productivity by delegating some tasks to LLMs. A typical approach in software design and development is to input the determined specifications into an LLM in natural language and receive the desired source code as output, thereby reducing the time spent researching the grammar and conventions of the development language and improving efficiency. Similar needs also exist in system development using the cloud (hereinafter referred to as cloud development), where LLMs can be used.

[0003] In cloud development, resources from multiple independent services provided by cloud vendors are connected to build a single system. By describing resource and parameter information in a declarative template, the system configuration can be managed like source code. Creating a template requires knowledge of each resource and the template's description syntax, and creating it manually would require a significant amount of work. Therefore, we considered using LLM to generate templates.

[0004] In this regard, a technology has been disclosed that compares the flow of a flow template identified based on a search term with the flow of a flow template managed by a template search system, and identifies a similar flow template, which is a flow template that defines a flow similar to the flow of the flow template identified based on the search term (see Patent Document 1). [Prior art documents] [Patent documents]

[0005] [Patent Document 1] Patent No. 7340952 Summary of the Invention [Problem to be solved by the invention]

[0006] The accuracy of the template generated by LLM depends on the amount of information entered into the prompts. If a user does not have knowledge of individual resources, they may not be able to enter all the configuration items required to create a template into LLM. In such cases, LLM will still return a template. However, such templates often do not function as intended by the user.

[0007] In other words, templates output by LLM often do not work due to incomplete configuration items such as parameter mismatches, inaccurate resource definitions, or insufficient resource definitions, and corrections require a lot of knowledge and effort. These problems are fundamental issues with LLM, and occur regardless of the type or version of LLM.

[0008] According to the technology described in Patent Document 1, even if users have different backgrounds, knowledge, etc. and use different search terms, it is possible to shorten the development period and develop applications efficiently by searching for templates similar to the template corresponding to the search terms and changing the necessary parts.

[0009] However, when checking whether the search term or its synonyms are included in the flow template name, flow template summary, or flow template description of the flow template and identifying the template corresponding to the search term, the relationship between services is not taken into consideration, which results in the problem that a flow template that is close to the system configuration that the user wants to achieve cannot be identified.

[0010] The present invention has been made in consideration of the above points, and aims to propose a template creation support system etc. that can support the creation of a template of a flow that is close to the system configuration that the user wants to realize. [Means for solving the problem]

[0011] In order to solve the above problem, the present invention provides a template creation support system for supporting the creation of templates in which dependencies are set so that resources of one of a plurality of available services call resources of other services, the system including: a storage unit that stores information on a template group that collects templates in which one or more resources provided by each of the plurality of services are set and which are guaranteed to operate; a first conversion unit that converts each template in the template group into a graph consisting of nodes that indicate services and edges that indicate relationships between the services, based on the dependencies between the set resources; an input unit that receives from a user terminal an input including information that indicates a system configuration desired by a user and the operation of each component; a second conversion unit that converts the input received by the input unit into a graph consisting of nodes that indicate services and edges that indicate relationships between the services; a search unit that searches the template group for a template whose graph is similar to the graph converted by the second conversion unit from among the graphs converted by the first conversion unit; and an output unit that outputs setting items that are set in the template found by the search unit.

[0012] According to the above configuration, the setting items used to create a template can be presented to the user. This allows even a user with little knowledge of resources to understand the necessary setting items, so that, for example, the user can create a prompt with more information for obtaining a template, resulting in a more accurate template being obtained from the LLM. [Effects of the Invention]

[0013] According to the present invention, a highly convenient template creation support system can be realized. Problems, configurations, and effects other than those described above will become apparent from the following description of the embodiments. [Brief explanation of the drawings]

[0014] [Figure 1] FIG. 1 illustrates an example of a system according to a first embodiment. [Figure 2] FIG. 1 illustrates an example of a template creation support system according to a first embodiment. [Figure 3] FIG. 2 is a diagram showing an example of a template according to the first embodiment. [Figure 4] FIG. 3 is a diagram showing an example of a group of setting items according to the first embodiment. [Figure 5] FIG. 2 is a diagram illustrating an example of a graph representation according to the first embodiment. [Figure 6] FIG. 10 illustrates an example of pre-processing according to the first embodiment. [Figure 7] FIG. 4 is a diagram illustrating an example of template conversion processing according to the first embodiment. [Figure 8] FIG. 10 is a diagram illustrating an example of a necessary input information storage process according to the first exemplary embodiment. [Figure 9] FIG. 3 is a diagram illustrating an example of a template generation process according to the first embodiment. [Figure 10] FIG. 2 is a diagram illustrating an example of natural language conversion processing according to the first embodiment. [Figure 11] FIG. 10 is a diagram illustrating an example of a template graph processing process according to the first embodiment. [Figure 12] FIG. 10 is a diagram illustrating an example of a similarity ranking derivation process according to the first exemplary embodiment. [Figure 13] FIG. 10 is a diagram illustrating an example of a necessary input information acquisition process according to the first embodiment. [Figure 14] FIG. 2 is a diagram showing an example of an input sentence according to the first embodiment. [Figure 15] FIG. 4 is a diagram illustrating an example of a prompt according to the first embodiment. [Figure 16] FIG. 4 is a diagram illustrating an example of a prompt according to the first embodiment. [Figure 17] FIG. 2 is a diagram illustrating an example of a user interface according to the first embodiment. [Figure 18]FIG. 2 is a diagram illustrating an example of a user interface according to the first embodiment. [Figure 19] FIG. 2 is a diagram illustrating an example of a user interface according to the first embodiment. [Figure 20] FIG. 2 is a diagram illustrating an example of a user interface according to the first embodiment. [Figure 21] FIG. 2 is a diagram illustrating an example of a user interface according to the first embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0015] (I) First embodiment An embodiment of the present invention will be described in detail below, but the present invention is not limited to the embodiment.

[0016] In order to allow the LLM to generate templates with higher accuracy, the template creation support system of this embodiment is equipped with a knowledge base that collects templates whose operation is guaranteed in advance, a template conversion unit that converts the templates in the knowledge base into graphs consisting of nodes and edges, an input conversion unit that converts user input into graphs consisting of nodes and edges, and a search unit that compares these graphs, calculates a score indicating similarity, and then sorts the graphs in order of similarity. Furthermore, the template creation support system of this embodiment is configured to search the knowledge base for templates with graphs that are highly similar to the input graph before directly sending the user input to the LLM. In this regard, conventional technologies do not have a function for identifying existing templates that are close to the system configuration the user wants to achieve, taking into account connectivity between services.

[0017] Furthermore, the template creation support system of this embodiment is configured to search for similar templates that are close to the system configuration that the user wants to achieve, and then present the setting items of the searched similar templates to the user, allowing the user to complete the input information (prompts) that are sent to the LLM.

[0018] The function itself of using a knowledge base to assist with the input required for LLM is known as a technique called RAG (Retrieval-Augmented Generation). However, no technology has been disclosed for implementing RAG, which searches for highly similar templates written in a computer language based on a user's natural language input. In this embodiment, a technique is used in which two concepts with different levels of abstraction, the user's natural language input and a template written in a computer language, are represented in a comparable form as a mathematical graph with nodes and edges, and the two are compared. This makes it possible to search for and present similar templates that are close to the system configuration the user wants to achieve, thereby enabling the creation of prompts with more information.

[0019] The designations "first," "second," "third," etc. in this specification are used to identify components and do not necessarily limit the number or order. Furthermore, numbers used to identify components are used in different contexts, and numbers used in one context do not necessarily indicate the same configuration in another context. Furthermore, this does not prevent a component identified by a certain number from also serving the function of a component identified by another number.

[0020] Next, an embodiment of the present invention will be described with reference to the drawings. The following description and drawings are examples for explaining the present invention, and some omissions and simplifications have been made as appropriate for clarity of explanation. The present invention can be implemented in various other forms. Unless otherwise specified, each component may be singular or plural.

[0021] In the following description, identical elements in the drawings are assigned the same numbers, and descriptions thereof will be omitted where appropriate. When describing elements of the same type without distinction, the common portion (the portion excluding the branch number) of the reference sign including the branch number may be used, and when describing elements of the same type while distinguishing between them, the reference sign including the branch number may be used. For example, when describing resource definition information without any particular distinction, it may be written as "resource definition information 310," and when describing individual pieces of resource definition information while distinguishing between them, it may be written as "resource definition information 310-1," "resource definition information 310-2," etc.

[0022] In FIG. 1, 100 generally indicates a system according to a first embodiment.

[0023] System 100 of this embodiment is configured to include a template creation support system 110, a user terminal 120, and a generation AI system 130, and executes processing related to template creation by a user. Template creation support system 110, user terminal 120, and generation AI system 130 are connected to each other so that they can communicate with each other.

[0024] The template creation support system 110 includes a template group 101 and a setting item group 102.

[0025] The template group 101 contains one or more templates that are guaranteed to work. The template describes the coded contents of the system configuration. More specifically, the template contains a set of resources provided by each of a plurality of services available to users, and a dependency relationship that allows a resource of one of the plurality of services to call a resource of another service. The services are a plurality of independent services (cloud computing services) provided by cloud vendors, and are various services that can use resources such as server devices, storage devices, virtual machines, databases, and software.

[0026] At a predetermined timing, the template creation support system 110 converts the templates in the template group 101 into a graph consisting of nodes indicating services and edges indicating relationships between services, and stores information about the converted graph (graph representation).

[0027] In the setting item group 102, setting items required for the templates in the template group 101 are registered in association with the templates.

[0028] In step S111, the template creation support system 110 receives an input statement 103 from the user terminal 120. The input statement 103 includes information indicating the system configuration desired by the user and the operation of each component element.

[0029] In step S112, template creation support system 110 converts received input sentence 103 into a graph consisting of nodes that represent services and edges that represent relationships between services. Template creation support system 110 searches for a graph that is similar to the graph converted from input sentence 103 from graphs converted from templates in template group 101, and extracts the template of the searched graph from template group 101 as similar template 104.

[0030] In step S113, the template creation support system 110 inputs to the generation AI system 130 a prompt 106 requesting that the generation AI system 130 detect any setting items (missing parts) that are missing from the input sentence 103. The prompt 106 includes the input sentence 103 received from the user terminal 120, necessary setting items 105 that are setting items linked to the similar template 104, and an instruction requesting that the missing parts of the input sentence 103 be explained in natural language.

[0031] In step S114, generation AI system 130 receives prompt 106 including input sentence 103 and some or all of required setting items 105, generates suggested correction sentence 107 from the received input sentence 103 and required setting items 105, and sends generated suggested correction sentence 107 to template creation support system 110. Suggested correction sentence 107 includes content in which missing parts of input sentence 103 have been translated to make it easier for the user to interpret.

[0032] In step S115, the template creation support system 110 sends the correction proposed sentence 107 to the user terminal 120.

[0033] In step S116, the user terminal 120 transmits to the generation AI system 130 a prompt 108 including the content of the input sentence 103 corrected by the user for the missing parts based on the proposed correction sentence 107.

[0034] In step S117, the generation AI system 130 receives the prompt 108, and based on the received prompt 108, generates a proposed template 109, which is a template for managing the system configuration desired by the user, and transmits the generated proposed template 109 to the user terminal 120.

[0035] According to the above configuration, the proposed template 109 that is close to the system configuration desired by the user is provided to the user, so that cloud development can be effectively supported. The present embodiment will be described in more detail below.

[0036] FIG. 2 is a diagram illustrating an example of a template creation support system 110.

[0037] The template creation support system 110 is, for example, a cloud system that provides cloud computing services. Note that the cloud vendor that owns the cloud system and the cloud vendor that a user uses to build a system may be the same or different. The template creation support system 110 is configured to include one or more computers, and the functions of the template creation support system 110 (such as the compute service unit 210, database service unit 220, and storage service unit 230) are realized by the one or more computers reading and executing programs. Additionally, one function of the template creation support system 110 may be divided into multiple functions, or multiple functions may be combined into a single function. Furthermore, some of the functions of the template creation support system 110 may be provided as separate functions or may be included in other functions. Furthermore, some of the functions of the template creation support system 110 may be realized by another computer that is capable of communicating with the template creation support system 110.

[0038] The compute service unit 210 includes a template conversion unit 211 , a storage unit 212 , an input conversion unit 213 , a processing unit 214 , a search unit 215 , and an output unit 216 .

[0039] The template conversion unit 211 converts a template from the template group 101 into a graph and generates a graph representation indicating the converted graph. The storage unit 212 stores setting items required for each template from the template group 101 in the setting item group 102. The input conversion unit 213 converts an input sentence 103 in a natural language into a graph and generates a graph representation indicating the converted graph. The processing unit 214 processes the graph (graph representation) of the template from the template group 101 so that the graph of the input sentence 103 can be more appropriately compared with the graph of the template from the template group 101. The search unit 215 calculates a score indicating the similarity between the graph converted by the template conversion unit 211 or the graph processed by the processing unit 214 and the graph converted by the input conversion unit 213, and searches the template group 101 for a similar template 104 with the highest similarity. The output unit 216 requests the generation AI system 130 to explain the deficiencies in the input sentence 103 in natural language based on the necessary setting items 105 linked to the searched similar template 104 and the input sentence 103, and outputs the suggested correction sentence 107 obtained from the generation AI system 130 to the user.

[0040] The database service unit 220 stores and manages the setting item group 102 and the graph representation 221. The storage service unit 230 stores and manages the template group 101.

[0041] The template creation support system 110 is not limited to a cloud system, but may be a computer system configured to include one or more computers, a template creation support device (for example, a computer), or the like. In this case, the functions of the template creation support system 110 may be realized, for example, by a processor reading a program stored in an auxiliary storage device into a main storage device and executing it (software), or may be realized by hardware such as a dedicated circuit, or may be realized by a combination of software and hardware. Furthermore, each of the hardware components of the computer may be one or more.

[0042] The user terminal 120 is a computer such as a notebook computer, a tablet terminal, etc. The user terminal 120 includes a processor 241, a main memory device 242, an auxiliary memory device 243, an input device 244, an output device 245, and a communication device 246.

[0043] The processor 241 is a device that performs arithmetic processing. The processor 241 is, for example, a central processing unit (CPU), a micro processing unit (MPU), a graphics processing unit (GPU), an artificial intelligence (AI) chip, or the like.

[0044] The main memory device 242 is a device that stores programs, data, etc. The main memory device 242 is, for example, a ROM (Read Only Memory), a RAM (Random Access Memory), etc. The ROM is, for example, an SRAM (Static Random Access Memory), an NVRAM (Non Volatile RAM), a Mask ROM (Mask Read Only Memory), a PROM (Programmable ROM), etc. The RAM is, for example, a DRAM (Dynamic Random Access Memory).

[0045] The auxiliary storage device 243 is a hard disk drive, a flash memory, a solid state drive (SSD), an optical storage device, etc. The optical storage device is a compact disc (CD), a digital versatile disc (DVD), etc. The programs, data, etc. stored in the auxiliary storage device 243 are read into the main storage device 242 as needed.

[0046] The input device 244 is a user interface that accepts information from a user, and is, for example, a keyboard, a mouse, a card reader, a touch panel, or the like.

[0047] The output device 245 is a user interface that outputs various types of information (display output, audio output, print output, etc.). The output device 245 is, for example, a display device that visualizes various types of information, an audio output device (speaker), a printer, etc. The display device is an LCD (Liquid Crystal Display), a graphics card, etc.

[0048] The communication device 246 is a communication interface that communicates with other devices via a communication medium. The communication device 246 is, for example, a network interface card (NIC), a wireless communication module, a universal serial bus (USB) module, a serial communication module, etc. The communication device 246 can also function as an input device that receives information from other devices that are communicatively connected. The communication device 246 can also function as an output device that transmits information to other devices that are communicatively connected.

[0049] The functions of the user terminal 120 may be realized, for example, by the processor 241 reading a program stored in the auxiliary storage device 243 into the main storage device 242 and executing it (software), or may be realized by hardware such as a dedicated circuit, or may be realized by a combination of software and hardware. One function of the user terminal 120 may be divided into multiple functions, or multiple functions may be combined into one function. Some of the functions of the user terminal 120 may be provided as separate functions or may be included in other functions. Some of the functions of the user terminal 120 may be realized by another computer capable of communicating with the user terminal 120. Each hardware component of the user terminal 120 may be one or more.

[0050] The generation AI system 130 is configured to include one or more computers, and the functions of the generation AI system 130 (LLM 251, etc.) are realized by the one or more computers reading and executing a program.

[0051] The LLM251 is a deep learning model trained using, for example, a huge dataset, and performs advanced language processing for various natural language tasks, such as sentence generation, sentence classification, and sentence translation. For example, when a prompt 106 requesting detection of a missing part of an input sentence 103 based on required setting items 105 is input, the LLM251 outputs a proposed correction sentence 107 describing the missing part of the input sentence 103. Also, when a prompt 108 reflecting the contents of the proposed correction sentence 107 is input as a natural language specification of a system configuration desired by a user, the LLM251 outputs a proposal template 109 describing the system configuration of the specification.

[0052] Although the LLM that generates the revised proposal 107 and the LLM that generates the proposal template 109 are described as being the same LLM 251, they may be different LLMs.

[0053] 3 is a diagram showing an example of a template (template 300) included in the template group 101. For the sake of convenience, template 300 illustrates an example of a description that does not depend on various cloud computing services, but this does not exclude a description that corresponds to a specific cloud computing service.

[0054] The template 300 includes multiple pieces of resource definition information 310 that define the dependency relationships between resources that indicate the system configuration. The resource definition information 310 includes type information 311, property information 312, and the like, as information that defines the resources. The type information 311 sets the service (resource type) to which the resource belongs. The property information 312 sets parameters that are values ​​to be passed to the template at execution time, reference information that indicates references to other resources within the template, and the like.

[0055] The services declared in the resource definition information 310 of the template 300 have dependencies due to the authority and authorization mechanisms for calling other services. With this in mind, the template creation support system 110 identifies the relationships between resources and then identifies the relationships between services from the relationships between resources. An example of the process for identifying the relationships between services will be described later with reference to FIG. 7.

[0056] The template may be written in any format, such as JSON (JavaScript (registered trademark) Object Notification) format or YAML (YAML Ain't a Markup Language) format.

[0057] FIG. 4 is a diagram showing an example of the setting item group 102. As shown in FIG.

[0058] The setting item group 102 is information registered by a builder, expert, etc. of the template creation support system 110, and is configured to include setting items linked to templates and services. More specifically, the setting item group 102 includes information in which a template ID 401, a service name 402, a service ID 403, and items to be set 404 are associated with each other.

[0059] The template ID 401 is a code (identification information) assigned to identify the template. The service name 402 is a name indicating the service used in the template. The service ID 403 is a code assigned to identify the service. The items to be set 404 are setting items that need to be set for the service.

[0060] FIG. 5 is a diagram showing an example of the graph representation 221.

[0061] The graph representation 221 includes information obtained by converting a template included in the template group 101 into a graph. More specifically, the graph representation 221 includes information associating a template ID 501 with a matrix 502. The template ID 501 is a code assigned to identify the template. The matrix 502 is information indicating the graph of the template, and is, for example, an N×N adjacency matrix. N is the number of services provided by the cloud vendor.

[0062] Next, the process of creating a template by a user will be described with reference to the flowcharts shown in FIGS.

[0063] 6 is a diagram showing an example of pre-processing. The pre-processing is executed, for example, when the template creation support system 110 is constructed or when a new template group 101 is added.

[0064] In step S601, template conversion unit 211 performs template conversion processing, in which each template in template group 101 is converted into a graph.

[0065] In step S602, the storage unit 212 performs a necessary input information storage process, in which setting items required for each template in the template group 101 are stored as the setting item group 102.

[0066] 7 is a diagram showing an example of template conversion processing. In the template conversion processing, attention is paid to the dependency relationships between services (resources) and the dependency relationships are graphed. This processing makes it possible to compare input sentences 103 with different levels of abstraction and styles.

[0067] Template conversion unit 211 performs the processes of steps S701 to S703 on all templates in template group 101 and on all resources defined in the templates. For example, when performing conversion processing on template 300 in template group 101, template conversion unit 211 performs the processes of steps S701 to S703 on resource definition information 310-1, resource definition information 310-2, resource definition information 310-3, resource definition information 310-4, resource definition information 310-5, and resource definition information 310-6 in this order. The following description will be given taking as an example a case where resource definition information 310-3 is the processing target.

[0068] In step S701, template conversion unit 211 refers to the resource type defined for the resource to be processed. For example, template conversion unit 211 refers to type information 311-3 in resource definition information 310-3 and identifies the resource type "NetworkInterface."

[0069] In step S702, template conversion unit 211 references the resource type of the resource referenced in the resource to be processed. For example, template conversion unit 211 identifies the referenced ID "CreateUserFunction" included in resource definition information 310-3 based on the description indicating the reference (e.g., "${}") in template 300, and references type information 311-5 of resource definition information 310-5 of the referenced ID to identify the resource type "Function."

[0070] In step S703, template conversion unit 211 sets a bit in the corresponding element of the adjacency matrix based on the dependency relationship between the resources. For example, if the resource type (first service) identified in step S701 is different from the resource type (second service) identified in step S702, it determines that there is a dependency relationship between the services and sets a bit in the corresponding element of the adjacency matrix. That is, for a first node representing the first service and a second node representing the second service, an edge indicating a dependency relationship is drawn between the first node and the second node to generate a graph, and a weight of "1" is set in the corresponding element of the adjacency matrix.

[0071] Here, the adjacency matrix will be explained using an example of a graph 710. The graph 710 is made up of nodes 711 that indicate services and edges 712 that indicate relationships between services.

[0072] In the template conversion process, template conversion unit 211 generates an N×N adjacency matrix with all services as nodes. For example, if service A is in the first row and first column, service B is in the second row and second column, service C is in the third row and third column, and service D is in the fourth row and fourth column, an adjacency matrix is ​​generated in which only (1,2), (2,1), (2,3), (3,2), (3,4), and (4,3) are set to "1" and the rest are set to "0". In this embodiment, template conversion unit 211 draws edges regardless of the direction or number of times, and generates adjacency matrix 720 (graph representation G K )

[0073] FIG. 8 is a diagram illustrating an example of the necessary input information storage process.

[0074] The storage unit 212 performs the process of step S801 for all templates in the template group 101 and for all services in the templates.

[0075] In step S801, the storage unit 212 registers setting items that have been input by a builder, an expert, or the like of the template creation support system 110, linked to a template and a service via a specified computer (not shown), into the setting item group 102.

[0076] FIG. 9 illustrates an example of the template generation process.

[0077] In step S901, the compute service unit 210 receives the input statement 103 (user requirement input) via the user terminal 120.

[0078] In step S902, the compute service unit 210 performs a natural language conversion process, in which the input sentence 103 in natural language is converted into a graph, and an adjacency matrix of the graph is generated.

[0079] In step S903, the compute service unit 210 performs a template graph processing process. When calculating the similarity between the graph of the template and the graph of the input statement 103, if an adjacency matrix is ​​simply subtracted, the result becomes vulnerable to excess nodes and edges. In the template graph processing process, the graph of the template (adjacency matrix) is processed.

[0080] In step S904, the compute service unit 210 performs a similarity ranking derivation process, in which a score indicating the similarity between the graph of the template and the graph of the input sentence 103 is calculated, and the similar template 104 with the highest similarity is identified from the template group 101.

[0081] In step S905, the compute service unit 210 performs a required input information acquisition process. In the required input information acquisition process, setting items (required setting items 105) linked to similar templates 104 are searched for in order to detect missing parts of the input sentence 103. Then, the LLM 251 detects missing parts of the input sentence 103 based on the necessary setting items 105, and generates a suggested correction sentence 107 for the user.

[0082] In step S906, the compute service unit 210 transmits the revised proposed text 107 to the user terminal 120 (feedback the output result to the user).

[0083] In step S907, the compute service unit 210 receives the prompt 108 (requirement re-input, in which the user re-inputs the requirement based on the correction proposal 107, which is the output result) via the user terminal 120.

[0084] In step S908, the compute service unit 210 sends the prompt 108 to the LLM 251 (inputs the requirement re-input into the LLM 251).

[0085] In step S909, the compute service unit 210 transmits the proposed template 109 to the user terminal 120 (returns the template output by the LLM 251 to the user).

[0086] Figure 10 shows an example of natural language conversion processing. In order to obtain a similar template 104, that is, to search for a template that is guaranteed to work based on an input sentence 103 entered by a user, it is necessary to convert the natural language input into a more abstract expression. Therefore, in natural language conversion processing, the input sentence 103 is converted into a graph consisting of nodes and edges, and is represented as an adjacency matrix.

[0087] The input conversion unit 213 performs the process of step S1001 for all services in the input sentence 103.

[0088] In step S1001, the input conversion unit 213 divides the input sentence 103 into morphemes.

[0089] Furthermore, input conversion unit 213 performs the processes of steps S1002 and S1003 for all morphemes. In the following, a case where input sentence 103 is input sentence 1400 shown in Fig. 14 and the service name of the service to be processed is "Network Interface" will be described as an example.

[0090] Here, input sentence 103 is configured to include, for each service, the ID of the service and a description of the service, as shown in Fig. 14. Furthermore, the description of the service includes an explanation of the relationship with other services, and therefore may include the service names or service IDs of other services.

[0091] In step S1002, the input conversion unit 213 determines whether the morpheme to be processed matches the service name or service ID of a service different from the service to be processed. If the input conversion unit 213 determines that they match, it performs the process of step S1003, and if it determines that they do not match, it moves on to the next morpheme to be processed.

[0092] For example, in the input sentence 1400, if the service name of the service to be processed is "Network Interface" and the morpheme to be processed is "create_user," the description of the service contains the service ID of another service, "create_user." In this case, the input conversion unit 213 detects other services that have a dependency relationship with the service to be processed, and determines that they match in step S1002.

[0093] In step S1003, the input conversion unit 213 sets a bit in the corresponding element of the adjacency matrix based on the service to be processed and the other services detected in step S1002. Note that in the natural language conversion process, the input conversion unit 213, like the template conversion unit 211, generates an N×N adjacency matrix 1010 (graph representation GI )

[0094] In this way, the input conversion unit 213 converts the input of the system configuration at the service level into a graph that focuses on the relationships between services, thereby enabling comparison with a template that describes detailed parameters.

[0095] FIG. 11 is a diagram illustrating an example of the template graph processing process.

[0096] In this embodiment, as will be described later with reference to FIG. 12, the graph representation G I and the graph representation G K As a score showing the similarity with I -G K ) is calculated as half the sum of the absolute values ​​of each element, so if the score is calculated without modifying the template's adjacency matrix, there are cases where the similarity is deemed low if there are extra services in between. Therefore, in the template graph modification process, the template graph (adjacency matrix) is modified according to reachability.

[0097] More specifically, the explanation will be given by taking an explanatory graph 1110 as an example. The explanatory graph 1110 includes a graph representation G I 11, examples of a graph 1111 of the graph representation G1 of the first template, a graph 1112 of the graph representation G1 of the second template, and a graph 1113 of the graph representation G2 of the second template are shown.

[0098] Graph 1112 has two extra edges and one less necessary edge than graph 1111, so the graph representation G I and the graph representation G1 of graph 1112 (G I -G1), the distance is calculated as 1 / 2. Compared to graph 1111, graph 1113 requires one less edge, so the graph representation G I and the graph representation G2 of graph 1113 (G IIf we calculate 1 / 2 of the sum of the absolute values ​​of each element of (G1-G2), the distance is calculated as "1." Here, even if the first template is a correct correction (template) for an erroneous input, simple subtraction will result in a low similarity if there is an extra service in between. To solve this problem, it is necessary to reflect the reachability from one service to another in the index. For example, since node T can reach node U via node V, the graph is modified so that graph 1112 is determined to be at least equidistant from graph 1113 when passing through the extra service (node ​​V).

[0099] More specifically, the processing unit 214 processes the graph representation G of all the templates in the template group 101. K and the graph representation G of the input sentence 103 I is a connectivity relation, and the graph representation G K For example, processing unit 214 performs the processes of steps S1101 to S1104 for a service pair having node T and node U as a start point and an end point that are in a connective relationship in graph 1111 of input sentence 103 but not in a direct connective relationship in graph 1112 of the first template (node ​​T and node U in graph 1112).

[0100] In step S1101, the processing unit 214 searches for a route that can reach "B" from "A." In this example, the processing unit 214 searches for the route "node T-node V-node U."

[0101] In step S1102, the processing unit 214 determines whether or not it is possible to reach "B" from "A". If the processing unit 214 determines that it is possible to reach "B" from "A", the processing proceeds to step S1103, and if it determines that it is not possible to reach "B" from "A", the processing proceeds to the next node. In this example, the processing unit 214 determines that it is possible to reach node U from node T, and the processing proceeds to step S1103.

[0102] In step S1103, the processing unit 214 divides the weight of the edge of the route by the number of nodes (services) through which the route is passed. More specifically, the processing unit 214 sets the weight of the edge in the section to [1 / number of edges], and calculates the weight of the edge in the section by the number of nodes through which the route is passed. K In this example, since the number of edges passed through is "2", the processing unit 214 sets the weight of the edge between node T and node V to "0.5", and the weight of the edge between node V and node U to "0.5".

[0103] In step S1104, the processing unit 214 draws an edge with a weight of "1" between "A" and "B" to create the graph representation G K In this example, the processing unit 214 connects the starting node T and the ending node U with an edge having a weight of "1" to update the graph representation G K Set "1" to the corresponding element of

[0104] By the above process, the graph 1112 with the extra node V between them is processed into a graph 1120, and the graph representation G of the graph 1112 is converted to show the graph 1120. K will be updated.

[0105] FIG. 12 is a diagram showing an example of the similarity ranking derivation process. Since an adjacency matrix (graph representation) is obtained from each of the input sentence 103 by the user and the templates in the template group 101, the similarity ranking derivation process compares the two to search for the template with the highest similarity. In this example, the graph representation G of the input sentence 103 I and the graph representation of the template G K The difference between each element (G I -G K ) is calculated as 1 / 2 times the sum of the absolute values ​​of

[0106] More specifically, the search unit 215 searches for a graph representation G of all templates. K The processes of steps S1201 and S1202 are performed for the above.

[0107] In step S1201, the search unit 215 searches for the graph representation G I and a graph representation of the template to be processed, G K Difference with (G I -G K ) is calculated.

[0108] In step S1202, the search unit 215 searches for (G I -G K ) and multiply the sum by 1 / 2. The more the graphs of both graphs match, the more (G I -G K ) is close to "0". I and G K The score (dissimilarity) is calculated as a measure of similarity between the elements. The smaller the value of 1 / 2 times the sum of the absolute values ​​of each element, the more similar the score is. In the example of graph 1210, the score is calculated as dist(G I ,G K )=2.

[0109] In step S1203, the search unit 215 sorts the templates in ascending order according to the scores. The search unit 215 selects the graph representation G K The template with the highest similarity (similar template 104) is identified.

[0110] FIG. 13 is a diagram illustrating an example of the necessary input information acquisition process.

[0111] In step S1301, the output unit 216 extracts the necessary setting items 105 (setting items linked to the similar template 104) from the setting item group .

[0112] In step S1302, the output unit 216 inputs a prompt 106 to the LLM 251, requesting detection of a missing part of the input sentence 103 based on the input sentence 103 and the necessary setting item 105, and detects the missing part of the input sentence 103 using the LLM 251. The LLM 251 generates a suggested correction sentence 107 based on the received prompt 106, and returns the generated suggested correction sentence 107 to the output unit 216. The prompt 106 input to the LLM 251 will be described with reference to FIG. 15 .

[0113] FIG. 14 is a diagram showing an example of the input sentence 103 (input sentence 1400).

[0114] Input sentence 1400 includes information in which a service name 1401, a service ID 1402, and a description 1403 are associated with each other. The information of input sentence 1400 is input, for example, via the user interfaces shown in FIGS. 17 to 19. A name indicating a service is input in service name 1401. A code assigned to identify the service is input in service ID 1402. A description of the service is input in description 1403. The description of the service may include the service name and / or service ID of another service related to the service.

[0115] FIG. 15 is a diagram showing an example (prompt 1500) of the prompt 106 that requests the LLM 251 to detect a missing portion of the input sentence 103.

[0116] The prompt 1500 is generated by the output unit 216 and input to the LLM 251. The prompt 1500 includes an instruction 1510-1 requesting detection of setting items missing from the input statement 103, content 1520 of the input statement 103, and content 1530 of setting items (necessary setting items 105) linked to the similar template 104. The content 1520 of the input statement 103 and the content 1530 of the necessary setting items 105 may be provided for each service, or may be provided in association with service information (service name, service ID, etc.). The prompt 1500 also preferably includes an instruction 1510-2 requesting output of information (input examples, reference information, etc.) to assist the user when entering setting items missing from the input statement 103.

[0117] FIG. 16 is a diagram showing an example of a prompt 108 (prompt 1600) that requests the LLM 251 to generate a proposal template 109.

[0118] Prompt 1600 is an example of a prompt including the content of the input sentence 103 corrected by the user based on the correction proposed sentence 107. Prompt 1600 is input, for example, via the user interfaces shown in Figures 20 and 21. Prompt 1600 includes an instruction 1610 requesting LLM 251 to output the proposal template 109, the content of the input sentence 103, and content 1620 reflecting the missing parts of parameters, etc., indicated in the correction proposed sentence 107. Note that instruction 1610 may be generated by output unit 216 or may be input by the user.

[0119] FIG. 17 is a diagram showing an example of a user interface (input screen 1700).

[0120] An input screen 1700 is a screen displayed on the user terminal 120, and is an example of an initial screen for inputting the input statement 103. The input screen 1700 is provided with an input field 1710 for inputting information about a service to be used in a desired system, an input check button 1720 for confirming the content input by the user, and a template creation button 1730 for outputting the proposal template 109. The input field 1710 is provided with an expand / collapse button 1711 for each service for expanding or collapsing the details of that service. When the expand / collapse button 1711 is pressed, an input field for inputting the details of that service is displayed.

[0121] FIG. 18 is a diagram showing an example of a user interface (input screen 1800).

[0122] An input screen 1800 is an example of a screen that is displayed on the user terminal 120 when the user presses the expand / collapse button 1711 on the input screen 1700. The input screen 1800 is provided with an input field 1810 for inputting the service name of the service that the user wants to use, the service ID of the service, and a description of the service (functional description).

[0123] The input screen 1800 can be either an input screen 1800-1 or an input screen 1800-2. The difference between the input screen 1800-1 and the input screen 1800-2 is whether or not an input field 1820 for inputting an architecture diagram is included. In the input field 1820, the user can create a graph (directed graph or undirected graph). Note that if a graph is created by the user, the process of converting natural language into a graph can be omitted.

[0124] FIG. 19 is a diagram showing an example of a user interface (confirmation screen 1900).

[0125] The confirmation screen 1900 is an example of a screen that is displayed on the user terminal 120 when the user inputs information about a service to be used in a desired system on the input screen 1800 and presses the input check button 1720. The confirmation screen 1900 is provided with a confirmation field 1910 for checking the input content, a back button 1920 for returning to the input screen 1700 or the input screen 1800, and a check start button 1930 for outputting the revision proposal 107.

[0126] FIG. 20 is a diagram showing an example of a user interface (check result screen 2000).

[0127] The check result screen 2000 is an example of a screen that is displayed on the user terminal 120 when the user presses the start check button 1930 on the confirmation screen 1900. The check result screen 2000 can display the correction suggestion 107 generated by the LLM 251. On the check result screen 2000, the user can refer to specific advice about each service by pressing the expand / collapse button 1711.

[0128] FIG. 21 is a diagram showing an example of a user interface (edit screen 2100).

[0129] The correction screen 2100 is an example of a screen displayed on the user terminal 120 when the user presses the expand / collapse button 1711 on the check result screen 2000. The correction screen 2100 displays a confirmation field 2110 for confirming the correction proposal 107 for the service corresponding to the pressed expand / collapse button 1711. The confirmation field 2110 displays missing part details 2111 indicating setting items that are missing from the input statement 103, and access information 2112 for accessing sites that are useful when the user inputs the missing part details 2111. The access information 2112 may be generated by the LLM 251, or may be registered by the builder, an expert, or the like of the template creation support system 110 in the required input information storage process (step S602).

[0130] According to this embodiment, natural language input and computer language templates, which differ in terms of abstraction and format, are converted into a comparable format called a graph (adjacency matrix), and the differences are extracted, making it possible to compare their similarities. This makes it possible to effectively search for existing templates of service configurations similar to the service configuration the user wishes to realize. By having the user complete information based on the templates found by the search, it is possible to prevent the user from entering ambiguous prompts into the LLM. This improves the accuracy of template creation using the LLM, contributing to user productivity.

[0131] Furthermore, according to this embodiment, template creation can be effectively supported by re-presenting the required input to the LLM to the user. This allows even users with little knowledge of the multiple independent services provided by cloud vendors to enter detailed input, making it possible to create prompts with more information, and as a result, more accurate templates can be obtained from the LLM.

[0132] In addition, users can become aware of the existence of resources that they were not aware of when initially entering requirements. In particular, resources such as logs and permission settings that are implicitly created when operating on the cloud console tend to be overlooked by users with little knowledge. Such missing resource definitions can be discovered by searching for similar templates.

[0133] (II) Supplementary Note The above-described embodiment includes, for example, the following contents.

[0134] In the above-described embodiment, the present invention is described as being applied to a template creation support system, but the present invention is not limited to this and can be widely applied to various other systems, devices, methods, and programs.

[0135] In the above embodiment, the case where suggested correction sentence 107 is output in response to input sentence 103 has been described, but the present invention is not limited to this. For example, similar template 104 or necessary setting item 105 may be output in response to input sentence 103.

[0136] Furthermore, in the above embodiment, the case where the access information 2112 is presented on the correction screen 2100 has been described, but the present invention is not limited to this. For example, in addition to or instead of the access information 2112, the relevant part of the similar template 104 may be presented, or an input example for the missing part (setting item) may be presented.

[0137] Furthermore, in the above embodiment, the template conversion processing is executed when the template creation support system 110 is constructed, but the present invention is not limited to this. For example, the template conversion processing may be executed at an appropriate timing before the similarity ranking derivation processing (step S904).

[0138] In the above-described embodiments, some or all of the programs may be installed from a program source into a device such as a computer that implements the template creation support system. The program source may be, for example, a program distribution server connected via a network or a computer-readable recording medium (e.g., a non-transitory recording medium). In the above description, two or more programs may be implemented as a single program, or one program may be implemented as two or more programs.

[0139] Furthermore, in the above-described embodiments, the configuration of each table is an example, and one table may be divided into two or more tables, or all or part of two or more tables may be one table.

[0140] Furthermore, in the above-described embodiment, for the sake of convenience, the information related to the template creation support system was described using a table, but the data structure is not limited to a table. The information related to the template creation support system may also be expressed using data structures other than tables, such as XML (Extensible Markup Language), YAML, a hash table, a tree structure, etc.

[0141] Furthermore, in the above-described embodiment, the screens shown and described are merely examples, and any design may be used as long as the information received is the same.

[0142] Furthermore, the screens shown and described in the above-described embodiment are merely examples, and any design may be used as long as the information presented is the same.

[0143] In the above-described embodiment, the output of information is not limited to display on a display screen, but may be audio output from a speaker, output to a file, printed on paper or the like by a printer, projected onto a screen or the like by a projector, or in other forms.

[0144] In addition, in the above description, information such as programs, tables, files, etc. that realize each function can be stored in a storage device such as a memory, a hard disk, or an SSD (Solid State Drive), or in a recording medium such as an IC card, an SD card, or a DVD.

[0145] The above-described embodiment has the following characteristic configurations, for example.

[0146] (1) A template creation support system (e.g., template creation support system 110, cloud system) for supporting creation of a template in which a dependency relationship is set so that a resource of one of a plurality of available services calls a resource of another service comprises a storage unit (e.g., storage service unit 230, storage device) that stores information on a template group (e.g., template group 101) that collects templates in which one or more resources provided in each of the plurality of services are set and which are guaranteed to operate, a first conversion unit (e.g., compute service unit 210, template conversion unit 211, computer) that converts each template of the template group into a graph consisting of nodes indicating services and edges indicating relationships between services based on the dependency relationships between the set resources, and a user-defined service management system (e.g., service manager 210, template conversion unit 211, computer) that manages the template creation support system. The system includes an input unit (e.g., compute service unit 210, input unit, computer) that receives input from a user terminal (e.g., user terminal 120) including information indicating the desired system configuration and the operation of each component; a second conversion unit (e.g., compute service unit 210, input conversion unit 213, computer) that converts the input received by the input unit into a graph consisting of nodes indicating services and edges indicating relationships between services; a search unit (e.g., compute service unit 210, search unit 215, computer) that searches the group of templates for a template of a graph that is similar to the graph converted by the second conversion unit from among the graphs converted by the first conversion unit; and an output unit (e.g., compute service unit 210, output unit 216, computer) that outputs the setting items set in the template searched for by the search unit.

[0147] According to the above configuration, the setting items used to create a template can be presented to the user. This allows even a user with little knowledge of resources to understand the necessary setting items, so that, for example, the user can create a prompt with more information for obtaining a template, resulting in a more accurate template being obtained from the LLM.

[0148] (2) The output unit is communicatively connected to an artificial intelligence system (e.g., generation AI system 130, LLM 251) that generates an answer in response to a prompt, and is equipped with a storage unit (e.g., compute service unit 210, storage unit 212, computer) that stores information on a group of setting items (e.g., group of setting items 102) in which the setting items set in each template of the template group are registered for each service, and the output unit extracts, for each service, the setting items linked to the templates searched by the search unit from the group of setting items, and based on the extracted setting items, inputs a prompt to the artificial intelligence system to output, for each service, the missing parts of the setting items that are missing in the input accepted by the input unit, and transmits the missing parts for each service output from the artificial intelligence system to the user terminal (e.g., see steps S113 to S115, step S905 and step S906).

[0149] According to the above configuration, even if there is a large number of setting items for one service, the user can easily identify the missing items by excluding the setting items that he or she has input.

[0150] (3) The output unit transmits to the user terminal the deficiencies output from the artificial intelligence system, as well as access information (for example, access information 2112) for accessing a site that serves as a reference for correcting the deficiencies.

[0151] According to the above configuration, even if a user does not know how to correct a missing part generated by LLM, the user can easily access a site that can serve as a reference for correcting the missing part, and can therefore correct the missing part appropriately.

[0152] (4) The first conversion unit converts, for each template in the template group, G, which is an adjacency matrix of the template that stores information about the graph, based on the dependency relationships between nodes in the graph into which the template is converted. KIn the graph, the weight of an edge is set to an element having a dependency relationship (see, for example, steps S701 to S703), and the second conversion unit converts the input received by the input unit into an adjacency matrix G that stores information about the graph based on the dependency relationships between nodes of the graph. I In the graph transformation unit, the weight of an edge is set to an element having a dependency relationship (see, for example, steps S1001 to S1003), and the search unit performs a search for the graph of each template in the template group transformed by the first transformation unit and the graph transformed by the second transformation unit, as follows: I and G K The similarity is calculated from the difference between K Search for a template of the graph from the template set (e.g., G I and G K Calculate the score, which is half the sum of the absolute values ​​of the differences between each element and G, and calculate the score that is the smallest. K A template for this graph is searched for from the template group (see steps S1201 to S1203).

[0153] According to the above configuration, for example, it is possible to search for a template of a graph that is most similar to the graph into which the input has been converted from a group of templates.

[0154] (5) The present invention further includes a processing unit (e.g., a compute service unit 210, a processing unit 214, a computer) that processes the graph converted by the first conversion unit. When there is a connection between a first node and a second node in the graph whose input has been converted by the second conversion unit and there is no connection between the first node and the second node in the graph whose template has been converted by the first conversion unit, the processing unit searches for a route that can reach the first node to the second node in the graph whose template has been converted. When a reachable route is found, the route includes an extra node, and the processing unit processes the G of the template so that the similarity (e.g., score) between the first node and the second node is the same as the similarity (e.g., score) of a graph without the extra node. K Process the following.

[0155] When operating on a cloud console, users with little knowledge tend to overlook resources that are implicitly created, such as logs and permission settings. With the above configuration, for example, if a template with an extra service between it is a correct correction for an incorrect input, it can be prevented from being judged to have a low similarity by simple subtraction, making it possible to detect missing definitions of implicitly created resources.

[0156] (6) G of each template in the above template group K and G of the input received by the input unit. I is an adjacency matrix (for example, adjacency matrix 720, adjacency matrix 1010) in which the rows and columns are nodes representing each of the plurality of services.

[0157] According to the above configuration, G K and G I Since the size of the input is determined, graphing by the first conversion unit can be performed before the input is accepted by the input unit, for example, when the template creation support system is constructed.

[0158] Furthermore, the above-described configurations may be modified, rearranged, combined, or omitted as appropriate within the scope of the present invention. [Explanation of symbols]

[0159] 101...Template group, 102...Setting item group, 103...Input sentence, 110...Template creation support system.

Claims

1. A template creation support system for supporting creation of a template in which a dependency relationship is set so that a resource of one service among a plurality of available services calls a resource of another service, a storage unit that stores information on a template group that is a collection of templates in which one or more resources provided in each of the plurality of services are set and that are guaranteed to operate; a first conversion unit that converts each template of the template group into a graph consisting of nodes that indicate services and edges that indicate relationships between the services, based on dependencies between set resources; an input unit that receives input from a user terminal, the input including information indicating a system configuration desired by the user and the operation of each component; a second conversion unit that converts the input received by the input unit into a graph consisting of nodes that represent services and edges that represent relationships between the services; a search unit that searches the template group for a template of a graph that is similar to the graph converted by the second conversion unit from among the graphs converted by the first conversion unit; an output unit that outputs setting items set in the template searched by the search unit; A template creation support system comprising:

2. communicatively coupled to an artificial intelligence system that generates answers in response to prompts; a storage unit for storing information on a group of setting items in which setting items set in each template of the group of templates are registered for each service; The output unit extracts, for each service, setting items linked to the templates searched for by the search unit from the group of setting items, and based on the extracted setting items, inputs a prompt to the artificial intelligence system to output, for each service, missing setting items that are missing from the input accepted by the input unit, and transmits the missing items for each service output from the artificial intelligence system to the user terminal. The template creation support system according to claim 1 .

3. The output unit transmits to the user terminal the deficiencies output from the artificial intelligence system, along with access information for accessing a site that is useful for correcting the deficiencies. The template creation support system according to claim 2 .

4. The first conversion unit converts each template in the template group into an adjacency matrix G of the template that stores information about the graph based on the dependency relationships between nodes in the graph into which the template is converted. K In , set the edge weight to the element with dependency, The second conversion unit converts the input received by the input unit into an adjacency matrix G that stores information about the graph based on the dependency relationships between nodes in the graph. I In , set the edge weight to the element with dependency, The search unit performs a G I and G K The similarity is calculated from the difference between K Searching for a template of the graph of The template creation support system according to claim 1 .

5. a processing unit that processes the graph information converted by the first conversion unit, When there is a connection relationship between a first node and a second node in the graph into which the input is converted by the second conversion unit, and there is no connection relationship between the first node and the second node in the graph into which the template is converted by the first conversion unit, the processing unit searches for a route that can reach the first node to the second node in the graph into which the template is converted, and when a reachable route is found, the route includes an extra node, and the processing unit processes the G of the template so that the similarity between the first node and the second node is the same as the similarity of a graph without the extra node between the first node and the second node. K To process the The template creation support system according to claim 4 .

6. G of each template in the template group K and G of the input received by the input unit I is an adjacency matrix with rows and columns each representing a node of the plurality of services, The template creation support system according to claim 4 .

7. A template creation support device for supporting creation of a template in which a dependency relationship is set so that a resource of one service among a plurality of available services calls a resource of another service, the device comprising: a storage unit that stores information on a template group that is a collection of templates in which one or more resources provided in each of the plurality of services are set and that are guaranteed to operate; a first conversion unit that converts each template of the template group into a graph consisting of nodes that indicate services and edges that indicate relationships between the services, based on dependencies between set resources; an input unit that receives input from a user terminal, the input including information indicating a system configuration desired by the user and the operation of each component; a second conversion unit that converts the input received by the input unit into a graph consisting of nodes that represent services and edges that represent relationships between the services; a search unit that searches the template group for a template of a graph that is similar to the graph converted by the second conversion unit from among the graphs converted by the first conversion unit; an output unit that outputs setting items set in the template searched by the search unit; A template creation support device comprising:

8. A template creation support method for supporting creation of a template in which a dependency relationship is set so that a resource of one service among a plurality of available services calls a resource of another service, the method comprising: a storage unit stores information on a template group that is a collection of templates in which one or more resources provided in each of the plurality of services are set and which are guaranteed to operate; a first conversion unit converting each template of the template group into a graph consisting of nodes indicating services and edges indicating relationships between the services based on dependencies between the set resources; an input unit receiving an input from a user terminal, the input including information indicating a system configuration desired by the user and an operation of each component; a second conversion unit converting the input received by the input unit into a graph consisting of nodes representing services and edges representing relationships between the services; a search unit searches the template group for a graph template that is similar to the graph converted by the second conversion unit from among the graphs converted by the first conversion unit; an output unit outputs setting items set in the template searched by the search unit; A template creation support method including:

Citation Information

Patent Citations

  • Resource allocation method and device and storage medium

    CN109995677A

  • Configuration system and equipment for generating template based on dialogue retrieval

    CN117389541A

  • Template search system and template search method

    JP7340952B2

  • JPP7340952B

  • Search Utility Program for Software Developers

    US20130036129A1