From 4a26f7ce7886b63e3dbcaff2fb4805e4ab4aa0e9 Mon Sep 17 00:00:00 2001 From: kangfenmao Date: Sun, 18 Aug 2024 18:06:21 +0800 Subject: [PATCH] feat: add minimax provider --- electron-builder.yml | 4 +- .../src/assets/images/models/hailuo.png | Bin 0 -> 13215 bytes .../src/assets/images/providers/minimax.png | Bin 0 -> 7706 bytes src/renderer/src/config/models.ts | 30 ++++++++++ src/renderer/src/config/provider.ts | 17 ++++++ src/renderer/src/i18n/index.ts | 2 + .../home/components/SelectModelDropdown.tsx | 4 +- .../ProviderSettings/OllamaSettings.tsx | 9 ++- .../ProviderSettings/ProviderSetting.tsx | 53 +++++++----------- src/renderer/src/pages/settings/index.tsx | 19 +++++++ src/renderer/src/store/index.ts | 2 +- src/renderer/src/store/llm.ts | 9 +++ src/renderer/src/store/migrate.ts | 20 +++++++ 13 files changed, 126 insertions(+), 43 deletions(-) create mode 100644 src/renderer/src/assets/images/models/hailuo.png create mode 100644 src/renderer/src/assets/images/providers/minimax.png diff --git a/electron-builder.yml b/electron-builder.yml index bf19894126..bf96b6e960 100644 --- a/electron-builder.yml +++ b/electron-builder.yml @@ -56,6 +56,4 @@ electronDownload: afterSign: scripts/notarize.js releaseInfo: releaseNotes: | - 增加 Gemini、豆包、阶跃星辰等服务商支持 - 修复 Anthropic 回复问题 - 新的 Windows, Linux 侧边栏样式 + 添加 MiniMax 服务商 diff --git a/src/renderer/src/assets/images/models/hailuo.png b/src/renderer/src/assets/images/models/hailuo.png new file mode 100644 index 0000000000000000000000000000000000000000..43579d24d505b59893f3e4eb44663feef14ae86b GIT binary patch literal 13215 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 N2WqJCR_%W1zX7R(0XYBw literal 0 HcmV?d00001 diff --git a/src/renderer/src/config/models.ts b/src/renderer/src/config/models.ts index 34ba19cf3e..605446c4e4 100644 --- a/src/renderer/src/config/models.ts +++ b/src/renderer/src/config/models.ts @@ -353,6 +353,36 @@ export const SYSTEM_MODELS: Record = { } ], doubao: [], + minimax: [ + { + id: 'abab6.5s-chat', + provider: 'minimax', + name: 'abab6.5s', + group: 'abab6', + enabled: true + }, + { + id: 'abab6.5g-chat', + provider: 'minimax', + name: 'abab6.5g', + group: 'abab6', + enabled: true + }, + { + id: 'abab6.5t-chat', + provider: 'minimax', + name: 'abab6.5t', + group: 'abab6', + enabled: true + }, + { + id: 'abab5.5s-chat', + provider: 'minimax', + name: 'abab5.5s', + group: 'abab5', + enabled: true + } + ], aihubmix: [ { id: 'gpt-4o-mini', diff --git a/src/renderer/src/config/provider.ts b/src/renderer/src/config/provider.ts index 79d8b5714d..43ce17da75 100644 --- a/src/renderer/src/config/provider.ts +++ b/src/renderer/src/config/provider.ts @@ -7,6 +7,7 @@ import DoubaoModelLogo from '@renderer/assets/images/models/doubao.png' import EmbeddingModelLogo from '@renderer/assets/images/models/embedding.png' import GeminiModelLogo from '@renderer/assets/images/models/gemini.png' import GemmaModelLogo from '@renderer/assets/images/models/gemma.jpeg' +import HailuoModelLogo from '@renderer/assets/images/models/hailuo.png' import LlamaModelLogo from '@renderer/assets/images/models/llama.jpeg' import MicrosoftModelLogo from '@renderer/assets/images/models/microsoft.png' import MixtralModelLogo from '@renderer/assets/images/models/mixtral.jpeg' @@ -23,6 +24,7 @@ import DoubaoProviderLogo from '@renderer/assets/images/providers/doubao.png' import GeminiProviderLogo from '@renderer/assets/images/providers/gemini.png' import GraphRagProviderLogo from '@renderer/assets/images/providers/graph-rag.png' import GroqProviderLogo from '@renderer/assets/images/providers/groq.png' +import MinimaxProviderLogo from '@renderer/assets/images/providers/minimax.png' import MoonshotProviderLogo from '@renderer/assets/images/providers/moonshot.jpeg' import MoonshotModelLogo from '@renderer/assets/images/providers/moonshot.jpeg' import OllamaProviderLogo from '@renderer/assets/images/providers/ollama.png' @@ -69,6 +71,8 @@ export function getProviderLogo(providerId: string) { return DoubaoProviderLogo case 'graphrag-kylin-mountain': return GraphRagProviderLogo + case 'minimax': + return MinimaxProviderLogo default: return undefined } @@ -98,6 +102,7 @@ export function getModelLogo(modelId: string) { bison: PalmModelLogo, palm: PalmModelLogo, step: StepModelLogo, + abab: HailuoModelLogo, 'ep-202': DoubaoModelLogo } @@ -243,6 +248,18 @@ export const PROVIDER_CONFIG = { models: 'https://console.volcengine.com/ark/region:ark+cn-beijing/endpoint' } }, + minimax: { + api: { + url: 'https://api.minimax.chat/v1/', + editable: true + }, + websites: { + official: 'https://platform.minimaxi.com/', + apiKey: 'https://platform.minimaxi.com/user-center/basic-information/interface-key', + docs: 'https://platform.minimaxi.com/document/Announcement', + models: 'https://platform.minimaxi.com/document/Models' + } + }, 'graphrag-kylin-mountain': { api: { url: '', diff --git a/src/renderer/src/i18n/index.ts b/src/renderer/src/i18n/index.ts index 243f5d7614..afd3abfb72 100644 --- a/src/renderer/src/i18n/index.ts +++ b/src/renderer/src/i18n/index.ts @@ -121,6 +121,7 @@ const resources = { aihubmix: 'AiHubMix', stepfun: 'StepFun', doubao: 'Doubao', + minimax: 'MiniMax', 'graphrag-kylin-mountain': 'GraphRAG' }, settings: { @@ -346,6 +347,7 @@ const resources = { aihubmix: 'AiHubMix', stepfun: '阶跃星辰', doubao: '豆包', + minimax: 'MiniMax', 'graphrag-kylin-mountain': 'GraphRAG' }, settings: { diff --git a/src/renderer/src/pages/home/components/SelectModelDropdown.tsx b/src/renderer/src/pages/home/components/SelectModelDropdown.tsx index f8de1629c7..93b68bcc8e 100644 --- a/src/renderer/src/pages/home/components/SelectModelDropdown.tsx +++ b/src/renderer/src/pages/home/components/SelectModelDropdown.tsx @@ -2,7 +2,7 @@ import { getModelLogo } from '@renderer/config/provider' import { useProviders } from '@renderer/hooks/useProvider' import { Model } from '@renderer/types' import { Avatar, Dropdown, DropdownProps, MenuProps } from 'antd' -import { first, sortBy, upperFirst } from 'lodash' +import { first, reverse, sortBy, upperFirst } from 'lodash' import { FC, PropsWithChildren } from 'react' import { useTranslation } from 'react-i18next' import styled from 'styled-components' @@ -22,7 +22,7 @@ const SelectModelDropdown: FC = ({ children, model, o key: p.id, label: p.isSystem ? t(`provider.${p.id}`) : p.name, type: 'group', - children: sortBy(p.models, 'name').map((m) => ({ + children: reverse(sortBy(p.models, 'name')).map((m) => ({ key: m?.id, label: upperFirst(m?.name), defaultSelectedKeys: [model?.id], diff --git a/src/renderer/src/pages/settings/ProviderSettings/OllamaSettings.tsx b/src/renderer/src/pages/settings/ProviderSettings/OllamaSettings.tsx index 63a1288199..67b42f04e8 100644 --- a/src/renderer/src/pages/settings/ProviderSettings/OllamaSettings.tsx +++ b/src/renderer/src/pages/settings/ProviderSettings/OllamaSettings.tsx @@ -4,8 +4,7 @@ import { FC, useState } from 'react' import { useTranslation } from 'react-i18next' import styled from 'styled-components' -import { SettingSubtitle } from '..' -import { HelpText, HelpTextRow } from '../ProviderSettings/ProviderSetting' +import { SettingHelpText, SettingHelpTextRow, SettingSubtitle } from '..' const OllamSettings: FC = () => { const { keepAliveTime, setKeepAliveTime } = useOllamaSettings() @@ -23,9 +22,9 @@ const OllamSettings: FC = () => { suffix={t('ollama.keep_alive_time.placeholder')} step={5} /> - - {t('ollama.keep_alive_time.description')} - + + {t('ollama.keep_alive_time.description')} + ) } diff --git a/src/renderer/src/pages/settings/ProviderSettings/ProviderSetting.tsx b/src/renderer/src/pages/settings/ProviderSettings/ProviderSetting.tsx index e9df80bde4..c4ea8bd991 100644 --- a/src/renderer/src/pages/settings/ProviderSettings/ProviderSetting.tsx +++ b/src/renderer/src/pages/settings/ProviderSettings/ProviderSetting.tsx @@ -19,7 +19,14 @@ import { FC, useEffect, useState } from 'react' import { useTranslation } from 'react-i18next' import styled from 'styled-components' -import { SettingContainer, SettingSubtitle, SettingTitle } from '..' +import { + SettingContainer, + SettingHelpLink, + SettingHelpText, + SettingHelpTextRow, + SettingSubtitle, + SettingTitle +} from '..' import AddModelPopup from './AddModelPopup' import EditModelsPopup from './EditModelsPopup' import GraphRAGSettings from './GraphRAGSettings' @@ -111,11 +118,11 @@ const ProviderSetting: FC = ({ provider: _provider }) => { {apiKeyWebsite && ( - - + + {t('settings.provider.get_api_key')} - - + + )} {t('settings.provider.api_host')} @@ -149,18 +156,18 @@ const ProviderSetting: FC = ({ provider: _provider }) => { ))} {docsWebsite && ( - - {t('settings.provider.docs_check')} - + + {t('settings.provider.docs_check')} + {t(`provider.${provider.id}`) + ' '} {t('common.docs')} - - {t('common.and')} - + + {t('common.and')} + {t('common.models')} - - {t('settings.provider.docs_more_details')} - + + {t('settings.provider.docs_more_details')} + )}