feat: add moonshot provider

This commit is contained in:
kangfenmao 2024-07-11 15:24:10 +08:00
parent 8681bcd538
commit 784770fd88
6 changed files with 62 additions and 2 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

View File

@ -285,6 +285,32 @@ export const SYSTEM_MODELS: Record<string, SystemModel[]> = {
defaultEnabled: false defaultEnabled: false
} }
], ],
moonshot: [
{
id: 'moonshot-v1-8k',
provider: 'moonshot',
name: 'Moonshot V1 8k',
group: 'Moonshot V1',
temperature: 0.7,
defaultEnabled: true
},
{
id: 'moonshot-v1-32k',
provider: 'moonshot',
name: 'Moonshot V1 32k',
group: 'Moonshot V1',
temperature: 0.7,
defaultEnabled: true
},
{
id: 'moonshot-v1-128k',
provider: 'moonshot',
name: 'Moonshot V1 128k',
group: 'Moonshot V1',
temperature: 0.7,
defaultEnabled: true
}
],
groq: [ groq: [
{ {
id: 'llama3-8b-8192', id: 'llama3-8b-8192',

View File

@ -5,6 +5,7 @@ import YiProviderLogo from '@renderer/assets/images/providers/yi.svg'
import GroqProviderLogo from '@renderer/assets/images/providers/groq.png' import GroqProviderLogo from '@renderer/assets/images/providers/groq.png'
import ZhipuProviderLogo from '@renderer/assets/images/providers/zhipu.png' import ZhipuProviderLogo from '@renderer/assets/images/providers/zhipu.png'
import OllamaProviderLogo from '@renderer/assets/images/providers/ollama.png' import OllamaProviderLogo from '@renderer/assets/images/providers/ollama.png'
import MoonshotProviderLogo from '@renderer/assets/images/providers/moonshot.jpeg'
import ChatGPTModelLogo from '@renderer/assets/images/models/chatgpt.jpeg' import ChatGPTModelLogo from '@renderer/assets/images/models/chatgpt.jpeg'
import ChatGLMModelLogo from '@renderer/assets/images/models/chatglm.jpeg' import ChatGLMModelLogo from '@renderer/assets/images/models/chatglm.jpeg'
import DeepSeekModelLogo from '@renderer/assets/images/models/deepseek.png' import DeepSeekModelLogo from '@renderer/assets/images/models/deepseek.png'
@ -13,6 +14,7 @@ import QwenModelLogo from '@renderer/assets/images/models/qwen.jpeg'
import YiModelLogo from '@renderer/assets/images/models/yi.svg' import YiModelLogo from '@renderer/assets/images/models/yi.svg'
import LlamaModelLogo from '@renderer/assets/images/models/llama.jpeg' import LlamaModelLogo from '@renderer/assets/images/models/llama.jpeg'
import MixtralModelLogo from '@renderer/assets/images/models/mixtral.jpeg' import MixtralModelLogo from '@renderer/assets/images/models/mixtral.jpeg'
import MoonshotModelLogo from '@renderer/assets/images/providers/moonshot.jpeg'
export function getProviderLogo(providerId: string) { export function getProviderLogo(providerId: string) {
switch (providerId) { switch (providerId) {
@ -30,6 +32,8 @@ export function getProviderLogo(providerId: string) {
return ZhipuProviderLogo return ZhipuProviderLogo
case 'ollama': case 'ollama':
return OllamaProviderLogo return OllamaProviderLogo
case 'moonshot':
return MoonshotProviderLogo
default: default:
return undefined return undefined
} }
@ -44,7 +48,8 @@ export function getModelLogo(modelId: string) {
gemma: GemmaModelLogo, gemma: GemmaModelLogo,
'yi-': YiModelLogo, 'yi-': YiModelLogo,
llama: LlamaModelLogo, llama: LlamaModelLogo,
mixtral: MixtralModelLogo mixtral: MixtralModelLogo,
moonshot: MoonshotModelLogo
} }
for (const key in logoMap) { for (const key in logoMap) {

View File

@ -19,7 +19,7 @@ const persistedReducer = persistReducer(
{ {
key: 'cherry-studio', key: 'cherry-studio',
storage, storage,
version: 4, version: 5,
blacklist: ['runtime'], blacklist: ['runtime'],
migrate migrate
}, },

View File

@ -58,6 +58,15 @@ const initialState: LlmState = {
isSystem: true, isSystem: true,
enabled: false enabled: false
}, },
{
id: 'moonshot',
name: 'Moonshot AI',
apiKey: '',
apiHost: 'https://api.moonshot.cn',
models: SYSTEM_MODELS.moonshot.filter((m) => m.defaultEnabled),
isSystem: true,
enabled: false
},
{ {
id: 'groq', id: 'groq',
name: 'Groq', name: 'Groq',

View File

@ -62,6 +62,26 @@ const migrate = createMigrate({
] ]
} }
} }
},
// @ts-ignore store type is unknown
'5': (state: RootState) => {
return {
...state,
llm: {
...state.llm,
providers: [
...state.llm.providers,
{
id: 'moonshot',
name: 'Moonshot',
apiKey: '',
apiHost: 'https://api.moonshot.cn',
isSystem: true,
models: SYSTEM_MODELS.moonshot.filter((m) => m.defaultEnabled)
}
]
}
}
} }
}) })