diff --git a/src/renderer/src/pages/settings/ModelSettings.tsx b/src/renderer/src/pages/settings/ModelSettings.tsx index 616a7a2704..6a3dd26a76 100644 --- a/src/renderer/src/pages/settings/ModelSettings.tsx +++ b/src/renderer/src/pages/settings/ModelSettings.tsx @@ -1,11 +1,11 @@ import { EditOutlined, MessageOutlined, TranslationOutlined } from '@ant-design/icons' import { useDefaultModel } from '@renderer/hooks/useAssistant' import { useProviders } from '@renderer/hooks/useProvider' -import { getModelUniqId } from '@renderer/services/model' +import { getModelUniqId, hasModel } from '@renderer/services/model' import { Model } from '@renderer/types' import { Select } from 'antd' import { find, sortBy, upperFirst } from 'lodash' -import { FC } from 'react' +import { FC, useMemo } from 'react' import { useTranslation } from 'react-i18next' import { SettingContainer, SettingDivider, SettingTitle } from '.' @@ -28,6 +28,21 @@ const ModelSettings: FC = () => { })) })) + const defaultModelValue = useMemo( + () => (hasModel(defaultModel) ? getModelUniqId(defaultModel) : undefined), + [defaultModel] + ) + + const defaultTopicNamingModel = useMemo( + () => (hasModel(topicNamingModel) ? getModelUniqId(topicNamingModel) : undefined), + [topicNamingModel] + ) + + const defaultTranslateModel = useMemo( + () => (hasModel(translateModel) ? getModelUniqId(translateModel) : undefined), + [translateModel] + ) + return ( @@ -38,10 +53,12 @@ const ModelSettings: FC = () => { setTopicNamingModel(find(allModels, { id }) as Model)} + onChange={(value) => setTopicNamingModel(find(allModels, JSON.parse(value)) as Model)} options={selectOptions} + placeholder={t('settings.models.empty')} />
@@ -66,9 +85,10 @@ const ModelSettings: FC = () => {