@agentica/rpc
Version:
Agentic AI Library specialized in LLM Function Calling
39 lines (38 loc) • 1.49 kB
TypeScript
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>[]>;
}