UNPKG

@samchon/openapi

Version:

OpenAPI definitions and converters for 'typia' and 'nestia'.

65 lines (64 loc) 2.71 kB
import { ILlmSchema } from "./structures/ILlmSchema"; import { IMcpLlmApplication } from "./structures/IMcpLlmApplication"; import { IMcpTool } from "./structures/IMcpTool"; /** * Application of LLM function calling from MCP document. * * `McpLlm` is a module for composing LLM (Large Language Model) function * calling application from MCP (Model Context Protocol) document. * * The reasons why `@samchon/openapi` recommends to use the function calling * feature instead of directly using the * [`mcp_servers`](https://openai.github.io/openai-agents-python/mcp/#using-mcp-servers) * property of LLM API are: * * - Model Specification: {@link ILlmSchema} * - Validation Feedback: {@link IMcpLlmFunction.validate} * - Selector agent for reducing context: [Agentica > Orchestration * Strategy](https://wrtnlabs.io/agentica/docs/concepts/function-calling/#orchestration-strategy) * * @author Jeongho Nam - https://github.com/samchon */ export declare namespace McpLlm { /** * Properties for the LLM function calling application composer. * * @template Model Target LLM model */ interface IApplicationProps<Model extends ILlmSchema.Model> { /** Target LLM model. */ model: Model; /** * List of tools. * * A list of tools defined in the MCP (Model Context Protocol) document. * * It would better to validate the tools by * [`typia.assert<T>()`](https://typia.io/docs/validate/assert) function for * the type safety. */ tools: Array<IMcpTool>; /** Options for the LLM function calling schema conversion. */ options?: Partial<IMcpLlmApplication.IOptions<Model>>; } /** * Convert MCP document to LLM function calling application. * * Converts MCP (Model Context Protocol) to LLM (Large Language Model) * function calling application. * * The reasons why `@samchon/openapi` recommends to use the function calling * feature instead of directly using the * [`mcp_servers`](https://openai.github.io/openai-agents-python/mcp/#using-mcp-servers) * property of LLM API are: * * - Model Specification: {@link ILlmSchema} * - Validation Feedback: {@link IMcpLlmFunction.validate} * - Selector agent for reducing context: [Agentica > Orchestration * Strategy](https://wrtnlabs.io/agentica/docs/concepts/function-calling/#orchestration-strategy) * * @param props Properties for composition * @returns LLM function calling application */ const application: <Model extends ILlmSchema.Model>(props: IApplicationProps<Model>) => IMcpLlmApplication<Model>; }