diff --git a/src/lib/config/types.ts b/src/lib/config/types.ts index 9cd89b9..ba5113c 100644 --- a/src/lib/config/types.ts +++ b/src/lib/config/types.ts @@ -1,3 +1,5 @@ +import { Model } from '../models/types'; + type BaseUIConfigField = { name: string; key: string; @@ -40,8 +42,8 @@ type ConfigModelProvider = { id: string; name: string; type: string; - chatModels: string[]; - embeddingModels: string[]; + chatModels: Model[]; + embeddingModels: Model[]; config: { [key: string]: any }; hash: string; }; diff --git a/src/lib/models/providers/openai.ts b/src/lib/models/providers/openai.ts index fee3b52..7e56b5a 100644 --- a/src/lib/models/providers/openai.ts +++ b/src/lib/models/providers/openai.ts @@ -4,6 +4,7 @@ import BaseModelProvider from './baseProvider'; import { ChatOpenAI, OpenAIEmbeddings } from '@langchain/openai'; import { Embeddings } from '@langchain/core/embeddings'; import { UIConfigField } from '@/lib/config/types'; +import { getConfiguredModelProviderById } from '@/lib/config/serverRegistry'; interface OpenAIConfig { apiKey: string; @@ -132,12 +133,15 @@ class OpenAIProvider extends BaseModelProvider { } async getModelList(): Promise { - /* Todo: IMPLEMENT MODEL READING FROM CONFIG FILE */ const defaultModels = await this.getDefaultModels(); + const configProvider = getConfiguredModelProviderById(this.id)!; return { - embedding: [...defaultModels.embedding], - chat: [...defaultModels.chat], + embedding: [ + ...defaultModels.embedding, + ...configProvider.embeddingModels, + ], + chat: [...defaultModels.chat, ...configProvider.chatModels], }; }