From 5b42a6d0542362c1d38886277d4a0a8636527056 Mon Sep 17 00:00:00 2001 From: kangfenmao Date: Thu, 26 Dec 2024 12:25:36 +0800 Subject: [PATCH] feat: add embeding tag to settings --- src/renderer/src/config/models.ts | 10 ++++++++-- .../settings/ModalSettings/ModelSettings.tsx | 11 +++++++---- .../ProviderSettings/ProviderSetting.tsx | 16 ++++++++++++++-- 3 files changed, 29 insertions(+), 8 deletions(-) diff --git a/src/renderer/src/config/models.ts b/src/renderer/src/config/models.ts index c3b3ea20..8589a9cf 100644 --- a/src/renderer/src/config/models.ts +++ b/src/renderer/src/config/models.ts @@ -347,8 +347,14 @@ export const SYSTEM_MODELS: Record = { { id: 'deepseek-chat', provider: 'deepseek', - name: 'DeepSeek V2.5', - group: 'DeepSeek V2.5' + name: 'DeepSeek Chat', + group: 'DeepSeek Chat' + }, + { + id: 'deepseek-coder', + provider: 'deepseek', + name: 'DeepSeek Coder', + group: 'DeepSeek Coder' } ], together: [ diff --git a/src/renderer/src/pages/settings/ModalSettings/ModelSettings.tsx b/src/renderer/src/pages/settings/ModalSettings/ModelSettings.tsx index 8cbfb788..efc48536 100644 --- a/src/renderer/src/pages/settings/ModalSettings/ModelSettings.tsx +++ b/src/renderer/src/pages/settings/ModalSettings/ModelSettings.tsx @@ -1,6 +1,7 @@ import { EditOutlined, MessageOutlined, RedoOutlined, SettingOutlined, TranslationOutlined } from '@ant-design/icons' import { HStack } from '@renderer/components/Layout' import PromptPopup from '@renderer/components/Popups/PromptPopup' +import { isEmbeddingModel } from '@renderer/config/models' import { TRANSLATE_PROMPT } from '@renderer/config/prompts' import { useTheme } from '@renderer/context/ThemeProvider' import { useDefaultModel } from '@renderer/hooks/useAssistant' @@ -35,10 +36,12 @@ const ModelSettings: FC = () => { .map((p) => ({ label: p.isSystem ? t(`provider.${p.id}`) : p.name, title: p.name, - options: sortBy(p.models, 'name').map((m) => ({ - label: m.name, - value: getModelUniqId(m) - })) + options: sortBy(p.models, 'name') + .filter((m) => !isEmbeddingModel(m)) + .map((m) => ({ + label: m.name, + value: getModelUniqId(m) + })) })) const defaultModelValue = useMemo( diff --git a/src/renderer/src/pages/settings/ProviderSettings/ProviderSetting.tsx b/src/renderer/src/pages/settings/ProviderSettings/ProviderSetting.tsx index 79f8228f..2fd506d9 100644 --- a/src/renderer/src/pages/settings/ProviderSettings/ProviderSetting.tsx +++ b/src/renderer/src/pages/settings/ProviderSettings/ProviderSetting.tsx @@ -9,7 +9,14 @@ import { } from '@ant-design/icons' import VisionIcon from '@renderer/components/Icons/VisionIcon' import WebSearchIcon from '@renderer/components/Icons/WebSearchIcon' -import { EMBEDDING_REGEX, getModelLogo, isVisionModel, isWebSearchModel, VISION_REGEX } from '@renderer/config/models' +import { + EMBEDDING_REGEX, + getModelLogo, + isEmbeddingModel, + isVisionModel, + isWebSearchModel, + VISION_REGEX +} from '@renderer/config/models' import { PROVIDER_CONFIG } from '@renderer/config/providers' import { useTheme } from '@renderer/context/ThemeProvider' import { useAssistants, useDefaultModel } from '@renderer/hooks/useAssistant' @@ -20,7 +27,7 @@ import { checkApi } from '@renderer/services/ApiService' import { useAppDispatch } from '@renderer/store' import { setModel } from '@renderer/store/assistants' import { Model, ModelType, Provider } from '@renderer/types' -import { Avatar, Button, Card, Checkbox, Divider, Flex, Input, Popover, Space, Switch } from 'antd' +import { Avatar, Button, Card, Checkbox, Divider, Flex, Input, Popover, Space, Switch, Tag } from 'antd' import Link from 'antd/es/typography/Link' import { groupBy, isEmpty } from 'lodash' import { FC, useEffect, useState } from 'react' @@ -273,6 +280,11 @@ const ProviderSetting: FC = ({ provider: _provider }) => { {model.name} {isVisionModel(model) && } {isWebSearchModel(model) && } + {isEmbeddingModel(model) && ( + + {t('models.embedding')} + + )}