feat: add LLM provider factory
This commit is contained in:
15
packages/llm/src/providers/factory.ts
Normal file
15
packages/llm/src/providers/factory.ts
Normal file
@@ -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}`);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user