UNPKG

easy_shell_agent

Version:

nodejs ai agent

22 lines (20 loc) 727 B
import { AiClientBase, IAiClientOption } from "./AiClientBase"; import { DeepSeekClient } from './DeepSeek'; import { OllamaClient } from './OllamaClient'; import { OpenaiClient } from "./openaiClient"; export class AiFactory { static clients:any = {}; static reginster(type:string, client: typeof AiClientBase) { AiFactory.clients[type] = client; } static getClient(type:string, option:IAiClientOption):AiClientBase { const Client = AiFactory.clients[type]; if(!Client) { throw new Error(`client ${type} not found`); } return new Client(option); } } AiFactory.reginster('openai', OpenaiClient); AiFactory.reginster('ollama', OllamaClient); AiFactory.reginster('deepseek', DeepSeekClient);