Method, computer device, and computer program for generating and providing ai function using api
The toolbox-based approach simplifies AI API generation and linking with LLMs by eliminating coding and server distribution, enabling rapid development and flexible management of AI functions through a step-action structure and action selector, facilitating efficient and intelligent functionality updates.
Patent Information
- Application Number
- JP2025029629
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-05-28
- Filing Date
- 2025-02-27
- Publication Date
- 2025-12-10
AI Technical Summary
Existing AI development platforms require coding and server distribution for generating AI APIs, and linking with Large Language Models (LLMs) involves complex individual configuration and management of specifications.
A computer device and method using a toolbox to generate AI functions via APIs without coding or server distribution, enabling flexible linking with LLMs by creating function and input/output specifications for each API, utilizing a step and action structure in a directed acyclic graph format, and an action selector to provide intelligent functionality.
Enables rapid development of new AI functions by combining steps into executable actions, allowing dynamic and intelligent responses to user queries without the need for additional work, and facilitates easy addition or modification of functions through database updates.
Smart Images

Figure 2025179795000001_ABST
Abstract
Description
[Technical Field]
[0001] The following description relates to technology that supports the development of new AI (artificial intelligence) APIs (application programming interfaces). [Background technology]
[0002] With the development of AI (Artificial Intelligence) technology, research and development into various AI application technologies is becoming more active. In particular, visible results such as improved efficiency and productivity through the use of AI are beginning to emerge, and AI is being introduced into many industries.
[0003] AI platforms, which are systems used to develop AI models, can train designed AI models using data and verify trained AI models using data. Various commercial products and open source projects that combine with cloud environments are being actively researched for such AI platforms.
[0004] As an example of a technology to support AI development, Patent Document 1 (published on August 31, 2023) discloses a technology for verifying AI models using a framework for building a trusted environment for AI models. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Korean Patent Publication No. 10-2023-0126799 Summary of the Invention [Problem to be solved by the invention]
[0006] AI functions can be generated via API using a dedicated toolbox tool without the need for additional work such as coding or server distribution.
[0007] When generating an AI API, the functions and input / output specifications can be created for each API, providing an environment that can be flexibly linked with LLMs (large language models). [Means for solving the problem]
[0008] Provided is a computer device including at least one processor implemented to execute computer-readable instructions, wherein the at least one processor provides a toolbox for generating AI (artificial intelligence) functions with an API (application programming interface), executes the AI functions via the toolbox in accordance with a user request, and provides execution results.
[0009] According to one aspect, a toolbox may consist of a step, which represents a single execution unit executed in the toolbox, and an action, which represents a functional unit provided in the form of an API executable in the toolbox.
[0010] According to another aspect, a step is managed in one-to-one correspondence with an actual execution code, and may include an input schema, an output schema, and variables required at the time of execution.
[0011] According to another aspect, an action may be defined by connecting two or more steps in a directed acyclic graph (DAG) format.
[0012] According to another aspect, an action is generated by a combination of steps, and an API specification and description may be specified in text format.
[0013] According to another aspect, the toolbox may include a step builder that generates a step instance by linking a step spec to the actual execution code of the step.
[0014] According to another aspect, an action is generated by combining steps, and a step builder defined for each step may be executed when the action is generated and used to verify the validity of data required when building the step.
[0015] According to another aspect, an action is generated by combining steps, and a step builder may check the setting of values required for each step for the steps defined in the action and check the output of the previous step and the input of the next step in the action.
[0016] According to another aspect, the toolbox includes an action builder that generates executable actions from action specifications, and the action builder may check the validity of the step specifications set in the action against the action generated by combining steps.
[0017] According to another aspect, a step builder may generate step objects for steps defined in an action, and an action builder may generate an action object having a step DAG that combines the steps.
[0018] According to another aspect, at least one processor may act as an action selector and combine actions provided in the toolbox with a large language model (LLM) to provide intelligent functionality.
[0019] According to another aspect, an action may be generated by a combination of steps, and the API specification and description may be specified in text form. The action selector may combine the specification for the action defined in the text with the LLM to provide dynamic functionality through the text.
[0020] According to yet another aspect, the action selector may cause the toolbox to perform an action selected by the LLM in response to the user's query and communicate a response to the query to the user.
[0021] According to yet another aspect, the action selector may cause the toolbox to execute an action selected by the LLM from among the actions specified in the toolbox text as being appropriate for the user's query.
[0022] Provided is a method for providing an AI function in a computer device including at least one processor, the method including the steps of: providing, by the at least one processor, a toolbox for generating AI functions using an API; and executing, by the at least one processor, the AI function via the toolbox in accordance with a user request, and providing the execution result.
[0023] A computer program is provided that is recorded on a computer-readable recording medium to cause a computer device to execute an AI function providing method. [Brief explanation of the drawings]
[0024] [Figure 1]FIG. 1 illustrates an example of a network environment in accordance with an embodiment of the present invention. [Figure 2] FIG. 1 is a block diagram illustrating an example of a computing device according to an embodiment of the present invention. [Figure 3] 1 is a flowchart illustrating an example of a method that can be performed by a computer device in accordance with an embodiment of the present invention. [Figure 4] FIG. 10 is a diagram illustrating an example of a step build in one embodiment of the present invention. [Figure 5] FIG. 10 is a diagram showing an example of an action structure generated by step linking in one embodiment of the present invention. [Figure 6] FIG. 2 illustrates an example of an action execution structure in accordance with one embodiment of the present invention. [Figure 7] 10 is a flow chart illustrating an example of an action selector in accordance with one embodiment of the present invention. [Figure 8] FIG. 2 is an illustrative diagram showing an action build and distribution process in one embodiment of the present invention. [Figure 9] FIG. 2 is an illustrative diagram showing the process of action building and execution in one embodiment of the present invention. [Figure 10] FIG. 10 is an illustrative diagram illustrating the execution of an action via a user query in accordance with one embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0025] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[0026] An embodiment of the present invention relates to a technology for supporting the development of new AI APIs.
[0027] The embodiments including those specifically disclosed in this specification can generate AI functions using APIs using a dedicated toolbox tool without additional work such as coding or server distribution, and can also provide an environment that can flexibly link with LLMs (large language models) by creating the function and input / output specifications for each API.
[0028] An AI function providing device according to an embodiment of the present invention may be realized by at least one computer device, and an AI function providing method according to an embodiment of the present invention may be executed by at least one computer device included in the AI function providing device. In this case, a computer program according to an embodiment of the present invention may be installed and executed in the computer device, and the computer device may execute the AI function providing method according to an embodiment of the present invention under the control of the executed computer program. The computer program may be recorded on a computer-readable recording medium so as to be combined with the computer device and cause the computer to execute the AI function providing method.
[0029] FIG. 1 is a diagram showing an example of a network environment in one embodiment of the present invention. The network environment in FIG. 1 shows an example including multiple electronic devices 110, 120, 130, and 140, multiple servers 150 and 160, and a network 170. FIG. 1 is merely an example for explaining the invention, and the number of electronic devices and the number of servers are not limited to those shown in FIG. 1. Furthermore, the network environment in FIG. 1 is merely an example of an environment applicable to this embodiment, and environments applicable to this embodiment are not limited to the network environment in FIG. 1.
[0030] The electronic devices 110, 120, 130, and 140 may be fixed or mobile terminals implemented by computers. Examples of the electronic devices 110, 120, 130, and 140 include smartphones, mobile phones, navigation systems, personal computers (PCs), notebook PCs, digital broadcasting terminals, personal digital assistants (PDAs), portable multimedia players (PMPs), and tablets. While FIG. 1 illustrates a smartphone as an example of the electronic device 110, in embodiments of the present invention, the electronic device 110 may represent one of a variety of physical computer devices capable of communicating with the other electronic devices 120, 130, and 140 and / or the servers 150 and 160 via the network 170 using a substantially wireless or wired communication method.
[0031] The communication method is not limited, and may include not only communication methods using communication networks (for example, a mobile communication network, a wired Internet, a wireless Internet, and a broadcast network) that can be included in network 170, but also short-range wireless communication between devices. For example, network 170 may include any one or more of networks such as a personal area network (PAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN), a broadband network (BBN), and the Internet. Furthermore, network 170 may include any one or more of network topologies including, but not limited to, a bus network, a star network, a ring network, a mesh network, a star-bus network, a tree or hierarchical network, etc.
[0032] Each of the servers 150, 160 may be realized by one or more computer devices that communicate with multiple electronic devices 110, 120, 130, 140 via a network 170 to provide instructions, code, files, content, services, etc. For example, the server 150 may be a system that provides a service (such as an AI generation service, for example) to multiple electronic devices 110, 120, 130, 140 connected via the network 170.
[0033] 2 is a block diagram showing an example of a computer device according to an embodiment of the present invention. Each of the electronic devices 110, 120, 130, and 140 and each of the servers 150 and 160 described above may be realized by a computer device 200 shown in FIG.
[0034] As shown in FIG. 2 , such a computer device 200 may include a memory 210, a processor 220, a communication interface 230, and an input / output interface 240. The memory 210 is a computer-readable recording medium and may include random access memory (RAM), read-only memory (ROM), and a persistent mass storage device such as a disk drive. Here, a persistent mass storage device such as a ROM or a disk drive may be included in the computer device 200 as a separate persistent storage device distinct from the memory 210. The memory 210 may also store an operating system and at least one program code. Such software components may be loaded into the memory 210 from a computer-readable recording medium separate from the memory 210. Such separate computer-readable recording medium may include a computer-readable recording medium such as a floppy drive, a disk, a tape, a DVD / CD-ROM drive, or a memory card. In another embodiment, the software components may be loaded into the memory 210 through a communication interface 230, which is not a computer-readable recording medium. For example, the software components may be loaded into the memory 210 of the computing device 200 based on a computer program installed by a file received over the network 170 .
[0035] Processor 220 may be configured to process computer program instructions by performing basic arithmetic, logic, and input / output operations. The instructions may be provided to processor 220 by memory 210 or by communication interface 230. For example, processor 220 may be configured to execute instructions received according to program code stored in a storage device such as memory 210.
[0036] The communication interface 230 may provide a function for the computer device 200 to communicate with other devices (e.g., the above-mentioned storage device) via the network 170. For example, requests, instructions, data, files, etc. generated by the processor 220 of the computer device 200 in accordance with program code stored in a storage device such as the memory 210 may be transmitted to other devices via the network 170 under the control of the communication interface 230. Conversely, signals, instructions, data, files, etc. from other devices may be received by the computer device 200 via the communication interface 230 of the computer device 200 via the network 170. The signals, instructions, data, etc. received via the communication interface 230 may be transmitted to the processor 220 or the memory 210, and files, etc. may be recorded on a storage medium (e.g., the above-mentioned permanent storage device) that the computer device 200 may further include.
[0037] The input / output interface 240 may be a means for interfacing with the input / output device 250. For example, the input device may include a device such as a microphone, keyboard, or mouse, and the output device may include a device such as a display or speaker. As another example, the input / output interface 240 may be a means for interfacing with a device that integrates input and output functions into one, such as a touch screen. The input / output device 250 may be configured as a single device together with the computer device 200.
[0038] Also, in other embodiments, computing device 200 may include fewer or more components than those shown in Figure 2. However, most prior art components need not be explicitly shown in the figures. For example, computing device 200 may be implemented to include at least some of the input / output devices 250 described above, and may further include other components such as a transceiver, a database, etc.
[0039] Specific embodiments of a method and apparatus for generating and providing AI capabilities through an API are described below.
[0040] While various AI functions are being developed, previously, developing a new AI API required coding and server distribution. Furthermore, in order to link with LLM, descriptions and specifications for each API had to be individually configured and managed.
[0041] This embodiment allows AI functions to be generated as APIs using a toolbox tool without the need for additional work such as coding and server distribution. When creating an AI API, the function and input / output specifications can be created for each API, providing an environment that can be flexibly linked with LLM.
[0042] The computer device 200 according to the present embodiment may provide an AI generation service to a client by connecting to a dedicated application installed on the client or a web / mobile site associated with the computer device 200. An AI function providing device implemented by a computer may be configured in the computer device 200. For example, the AI function providing device may be implemented in the form of an independently operating program, or may be configured in the form of an in-app for a specific application so as to be able to operate on the specific application.
[0043] The processor 220 of the computer device 200 may be implemented with components for executing the following AI function providing method. Depending on the embodiment, the components of the processor 220 may be selectively included or excluded from the processor 220. Also, depending on the embodiment, the components of the processor 220 may be separated or combined to express the functions of the processor 220.
[0044] Such processor 220 and its components may control computer device 200 to perform steps included in the following AI function providing method. For example, processor 220 and its components may be implemented to execute instructions from operating system code and at least one program code contained in memory 210.
[0045] Here, the components of the processor 220 may represent different functions that are performed by the processor 220 according to instructions provided by program code stored on the computer device 200 .
[0046] The processor 220 may read the necessary instructions from the memory 210, which has been loaded with instructions related to the control of the computing device 200. In this case, the read instructions may include instructions for controlling the processor 220 to perform the steps described below.
[0047] The steps included in the AI function providing method described below may be performed in an order different from that shown in the figures, and some of the steps may be omitted or additional processes may be included.
[0048] FIG. 3 is a flowchart illustrating an example of an AI function providing method that can be executed by a computer device according to an embodiment of the present invention.
[0049] Referring to FIG. 3, in step 310, the processor 220 provides a toolbox for generating AI functions. The toolbox may include steps and actions. Here, a step may refer to an execution unit executed by the toolbox, and an action may refer to a functional unit provided in an API format executable by the toolbox. In this embodiment, at least two or more steps provided in the toolbox may be combined to generate an action corresponding to a functional unit of the toolbox. Steps are not executed individually, but are generated into an executable functional unit called an action by being combined, thereby achieving an executable format. The processor 220 provides a toolbox for developing new AI functions by combining various AI models, thereby eliminating the need to develop or distribute additional projects to provide new functions, and enabling new functions to be developed by combining steps provided in the toolbox.
[0050] In step 320, the processor 220 may combine actions provided by the toolbox with the LLM to generate new AI functions. In this embodiment, the processor 220 may support the role of an action selector that combines functions provided by the toolbox with the LLM to provide intelligent functions. For each function (i.e., action) generated by combining steps in the toolbox, an API specification and description may be specified in text, and dynamic functions may be provided through text by combining the specified action defined in text with the LLM.
[0051] The processor 220 may provide a dedicated toolbox and action selector via an AI platform for generating AI functions.
[0052] As various AI functions are rapidly developed, not only are there functions that use a single function, but also functions that use multiple AI models in combination with LLMs. In this embodiment, a dedicated toolbox can be introduced that can execute a series of pipelines for developing new AI functions at runtime within the platform while quickly responding to various services. In addition, by combining the AI functions generated by the toolbox with LLMs, an action selector can be provided that executes the corresponding AI function and returns the result when a human (e.g., a developer) asks a question in natural language. In other words, when an action is generated in the toolbox, the API specification is displayed in text format. This can include an action selector structure in which the LLM understands and executes the action and its associated functions based on the action specification.
[0053] A detailed description of the toolbox structure follows:
[0054] (1) Step A step is a single execution unit executed in the toolbox. Steps are not executed independently, but are generated as executable functional units called actions, which enable execution. In this case, steps correspond one-to-one to actual code, and the actual execution code may be versioned and managed using major versions. Since each step corresponds one-to-one to actual code, changes to the code also change the steps.
[0055] Step components may include name, version, input schema, output schema, and options. Step versions are managed in a (major.minor) format, with different minors being compatible and different majors being incompatible. The input schema and output schema represent the input and output values of the step. Step options represent variables required for step execution and must be set when creating an action or passed as parameters when executing an action.
[0056] The toolbox according to the present invention may include a step builder. In this case, the step builder generates a step instance by linking a dynamically defined step spec with the actual execution code of the step. The step builder defined for each step is executed when an action is generated and may be used to check whether the data required to build the step is defined in the action spec or is valid.
[0057] An example of the steps is as follows: 'string_join'step
[0058] Joins the input string lists and returns the result. Joining converts the string lists into a single string by inserting a specific delimiter between each item. An example of joining is shown in Figure 4.
[0059] (2) Action An action is a unit of functionality provided in the toolbox in the form of an executable API, and when a new action is defined and generated, the action generates one API endpoint. In other words, an action can represent a series of steps, or a pipeline.
[0060] An action may be defined by connecting each step in a DAG (directed acyclic graph) format. In this case, action options may include the action name, input data, output data, description, and steps. The action description is a description of the action's function and may be linked to the LLM by an action selector. In other words, the action description allows the LLM to understand what functionality the action provides. The action steps define each step performed by the action, and validation may be performed to ensure that the required input data for each step has been entered when the action is created.
[0061] FIG. 5 is a diagram showing an example of the action and step structure of the toolbox in the present invention.
[0062] The toolbox according to the present invention may include an action builder. The action builder generates executable actions from action specifications. The action builder statically analyzes whether the step specifications set for each action are valid. Steps defined in an action execute a step builder to generate executable step objects. The step builder checks whether the necessary values for each step are sufficiently set and dynamically analyzes whether the output of the previous step and the input of the next step are executable. The step builder generates step objects, and the action builder generates an action object with a step DAG. In other words, a build job is executed for each step, and the step build results are collected to form an action and generate it in memory.
[0063] 6 is a diagram showing an example of an action execution structure of a toolbox in the present invention. When an input is given by a user, an action context for the input is generated, and an action may be executed in a structure in which each step is executed according to the action context and a final result is output.
[0064] A detailed explanation of the action selector, which combines the toolbox and LLM mentioned above, is as follows:
[0065] The action selector may utilize a combination of actions defined in the toolbox and LLM.
[0066] The toolbox of the present invention defines the explicit actions and executes the actions in functional units in API format, while the action selector provides the actions specified by text in the toolbox to the LLM and executes the selected action in the LLM.
[0067] Each agent configures its actions to determine which functions it can use, and the action selector provides the LLM with the input data, output data, and description specified for the action via the agent, helping it select and execute a specific function.
[0068] Figure 7 is a flow chart showing an example of an action selector.
[0069] It is possible to specify in advance what actions each agent can execute, and manage each action so that it is used by routing it.
[0070] Referring to FIG. 7, the action selector 710 may ask the LLM 730 what action to perform according to a user query. In this case, the action selector 710 may request action candidates corresponding to the user query from among the actions provided by the toolbox 720. The action selector 710 may process the user query into a format understandable by the LLM 730 and send a prompt to the LLM 730 to analyze the intent of the user to determine what action should be provided in response to the user query. This allows the LLM 730 to extract what action should be performed and what parameters are required based on the content of the conversation with the user. Parameters may be extracted from the content of the conversation, and if additional parameters are required, they may be obtained by sending an additional query to the user.
[0071] The agent may maintain a list of actions corresponding to the actions to be executed in response to a user query. When a user query is sent in the form of a message, the agent transmits a list of candidates for actions that can be executed to the toolbox 720. At this time, the agent may receive a list of candidate actions provided by the toolbox 720 via the action selector 710 and ask the LLM 730 which of the candidate actions is appropriate for the user message. The action selector 710 may cause the toolbox to execute the action selected by the LLM 730, and ultimately transmit the response to the user.
[0072] The detailed process for action build and distribution is as follows:
[0073] Distributing a new action generally requires modifying the program. When an API is added, a new program is generated by adding the API to an existing program and building it. Therefore, new functions can be added by terminating and restarting the running server program.
[0074] The present invention employs a distribution method using a toolbox, as shown in FIG. 8. In this embodiment, new APIs and metadata are stored in a text format (e.g., JSON) that is easy to store in a DB. The server is prepared so that information about actions can be called from the DB at any time. The latest action information stored in the DB can be called and used without restarting the server. Therefore, adding a new API is sufficient simply by storing it in the DB. Compared to conventional methods, this method does not require the work of building or restarting the server program, and new functions can be easily added / updated / deleted. If you want to add only functions and export them externally, you can do so by simply registering the specification of the new action in the DB without having to modify the server.
[0075] The internal action load / build / run process is as follows:
[0076] Referring to FIG. 9, when a user requests the use of a specific action, a server program (i.e., toolbox) may call an action from the DB. The action spec stored in the action DB may be called and each item may be stored in the required format. In this case, metadata is stored as metadata, and a value schema is used to verify input / output values. It is generated and stored in advance like a function to speed up the verification. Each step spec may also be stored as a value calculated in advance from options and associated with the operation code of the step in the toolbox.
[0077] If the action requested by the user is prepared in memory, values can be entered and executed sequentially. The first value is used as the input value and is validated against a pre-prepared input schema. At this time, a pre-prepared compiled input schema function is used. Each step is executed in order, and each step executes step action code (a type of function) created in the toolbox. At this time, output can be generated based on pre-calculated settings and input values from options imported from the step spec. The final value can be validated against the output schema and then returned to the user.
[0078] The timing of calling an action can be prepared in advance according to a user request, or frequently used actions can be called in advance from the database. Each step can be a type of function that receives options in the spec and values as input and calculates the result. Examples of pre-calculating from options include creating a string array in advance to determine which input value to use as the option value, or creating a client object in advance for an external HTTP request.
[0079] Figure 10 shows a specific example of the execution of an action to search for the weather. In response to a user query about the weather, a web search action using an API, LLM, AI model, or the like may be executed as an action appropriate for the query, and a response to the user's query (weather search results) may be returned.
[0080] Toolbox actions can be specified in a format that allows easy database storage or network transfer, including input / output, description, and behavior. They can be stored in a database in a string format such as JSON, and the toolbox can access them based on the stored specification, receive input, verify, and execute them. Therefore, new action specifications can be added, modified, or deleted without additional work such as coding or server deployment. By simply adding an action specification, you can associate the specification with the behavior without manual work. When using LLM, it is possible to determine what action to execute from the string specification, and then transmit the specification to LLM based on the action specification, making it easy to execute the action corresponding to the user request.
[0081] The above-described devices may be implemented using hardware components, software components, and / or a combination of hardware and software components. For example, the devices and components described in the embodiments may be implemented using one or more general-purpose or special-purpose computers, such as a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit (PLU), a microprocessor, or various devices capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the OS. The processing device may also access, record, manipulate, process, and generate data in response to the execution of the software. For ease of understanding, a single processing device may be described. However, those skilled in the art will understand that a processing device may include multiple processing elements and / or multiple types of processing elements. For example, a processing device may include multiple processors or one processor and one controller. Other processing configurations, such as parallel processors, are also possible.
[0082] Software may include computer programs, codes, instructions, or a combination of one or more of these, which may configure a processing device to operate as desired or may independently or collectively instruct the processing device. The software and / or data may be embodied in any type of machine, component, physical device, computer storage medium, or device to be interpreted by the processing device or to provide instructions or data to the processing device. The software may be distributed and stored and executed in a distributed manner on computer systems connected by a network. The software and data may be stored on one or more computer-readable storage media.
[0083] Methods according to embodiments may be implemented in the form of program instructions executable by various computer means and recorded on a computer-readable medium. In this case, the medium may continuously record a computer-executable program or may temporarily record the program for execution or download. The medium may be various recording or storage means in the form of a single piece of hardware or multiple pieces of hardware combined together. It may be a medium directly connected to a computer system or distributed over a network. Examples of media include magnetic media such as hard disks, floppy disks, and magnetic tapes; optical media such as CD-ROMs and DVDs; magneto-optical media such as floptical disks; and media configured to record program instructions, such as ROMs, RAMs, and flash memories. Other examples of media include recording media or storage media managed by app stores that distribute applications, or by websites or servers that provide or distribute various software.
[0084] Although the embodiments have been described above based on limited examples and drawings, those skilled in the art will appreciate that various modifications and variations may be made from the above description. For example, the described techniques may be performed in an order different from that described, and / or the described system, structure, device, circuit, or other element may be coupled or combined in a manner different from that described, or may be substituted or replaced by other elements or equivalents, and still achieve suitable results.
[0085] Therefore, different embodiments are within the scope of the appended claims, provided that they are equivalent to the claims. [Explanation of symbols]
[0086] 110, 120, 130, 140: Electronic equipment 150, 160: Server 170: Network
Claims
1. At least one processor implemented to execute computer-readable instructions Including, The at least one processor Providing a toolbox for generating AI (artificial intelligence) functions with APIs (application programming interfaces); Execute the AI function via the toolbox according to the user's request and provide the execution result. A computer device comprising:
2. The toolbox is composed of a step, which means one execution unit executed in the toolbox, and an action, which means a functional unit provided in an API format executable in the toolbox. The computer device of claim 1 .
3. The steps are managed in one-to-one correspondence with the actual execution code, and include input and output schemas and variables required at execution time. The computer device of claim 2 .
4. The action is defined by connecting two or more steps in a DAG (directed acyclic graph) format. The computer device of claim 2 .
5. The action is generated by combining the steps, and the API specification and description are specified in text format. The computer device of claim 2 .
6. The toolbox includes a step builder that connects the step spec to the actual execution code of the step to generate a step instance. The computer device of claim 2 .
7. The action is generated by a combination of the steps, The step builder defined for each step is executed when the action is generated and is used to check the validity of data required when building the step.
7. The computer device of claim 6.
8. The action is generated by a combination of the steps, The step builder checks the setting of values required for each step for the steps defined in the action, and checks the output of the previous step of the action and the input of the next step.
7. The computer device of claim 6.
9. the toolbox includes an action builder that generates executable actions from action specifications; The action builder checks the validity of step specifications set in the action generated by the combination of the steps.
7. The computer device of claim 6.
10. The step builder creates a step object for the step defined in the action; The action builder generates an action object having a step DAG by combining the steps.
10. The computer device of claim 9.
11. The at least one processor It acts as an action selector and provides intelligent functions by combining the actions provided by the toolbox with LLM (large language model). The computer device of claim 2 .
12. The action is generated by a combination of the steps, and API specifications and descriptions are specified in text format; The action selector combines the LLM with the textually defined action specification to provide dynamic functionality through text. The computer device of claim 11 .
13. The action selector causes the toolbox to execute the action selected by the LLM in response to the user's query and communicates a response to the query to the user.
12. A computer device according to claim 11.
14. The action selector causes the toolbox to execute an action selected by the LLM as an action appropriate for the user's query from among actions specified in the toolbox by text. The computer device of claim 11 .
15. A method for providing AI functionality in a computer device including at least one processor, comprising: providing, by the at least one processor, a toolbox for generating the AI functionality with an API; and causing the at least one processor to execute the AI function via the toolbox in accordance with a user request and provide an execution result. An AI function providing method, including:
16. The toolbox is composed of a step, which represents one execution unit executed in the toolbox, and an action, which represents a functional unit provided in an API format executable in the toolbox; The steps are managed in one-to-one correspondence with actual execution codes, The action is defined by connecting two or more steps in a DAG format. The AI function providing method according to claim 15,
17. The step of providing the execution result includes: To provide intelligent functions by combining the actions provided by the toolbox with LLM. The AI function providing method according to claim 16,
18. The action has an API specification and a description clearly stated in the toolbox in text format; The step of providing the execution result includes: Integrating LLM with explicit actions defined in text to provide dynamic functionality through text The AI function providing method according to claim 16,
19. The step of providing the execution result includes: causing the toolbox to execute an action selected by the LLM as an action appropriate to the user's query from among actions specified in the toolbox by text; The AI function providing method according to claim 18, comprising:
20. A computer program recorded on a computer-readable recording medium to cause the computer device to execute the AI function providing method according to any one of claims 15 to 19.
Citation Information
Patent Citations
Framework for building trusted environment of ai model and method of auditing fairness of ai model using the framework
KR1020230126799A