From 19d1c37661622ef4ab1383b6f9167051ac1d82d4 Mon Sep 17 00:00:00 2001 From: repi Date: Mon, 1 Jan 2001 00:00:00 +0000 Subject: [PATCH] feat: add LLM provider factory --- packages/llm/src/providers/factory.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 packages/llm/src/providers/factory.ts diff --git a/packages/llm/src/providers/factory.ts b/packages/llm/src/providers/factory.ts new file mode 100644 index 0000000..61d6635 --- /dev/null +++ b/packages/llm/src/providers/factory.ts @@ -0,0 +1,15 @@ +import type { LLMProviderConfig } from "@codeboard/shared"; +import type { LLMProvider } from "./base.js"; +import { OpenAIProvider } from "./openai.js"; +import { AnthropicProvider } from "./anthropic.js"; + +export function createProvider(config: LLMProviderConfig): LLMProvider { + switch (config.provider) { + case "openai": + return new OpenAIProvider(config.apiKey, config.model, config.baseUrl); + case "anthropic": + return new AnthropicProvider(config.apiKey, config.model); + default: + throw new Error(`Unknown LLM provider: ${config.provider}`); + } +}