mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-24 10:40:07 +08:00
refactor(models): restructure default model configuration and usage
- Replace SYSTEM_MODELS.defaultModel array with DEFAULT_MODEL_MAP object for clearer model assignments - Update related store and hook implementations to use new model map - Add reset functions for default models in useAssistant hook
This commit is contained in:
parent
5101488d65
commit
e6e20d2d72
@ -14,10 +14,10 @@ exports[`InputEmbeddingDimension > basic rendering > should match snapshot with
|
||||
/>
|
||||
<div
|
||||
data-testid="tooltip"
|
||||
data-title="自动设置维度"
|
||||
>
|
||||
<button
|
||||
aria-label="Get embedding dimension"
|
||||
data-testid="button"
|
||||
role="button"
|
||||
type="button"
|
||||
>
|
||||
@ -49,10 +49,10 @@ exports[`InputEmbeddingDimension > basic rendering > should match snapshot with
|
||||
/>
|
||||
<div
|
||||
data-testid="tooltip"
|
||||
data-title="自动设置维度"
|
||||
>
|
||||
<button
|
||||
aria-label="Get embedding dimension"
|
||||
data-testid="button"
|
||||
disabled=""
|
||||
role="button"
|
||||
type="button"
|
||||
|
||||
@ -14,17 +14,13 @@ export const qwen38bModel: Model = {
|
||||
group: 'Qwen'
|
||||
}
|
||||
|
||||
export const SYSTEM_MODELS: Record<SystemProviderId | 'defaultModel', Model[]> = {
|
||||
defaultModel: [
|
||||
// Default assistant model
|
||||
glm45FlashModel,
|
||||
// Default topic naming model
|
||||
qwen38bModel,
|
||||
// Default translation model
|
||||
glm45FlashModel,
|
||||
// Default quick assistant model
|
||||
glm45FlashModel
|
||||
],
|
||||
export const DEFAULT_MODEL_MAP = {
|
||||
assistant: glm45FlashModel,
|
||||
quick: qwen38bModel,
|
||||
translate: glm45FlashModel
|
||||
} as const
|
||||
|
||||
export const SYSTEM_MODELS: Record<SystemProviderId, Model[]> = {
|
||||
cherryin: [],
|
||||
vertexai: [],
|
||||
'302ai': [
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
import { loggerService } from '@logger'
|
||||
import {
|
||||
DEFAULT_MODEL_MAP,
|
||||
getThinkModelType,
|
||||
isSupportedReasoningEffortModel,
|
||||
isSupportedThinkingTokenModel,
|
||||
@ -24,7 +25,11 @@ import {
|
||||
updateTopic,
|
||||
updateTopics
|
||||
} from '@renderer/store/assistants'
|
||||
import { setDefaultModel, setQuickModel, setTranslateModel } from '@renderer/store/llm'
|
||||
import {
|
||||
setDefaultModel as setDefaultModelAction,
|
||||
setQuickModel as setQuickModelAction,
|
||||
setTranslateModel as setTranslateModelAction
|
||||
} from '@renderer/store/llm'
|
||||
import type { Assistant, AssistantSettings, Model, ThinkingOption, Topic } from '@renderer/types'
|
||||
import { uuid } from '@renderer/utils'
|
||||
import { useCallback, useEffect, useMemo, useRef } from 'react'
|
||||
@ -198,12 +203,31 @@ export function useDefaultModel() {
|
||||
const { defaultModel, quickModel, translateModel } = useAppSelector((state) => state.llm)
|
||||
const dispatch = useAppDispatch()
|
||||
|
||||
const setDefaultModel = useCallback((model: Model) => dispatch(setDefaultModelAction({ model })), [dispatch])
|
||||
const setQuickModel = useCallback((model: Model) => dispatch(setQuickModelAction({ model })), [dispatch])
|
||||
const setTranslateModel = useCallback((model: Model) => dispatch(setTranslateModelAction({ model })), [dispatch])
|
||||
|
||||
const resetDefaultAssistantModel = useCallback(() => {
|
||||
setDefaultModel(DEFAULT_MODEL_MAP.assistant)
|
||||
}, [setDefaultModel])
|
||||
|
||||
const resetTranslateModel = useCallback(() => {
|
||||
setTranslateModel(DEFAULT_MODEL_MAP.translate)
|
||||
}, [setTranslateModel])
|
||||
|
||||
const resetQuickModel = useCallback(() => {
|
||||
setTranslateModel(DEFAULT_MODEL_MAP.quick)
|
||||
}, [setTranslateModel])
|
||||
|
||||
return {
|
||||
defaultModel,
|
||||
setDefaultModel,
|
||||
resetDefaultAssistantModel,
|
||||
quickModel,
|
||||
resetQuickModel,
|
||||
setQuickModel,
|
||||
translateModel,
|
||||
setDefaultModel: (model: Model) => dispatch(setDefaultModel({ model })),
|
||||
setQuickModel: (model: Model) => dispatch(setQuickModel({ model })),
|
||||
setTranslateModel: (model: Model) => dispatch(setTranslateModel({ model }))
|
||||
setTranslateModel,
|
||||
resetTranslateModel
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import type { PayloadAction } from '@reduxjs/toolkit'
|
||||
import { createSlice } from '@reduxjs/toolkit'
|
||||
import { isLocalAi } from '@renderer/config/env'
|
||||
import { SYSTEM_MODELS } from '@renderer/config/models'
|
||||
import { DEFAULT_MODEL_MAP } from '@renderer/config/models'
|
||||
import { SYSTEM_PROVIDERS } from '@renderer/config/providers'
|
||||
import type { Model, Provider } from '@renderer/types'
|
||||
import { uniqBy } from 'lodash'
|
||||
@ -43,10 +43,10 @@ export interface LlmState {
|
||||
}
|
||||
|
||||
export const initialState: LlmState = {
|
||||
defaultModel: SYSTEM_MODELS.defaultModel[0],
|
||||
topicNamingModel: SYSTEM_MODELS.defaultModel[1],
|
||||
quickModel: SYSTEM_MODELS.defaultModel[1],
|
||||
translateModel: SYSTEM_MODELS.defaultModel[2],
|
||||
defaultModel: DEFAULT_MODEL_MAP.assistant,
|
||||
topicNamingModel: DEFAULT_MODEL_MAP.quick,
|
||||
quickModel: DEFAULT_MODEL_MAP.quick,
|
||||
translateModel: DEFAULT_MODEL_MAP.translate,
|
||||
quickAssistantId: '',
|
||||
providers: SYSTEM_PROVIDERS,
|
||||
settings: {
|
||||
|
||||
@ -6,6 +6,7 @@ import { nanoid } from '@reduxjs/toolkit'
|
||||
import { DEFAULT_CONTEXTCOUNT, DEFAULT_TEMPERATURE, isMac } from '@renderer/config/constant'
|
||||
import { DEFAULT_MIN_APPS } from '@renderer/config/minapps'
|
||||
import {
|
||||
DEFAULT_MODEL_MAP,
|
||||
glm45FlashModel,
|
||||
isFunctionCallingModel,
|
||||
isNotSupportedTextDelta,
|
||||
@ -1667,7 +1668,7 @@ const migrateConfig = {
|
||||
state.llm.translateModel.provider === 'silicon' &&
|
||||
state.llm.translateModel.id === 'meta-llama/Llama-3.3-70B-Instruct'
|
||||
) {
|
||||
state.llm.translateModel = SYSTEM_MODELS.defaultModel[2]
|
||||
state.llm.translateModel = DEFAULT_MODEL_MAP.translate
|
||||
}
|
||||
|
||||
// add selection_assistant_toggle and selection_assistant_select_text shortcuts after mini_window
|
||||
|
||||
Loading…
Reference in New Issue
Block a user