mirror of
https://github.com/ItzCrazyKns/Perplexica.git
synced 2025-10-18 21:38:14 +00:00
feat(modelRegistry): add MinimalProvider
type
This commit is contained in:
@@ -4,7 +4,7 @@ import BaseModelProvider, {
|
|||||||
} from './providers/baseProvider';
|
} from './providers/baseProvider';
|
||||||
import { getConfiguredModelProviders } from '../config/serverRegistry';
|
import { getConfiguredModelProviders } from '../config/serverRegistry';
|
||||||
import { providers } from './providers';
|
import { providers } from './providers';
|
||||||
import { ModelList } from './types';
|
import { MinimalProvider, Model } from './types';
|
||||||
|
|
||||||
class ModelRegistry {
|
class ModelRegistry {
|
||||||
activeProviders: (ConfigModelProvider & {
|
activeProviders: (ConfigModelProvider & {
|
||||||
@@ -35,18 +35,23 @@ class ModelRegistry {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async getActiveModels() {
|
async getActiveProviders() {
|
||||||
const models: ModelList[] = [];
|
const providers: MinimalProvider[] = [];
|
||||||
|
|
||||||
await Promise.all(
|
await Promise.all(
|
||||||
this.activeProviders.map(async (p) => {
|
this.activeProviders.map(async (p) => {
|
||||||
const m = await p.provider.getModelList();
|
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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -13,4 +13,11 @@ type ProviderMetadata = {
|
|||||||
key: string;
|
key: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type { Model, ModelList, ProviderMetadata };
|
type MinimalProvider = {
|
||||||
|
id: string;
|
||||||
|
name: string;
|
||||||
|
chatModels: Model[];
|
||||||
|
embeddingModels: Model[];
|
||||||
|
};
|
||||||
|
|
||||||
|
export type { Model, ModelList, ProviderMetadata, MinimalProvider };
|
||||||
|
Reference in New Issue
Block a user