feat(app): initialize new model management

This commit is contained in:
ItzCrazyKns
2025-10-11 17:59:27 +05:30
parent 535c0b9897
commit f39638fe02
4 changed files with 276 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
import { Embeddings } from '@langchain/core/embeddings';
import { BaseChatModel } from '@langchain/core/language_models/chat_models';
import { Model, ModelList, ProviderMetadata } from '../types';
import { UIConfigField } from '@/lib/config/types';
abstract class BaseModelProvider<CONFIG> {
constructor(protected config: CONFIG) {}
abstract getDefaultModels(): Promise<ModelList>;
abstract getModelList(): Promise<ModelList>;
abstract loadChatModel(modelName: string): Promise<BaseChatModel>;
abstract loadEmbeddingModel(modelName: string): Promise<Embeddings>;
static getProviderConfigFields(): UIConfigField[] {
throw new Error('Method not implemented.');
}
static getProviderMetadata(): ProviderMetadata {
throw new Error('Method not Implemented.');
}
}
export default BaseModelProvider;