25 lines
534 B
JavaScript
25 lines
534 B
JavaScript
'use strict';
|
|
|
|
const GeminiProvider = require('./gemini');
|
|
const OllamaProvider = require('./ollama');
|
|
|
|
class ProviderFactory {
|
|
static create(config) {
|
|
const provider = config.provider || 'gemini';
|
|
|
|
switch (provider.toLowerCase()) {
|
|
case 'gemini':
|
|
return new GeminiProvider(config);
|
|
case 'ollama':
|
|
return new OllamaProvider(config);
|
|
default:
|
|
throw new Error(`Unknown AI provider: ${provider}. Supported: 'gemini', 'ollama'`);
|
|
}
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
ProviderFactory,
|
|
GeminiProvider,
|
|
OllamaProvider
|
|
}; |