balibabu
feat: delete the added model #503 and display an error message when the requested file fails to parse #684 (#708)
ebf2bde
| import { LanguageTranslationMap } from '@/constants/common'; | |
| import { ITenantInfo } from '@/interfaces/database/knowledge'; | |
| import { | |
| IFactory, | |
| IMyLlmValue, | |
| IThirdOAIModelCollection as IThirdAiModelCollection, | |
| } from '@/interfaces/database/llm'; | |
| import { IUserInfo } from '@/interfaces/database/userSetting'; | |
| import i18n from '@/locales/config'; | |
| import userService from '@/services/userService'; | |
| import { message } from 'antd'; | |
| import { DvaModel } from 'umi'; | |
| export interface SettingModelState { | |
| llm_factory: string; | |
| tenantIfo: Nullable<ITenantInfo>; | |
| llmInfo: IThirdAiModelCollection; | |
| myLlmList: Record<string, IMyLlmValue>; | |
| factoryList: IFactory[]; | |
| userInfo: IUserInfo; | |
| } | |
| const model: DvaModel<SettingModelState> = { | |
| namespace: 'settingModel', | |
| state: { | |
| llm_factory: '', | |
| tenantIfo: null, | |
| llmInfo: {}, | |
| myLlmList: {}, | |
| factoryList: [], | |
| userInfo: {} as IUserInfo, | |
| }, | |
| reducers: { | |
| updateState(state, { payload }) { | |
| return { | |
| ...state, | |
| ...payload, | |
| }; | |
| }, | |
| setUserInfo(state, { payload }) { | |
| return { | |
| ...state, | |
| userInfo: payload, | |
| }; | |
| }, | |
| }, | |
| effects: { | |
| *setting({ payload = {} }, { call, put }) { | |
| const { data } = yield call(userService.setting, payload); | |
| const { retcode } = data; | |
| if (retcode === 0) { | |
| message.success(i18n.t('message.modified')); | |
| yield put({ | |
| type: 'getUserInfo', | |
| }); | |
| } | |
| }, | |
| *getUserInfo({ payload = {} }, { call, put }) { | |
| const { data } = yield call(userService.user_info, payload); | |
| const { retcode, data: res } = data; | |
| // const userInfo = { | |
| // avatar: res.avatar, | |
| // name: res.nickname, | |
| // email: res.email, | |
| // }; | |
| // authorizationUtil.setUserInfo(userInfo); | |
| if (retcode === 0) { | |
| i18n.changeLanguage( | |
| LanguageTranslationMap[ | |
| res.language as keyof typeof LanguageTranslationMap | |
| ], | |
| ); | |
| yield put({ type: 'setUserInfo', payload: res }); | |
| // localStorage.setItem('userInfo',res.) | |
| } | |
| }, | |
| *getTenantInfo({ payload = {} }, { call, put }) { | |
| const { data } = yield call(userService.get_tenant_info, payload); | |
| const { retcode, data: res } = data; | |
| // llm_id 对应chat_id | |
| // asr_id 对应speech2txt | |
| if (retcode === 0) { | |
| res.chat_id = res.llm_id; | |
| res.speech2text_id = res.asr_id; | |
| yield put({ | |
| type: 'updateState', | |
| payload: { | |
| tenantIfo: res, | |
| }, | |
| }); | |
| } | |
| }, | |
| *set_tenant_info({ payload = {} }, { call, put }) { | |
| const { data } = yield call(userService.set_tenant_info, payload); | |
| const { retcode } = data; | |
| if (retcode === 0) { | |
| message.success(i18n.t('message.modified')); | |
| yield put({ | |
| type: 'getTenantInfo', | |
| }); | |
| } | |
| return retcode; | |
| }, | |
| *factories_list({ payload = {} }, { call, put }) { | |
| const { data } = yield call(userService.factories_list); | |
| const { retcode, data: res } = data; | |
| if (retcode === 0) { | |
| yield put({ | |
| type: 'updateState', | |
| payload: { | |
| factoryList: res, | |
| }, | |
| }); | |
| } | |
| }, | |
| *llm_list({ payload = {} }, { call, put }) { | |
| const { data } = yield call(userService.llm_list, payload); | |
| const { retcode, data: res } = data; | |
| if (retcode === 0) { | |
| yield put({ | |
| type: 'updateState', | |
| payload: { | |
| llmInfo: res, | |
| }, | |
| }); | |
| } | |
| }, | |
| *my_llm({ payload = {} }, { call, put }) { | |
| const { data } = yield call(userService.my_llm); | |
| const { retcode, data: res } = data; | |
| if (retcode === 0) { | |
| yield put({ | |
| type: 'updateState', | |
| payload: { | |
| myLlmList: res, | |
| }, | |
| }); | |
| } | |
| }, | |
| *set_api_key({ payload = {} }, { call, put }) { | |
| const { data } = yield call(userService.set_api_key, payload); | |
| const { retcode } = data; | |
| if (retcode === 0) { | |
| message.success(i18n.t('message.modified')); | |
| yield put({ type: 'my_llm' }); | |
| yield put({ type: 'factories_list' }); | |
| yield put({ | |
| type: 'updateState', | |
| }); | |
| } | |
| return retcode; | |
| }, | |
| *add_llm({ payload = {} }, { call, put }) { | |
| const { data } = yield call(userService.add_llm, payload); | |
| const { retcode } = data; | |
| if (retcode === 0) { | |
| message.success(i18n.t('message.modified')); | |
| yield put({ type: 'my_llm' }); | |
| yield put({ type: 'factories_list' }); | |
| } | |
| return retcode; | |
| }, | |
| *delete_llm({ payload = {} }, { call, put }) { | |
| const { data } = yield call(userService.delete_llm, payload); | |
| const { retcode } = data; | |
| if (retcode === 0) { | |
| message.success(i18n.t('message.deleted')); | |
| yield put({ type: 'my_llm' }); | |
| yield put({ type: 'factories_list' }); | |
| } | |
| return retcode; | |
| }, | |
| }, | |
| }; | |
| export default model; | |