UNPKG

llmforge

Version:

One API, every AI model, instant switching. Change from GPT-4 to Gemini to local models with a single config update. LLMForge is the lightweight, TypeScript-first solution for multi-provider AI applications with zero vendor lock-in.

29 lines 1.2 kB
import { logger } from '../utils/logger'; export class Factory { constructor(config) { this.config = config; } async create() { try { const supportedProviders = ['openai', 'google', 'groq']; const providerName = this.config.provider.toLowerCase(); if (!supportedProviders.includes(providerName)) { throw new Error(`Provider '${providerName}' is not supported. Supported providers are: ${supportedProviders.join(', ')}`); } const classMap = { openai: 'OpenAIClient', google: 'GeminiClient', groq: 'GroqClient', }; const className = classMap[providerName]; const module = await import(`./${providerName}.adapter`); const Client = module[className]; return new Client(this.config); } catch (error) { logger.error(`Error creating client for provider '${this.config.provider}':`, error); throw new Error(`Failed to create client for provider '${this.config.provider}': ${error.message}`); } } } //# sourceMappingURL=provider.factory.js.map