Aiproxy (#3649)
* model config * feat: model config ui * perf: rename variable * feat: custom request url * perf: model buffer * perf: init model * feat: json model config * auto login * fix: ts * update packages * package * fix: dockerfile
This commit is contained in:
@@ -4,16 +4,16 @@ import { immer } from 'zustand/middleware/immer';
|
||||
import axios from 'axios';
|
||||
import { OAuthEnum } from '@fastgpt/global/support/user/constant';
|
||||
import type {
|
||||
AudioSpeechModelType,
|
||||
TTSModelType,
|
||||
LLMModelItemType,
|
||||
ReRankModelItemType,
|
||||
VectorModelItemType,
|
||||
EmbeddingModelItemType,
|
||||
STTModelType
|
||||
} from '@fastgpt/global/core/ai/model.d';
|
||||
import { InitDateResponse } from '@/global/common/api/systemRes';
|
||||
import { FastGPTFeConfigsType } from '@fastgpt/global/common/system/types';
|
||||
import { SubPlanType } from '@fastgpt/global/support/wallet/sub/type';
|
||||
import { defaultWhisperModel } from '@fastgpt/global/core/ai/model';
|
||||
import { ModelTypeEnum } from '@fastgpt/global/core/ai/model';
|
||||
import { TeamErrEnum } from '@fastgpt/global/common/error/code/team';
|
||||
|
||||
type LoginStoreType = { provider: `${OAuthEnum}`; lastRoute: string; state: string };
|
||||
@@ -51,10 +51,10 @@ type State = {
|
||||
systemVersion: string;
|
||||
llmModelList: LLMModelItemType[];
|
||||
datasetModelList: LLMModelItemType[];
|
||||
vectorModelList: VectorModelItemType[];
|
||||
audioSpeechModelList: AudioSpeechModelType[];
|
||||
embeddingModelList: EmbeddingModelItemType[];
|
||||
ttsModelList: TTSModelType[];
|
||||
reRankModelList: ReRankModelItemType[];
|
||||
whisperModel: STTModelType;
|
||||
sttModelList: STTModelType[];
|
||||
initStaticData: (e: InitDateResponse) => void;
|
||||
appType?: string;
|
||||
setAppType: (e?: string) => void;
|
||||
@@ -127,10 +127,10 @@ export const useSystemStore = create<State>()(
|
||||
systemVersion: '0.0.0',
|
||||
llmModelList: [],
|
||||
datasetModelList: [],
|
||||
vectorModelList: [],
|
||||
audioSpeechModelList: [],
|
||||
embeddingModelList: [],
|
||||
ttsModelList: [],
|
||||
reRankModelList: [],
|
||||
whisperModel: defaultWhisperModel,
|
||||
sttModelList: [],
|
||||
initStaticData(res) {
|
||||
set((state) => {
|
||||
state.initDataBufferId = res.bufferId;
|
||||
@@ -139,12 +139,22 @@ export const useSystemStore = create<State>()(
|
||||
state.subPlans = res.subPlans ?? state.subPlans;
|
||||
state.systemVersion = res.systemVersion ?? state.systemVersion;
|
||||
|
||||
state.llmModelList = res.llmModels ?? state.llmModelList;
|
||||
state.llmModelList =
|
||||
res.activeModelList?.filter((item) => item.type === ModelTypeEnum.llm) ??
|
||||
state.llmModelList;
|
||||
state.datasetModelList = state.llmModelList.filter((item) => item.datasetProcess);
|
||||
state.vectorModelList = res.vectorModels ?? state.vectorModelList;
|
||||
state.audioSpeechModelList = res.audioSpeechModels ?? state.audioSpeechModelList;
|
||||
state.reRankModelList = res.reRankModels ?? state.reRankModelList;
|
||||
state.whisperModel = res.whisperModel ?? state.whisperModel;
|
||||
state.embeddingModelList =
|
||||
res.activeModelList?.filter((item) => item.type === ModelTypeEnum.embedding) ??
|
||||
state.embeddingModelList;
|
||||
state.ttsModelList =
|
||||
res.activeModelList?.filter((item) => item.type === ModelTypeEnum.tts) ??
|
||||
state.ttsModelList;
|
||||
state.reRankModelList =
|
||||
res.activeModelList?.filter((item) => item.type === ModelTypeEnum.rerank) ??
|
||||
state.reRankModelList;
|
||||
state.sttModelList =
|
||||
res.activeModelList?.filter((item) => item.type === ModelTypeEnum.stt) ??
|
||||
state.sttModelList;
|
||||
});
|
||||
}
|
||||
})),
|
||||
@@ -158,10 +168,10 @@ export const useSystemStore = create<State>()(
|
||||
systemVersion: state.systemVersion,
|
||||
llmModelList: state.llmModelList,
|
||||
datasetModelList: state.datasetModelList,
|
||||
vectorModelList: state.vectorModelList,
|
||||
audioSpeechModelList: state.audioSpeechModelList,
|
||||
embeddingModelList: state.embeddingModelList,
|
||||
ttsModelList: state.ttsModelList,
|
||||
reRankModelList: state.reRankModelList,
|
||||
whisperModel: state.whisperModel
|
||||
sttModelList: state.sttModelList
|
||||
})
|
||||
}
|
||||
)
|
||||
|
||||
18
projects/app/src/web/core/ai/config.ts
Normal file
18
projects/app/src/web/core/ai/config.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import { GET, PUT, DELETE } from '@/web/common/api/request';
|
||||
import type { listResponse } from '@/pages/api/core/ai/model/list';
|
||||
import type { updateBody } from '@/pages/api/core/ai/model/update';
|
||||
import type { deleteQuery } from '@/pages/api/core/ai/model/delete';
|
||||
import type { SystemModelItemType } from '@fastgpt/service/core/ai/type';
|
||||
import type { updateWithJsonBody } from '@/pages/api/core/ai/model/updateWithJson';
|
||||
|
||||
export const getSystemModelList = () => GET<listResponse>('/core/ai/model/list');
|
||||
export const getSystemModelDetail = (model: string) =>
|
||||
GET<SystemModelItemType>('/core/ai/model/detail', { model });
|
||||
|
||||
export const putSystemModel = (data: updateBody) => PUT('/core/ai/model/update', data);
|
||||
|
||||
export const deleteSystemModel = (data: deleteQuery) => DELETE('/core/ai/model/delete', data);
|
||||
|
||||
export const getModelConfigJson = () => GET<string>('/core/ai/model/getConfigJson');
|
||||
export const putUpdateWithJson = (data: updateWithJsonBody) =>
|
||||
PUT('/core/ai/model/updateWithJson', data);
|
||||
Reference in New Issue
Block a user