diff --git a/src/lib/models/registry.ts b/src/lib/models/registry.ts index 2d4de6f..a434dcc 100644 --- a/src/lib/models/registry.ts +++ b/src/lib/models/registry.ts @@ -4,7 +4,7 @@ import BaseModelProvider, { } from './providers/baseProvider'; import { getConfiguredModelProviders } from '../config/serverRegistry'; import { providers } from './providers'; -import { ModelList } from './types'; +import { MinimalProvider, Model } from './types'; class ModelRegistry { activeProviders: (ConfigModelProvider & { @@ -35,18 +35,23 @@ class ModelRegistry { }); } - async getActiveModels() { - const models: ModelList[] = []; + async getActiveProviders() { + const providers: MinimalProvider[] = []; await Promise.all( this.activeProviders.map(async (p) => { const m = await p.provider.getModelList(); - models.push(m); + providers.push({ + id: p.id, + name: p.name, + chatModels: m.chat, + embeddingModels: m.embedding, + }); }), ); - return models; + return providers; } } diff --git a/src/lib/models/types.ts b/src/lib/models/types.ts index e85ad6b..c91b241 100644 --- a/src/lib/models/types.ts +++ b/src/lib/models/types.ts @@ -13,4 +13,11 @@ type ProviderMetadata = { key: string; }; -export type { Model, ModelList, ProviderMetadata }; +type MinimalProvider = { + id: string; + name: string; + chatModels: Model[]; + embeddingModels: Model[]; +}; + +export type { Model, ModelList, ProviderMetadata, MinimalProvider };