UNPKG

@agentica/rpc

Version:

Agentic AI Library specialized in LLM Function Calling

39 lines (38 loc) 1.49 kB
import type { AgenticaUserMessageContent, IAgenticaController } from "@agentica/core"; import type { ILlmSchema } from "@samchon/openapi"; /** * RPC interface of AI agent service. * * `IAgenticaRpcService` is an interface defining an AI agent service * provided from the server to client through the RPC (Remote Procedure Call) * paradigm in the websocket protocol. * * The client will call the {@link conversate} function remotely, and the * server responses to the client by calling the client's * {@link IAgenticaRpcListener} functions remotely too. * * @author Samchon */ export interface IAgenticaRpcService<Model extends ILlmSchema.Model> { /** * Conversate with the AI agent. * * User talks to the AI agent with the content. * * When AI agent responds some actions like conversating or executing * LLM (Large Language Model) function calling, the functions defined in the * {@link IAgenticaRpcListener} would be called through the RPC * (Remote Procedure Call) paradigm. * * @param content The content to talk * @returns Returned when the conversation process is completely done */ conversate: (content: string | AgenticaUserMessageContent | Array<AgenticaUserMessageContent>) => Promise<void>; /** * Get controllers. * * Get controllers, collection of functions that would be * called by the AI chatbot. */ getControllers: () => Promise<IAgenticaController<Model>[]>; }