@just-every/ensemble
Version:
LLM provider abstraction layer with unified streaming interface
33 lines • 1.23 kB
JavaScript
const externalModels = new Map();
const externalProviders = new Map();
const modelClassOverrides = new Map();
export function registerExternalModel(model, provider) {
const modelId = model.id;
externalModels.set(modelId, model);
if (!externalProviders.has(model.provider)) {
externalProviders.set(model.provider, provider);
}
console.log(`[Ensemble] Registered external model: ${modelId} with provider: ${model.provider}`);
}
export function getExternalModel(modelId) {
return externalModels.get(modelId);
}
export function getExternalProvider(providerId) {
return externalProviders.get(providerId);
}
export function isExternalModel(modelId) {
return externalModels.has(modelId);
}
export function clearExternalRegistrations() {
externalModels.clear();
externalProviders.clear();
modelClassOverrides.clear();
}
export function overrideModelClass(className, modelClass) {
modelClassOverrides.set(className, modelClass);
console.log(`[Ensemble] Overrode model class: ${className} with models: ${modelClass.models?.join(', ')}`);
}
export function getModelClassOverride(className) {
return modelClassOverrides.get(className);
}
//# sourceMappingURL=external_models.js.map