mirror of
https://github.com/ItzCrazyKns/Perplexica.git
synced 2025-10-14 11:38:14 +00:00
feat(openAiProvider): load models from config as well
This commit is contained in:
@@ -1,3 +1,5 @@
|
|||||||
|
import { Model } from '../models/types';
|
||||||
|
|
||||||
type BaseUIConfigField = {
|
type BaseUIConfigField = {
|
||||||
name: string;
|
name: string;
|
||||||
key: string;
|
key: string;
|
||||||
@@ -40,8 +42,8 @@ type ConfigModelProvider = {
|
|||||||
id: string;
|
id: string;
|
||||||
name: string;
|
name: string;
|
||||||
type: string;
|
type: string;
|
||||||
chatModels: string[];
|
chatModels: Model[];
|
||||||
embeddingModels: string[];
|
embeddingModels: Model[];
|
||||||
config: { [key: string]: any };
|
config: { [key: string]: any };
|
||||||
hash: string;
|
hash: string;
|
||||||
};
|
};
|
||||||
|
@@ -4,6 +4,7 @@ import BaseModelProvider from './baseProvider';
|
|||||||
import { ChatOpenAI, OpenAIEmbeddings } from '@langchain/openai';
|
import { ChatOpenAI, OpenAIEmbeddings } from '@langchain/openai';
|
||||||
import { Embeddings } from '@langchain/core/embeddings';
|
import { Embeddings } from '@langchain/core/embeddings';
|
||||||
import { UIConfigField } from '@/lib/config/types';
|
import { UIConfigField } from '@/lib/config/types';
|
||||||
|
import { getConfiguredModelProviderById } from '@/lib/config/serverRegistry';
|
||||||
|
|
||||||
interface OpenAIConfig {
|
interface OpenAIConfig {
|
||||||
apiKey: string;
|
apiKey: string;
|
||||||
@@ -132,12 +133,15 @@ class OpenAIProvider extends BaseModelProvider<OpenAIConfig> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async getModelList(): Promise<ModelList> {
|
async getModelList(): Promise<ModelList> {
|
||||||
/* Todo: IMPLEMENT MODEL READING FROM CONFIG FILE */
|
|
||||||
const defaultModels = await this.getDefaultModels();
|
const defaultModels = await this.getDefaultModels();
|
||||||
|
const configProvider = getConfiguredModelProviderById(this.id)!;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
embedding: [...defaultModels.embedding],
|
embedding: [
|
||||||
chat: [...defaultModels.chat],
|
...defaultModels.embedding,
|
||||||
|
...configProvider.embeddingModels,
|
||||||
|
],
|
||||||
|
chat: [...defaultModels.chat, ...configProvider.chatModels],
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user