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
}
],
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: [
{
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 ZhipuProviderLogo from '@renderer/assets/images/providers/zhipu.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 ChatGLMModelLogo from '@renderer/assets/images/models/chatglm.jpeg'
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 LlamaModelLogo from '@renderer/assets/images/models/llama.jpeg'
import MixtralModelLogo from '@renderer/assets/images/models/mixtral.jpeg'
import MoonshotModelLogo from '@renderer/assets/images/providers/moonshot.jpeg'
export function getProviderLogo(providerId: string) {
switch (providerId) {
@ -30,6 +32,8 @@ export function getProviderLogo(providerId: string) {
return ZhipuProviderLogo
case 'ollama':
return OllamaProviderLogo
case 'moonshot':
return MoonshotProviderLogo
default:
return undefined
}
@ -44,7 +48,8 @@ export function getModelLogo(modelId: string) {
gemma: GemmaModelLogo,
'yi-': YiModelLogo,
llama: LlamaModelLogo,
mixtral: MixtralModelLogo
mixtral: MixtralModelLogo,
moonshot: MoonshotModelLogo
}
for (const key in logoMap) {

View File

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

View File

@ -58,6 +58,15 @@ const initialState: LlmState = {
isSystem: true,
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',
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)
}
]
}
}
}
})