From cce88745c2bd58a06586d84370a4fb9a1815a231 Mon Sep 17 00:00:00 2001 From: JwinPBE Date: Mon, 25 Aug 2025 06:12:14 +0000 Subject: [PATCH] feat: add seed-36b parser support (#9498) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: add seed-36b thinking tag parser support Signed-off-by: jwinpbe * fix: capitalize model name for proper parsing Signed-off-by: jwinpbe * Revert "fix: capitalize model name for proper parsing" This reverts commit dd9b45e3f4c08b6470840becfbdcba7527efd724. * fix: make seed-36b model parser case-insensitive Signed-off-by: jwinpbe * refactor(ThinkingTagExtractionMiddleware): 使用getLowerBaseModelName统一处理模型ID 简化模型ID比较逻辑,避免重复调用toLowerCase方法 --------- Signed-off-by: jwinpbe Co-authored-by: jwinpbe Co-authored-by: icarus --- .../feat/ThinkingTagExtractionMiddleware.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/renderer/src/aiCore/middleware/feat/ThinkingTagExtractionMiddleware.ts b/src/renderer/src/aiCore/middleware/feat/ThinkingTagExtractionMiddleware.ts index 5ab19a6175..447b9d2f23 100644 --- a/src/renderer/src/aiCore/middleware/feat/ThinkingTagExtractionMiddleware.ts +++ b/src/renderer/src/aiCore/middleware/feat/ThinkingTagExtractionMiddleware.ts @@ -7,6 +7,7 @@ import { ThinkingDeltaChunk, ThinkingStartChunk } from '@renderer/types/chunk' +import { getLowerBaseModelName } from '@renderer/utils' import { TagConfig, TagExtractor } from '@renderer/utils/tagExtraction' import { CompletionsParams, CompletionsResult, GenericChunk } from '../schemas' @@ -22,13 +23,16 @@ const reasoningTags: TagConfig[] = [ { openingTag: '', closingTag: '', separator: '\n' }, { openingTag: '###Thinking', closingTag: '###Response', separator: '\n' }, { openingTag: '◁think▷', closingTag: '◁/think▷', separator: '\n' }, - { openingTag: '', closingTag: '', separator: '\n' } + { openingTag: '', closingTag: '', separator: '\n' }, + { openingTag: '', closingTag: '', separator: '\n' } ] const getAppropriateTag = (model?: Model): TagConfig => { - if (model?.id?.includes('qwen3')) return reasoningTags[0] - if (model?.id?.includes('gemini-2.5')) return reasoningTags[1] - if (model?.id?.includes('kimi-vl-a3b-thinking')) return reasoningTags[3] + const modelId = model?.id ? getLowerBaseModelName(model.id) : undefined + if (modelId?.includes('qwen3')) return reasoningTags[0] + if (modelId?.includes('gemini-2.5')) return reasoningTags[1] + if (modelId?.includes('kimi-vl-a3b-thinking')) return reasoningTags[3] + if (modelId?.includes('seed-oss-36b')) return reasoningTags[5] // 可以在这里添加更多模型特定的标签配置 return reasoningTags[0] // 默认使用 标签 }