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