diff --git a/src/renderer/src/config/models/reasoning.ts b/src/renderer/src/config/models/reasoning.ts index dab918d5fd..fc3c925db1 100644 --- a/src/renderer/src/config/models/reasoning.ts +++ b/src/renderer/src/config/models/reasoning.ts @@ -460,16 +460,19 @@ export const isSupportedThinkingTokenZhipuModel = (model: Model): boolean => { } export const isDeepSeekHybridInferenceModel = (model: Model) => { - const modelId = getLowerBaseModelName(model.id) - // deepseek官方使用chat和reasoner做推理控制,其他provider需要单独判断,id可能会有所差别 - // openrouter: deepseek/deepseek-chat-v3.1 不知道会不会有其他provider仿照ds官方分出一个同id的作为非思考模式的模型,这里有风险 - // Matches: "deepseek-v3" followed by ".digit" or "-digit". - // Optionally, this can be followed by ".alphanumeric_sequence" or "-alphanumeric_sequence" - // until the end of the string. - // Examples: deepseek-v3.1, deepseek-v3-1, deepseek-v3.1.2, deepseek-v3.1-alpha - // Does NOT match: deepseek-v3.123 (missing separator after '1'), deepseek-v3.x (x isn't a digit) - // TODO: move to utils and add test cases - return /deepseek-v3(?:\.\d|-\d)(?:(\.|-)\w+)?$/.test(modelId) || modelId.includes('deepseek-chat-v3.1') + const { idResult, nameResult } = withModelIdAndNameAsId(model, (model) => { + const modelId = getLowerBaseModelName(model.id) + // deepseek官方使用chat和reasoner做推理控制,其他provider需要单独判断,id可能会有所差别 + // openrouter: deepseek/deepseek-chat-v3.1 不知道会不会有其他provider仿照ds官方分出一个同id的作为非思考模式的模型,这里有风险 + // Matches: "deepseek-v3" followed by ".digit" or "-digit". + // Optionally, this can be followed by ".alphanumeric_sequence" or "-alphanumeric_sequence" + // until the end of the string. + // Examples: deepseek-v3.1, deepseek-v3-1, deepseek-v3.1.2, deepseek-v3.1-alpha + // Does NOT match: deepseek-v3.123 (missing separator after '1'), deepseek-v3.x (x isn't a digit) + // TODO: move to utils and add test cases + return /deepseek-v3(?:\.\d|-\d)(?:(\.|-)\w+)?$/.test(modelId) || modelId.includes('deepseek-chat-v3.1') + }) + return idResult || nameResult } export const isLingReasoningModel = (model?: Model): boolean => { @@ -523,7 +526,6 @@ export function isReasoningModel(model?: Model): boolean { REASONING_REGEX.test(model.name) || isSupportedThinkingTokenDoubaoModel(model) || isDeepSeekHybridInferenceModel(model) || - isDeepSeekHybridInferenceModel({ ...model, id: model.name }) || false ) }