From d6e66f3a4de3fa0dba1ff4d452a481b91b6f2c13 Mon Sep 17 00:00:00 2001 From: yangtb2024 <164613316+yangtb2024@users.noreply.github.com> Date: Sat, 29 Mar 2025 23:04:51 +0800 Subject: [PATCH] =?UTF-8?q?feat(config):=20=E5=A2=9E=E5=BC=BA=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B=E6=94=AF=E6=8C=81=20(#4085)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat(config): 添加对新模型的支持 - 新增 gemini-2.5 到 visionAllowedModels - 新增 gpt-4.5 到 visionAllowedModels 和 FUNCTION_CALLING_MODELS - 新增 o1 到 FUNCTION_CALLING_MODELS - 从 visionExcludedModels 和 FUNCTION_CALLING_EXCLUDED_MODELS 中排除 o1-mini, o1-preview, AIDC-AI/Marco-o1 * feat(config): 添加对 deepseek-ai 函数调用的支持 - 新增 deepseek-ai 到 FUNCTION_CALLING_MODELS --- src/renderer/src/config/models.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/renderer/src/config/models.ts b/src/renderer/src/config/models.ts index 8e9bc0ab..6f473aa9 100644 --- a/src/renderer/src/config/models.ts +++ b/src/renderer/src/config/models.ts @@ -142,6 +142,7 @@ const visionAllowedModels = [ 'minicpm', 'gemini-1\\.5', 'gemini-2\\.0', + 'gemini-2\\.5', 'gemini-exp', 'claude-3', 'vision', @@ -156,6 +157,7 @@ const visionAllowedModels = [ 'pixtral', 'gpt-4(?:-[\\w-]+)', 'gpt-4o(?:-[\\w-]+)?', + 'gpt-4.5(?:-[\\w-]+)', 'chatgpt-4o(?:-[\\w-]+)?', 'o1(?:-[\\w-]+)?', 'deepseek-vl(?:[\\w-]+)?', @@ -163,7 +165,7 @@ const visionAllowedModels = [ 'gemma-3(?:-[\\w-]+)' ] -const visionExcludedModels = ['gpt-4-\\d+-preview', 'gpt-4-turbo-preview', 'gpt-4-32k', 'gpt-4-\\d+'] +const visionExcludedModels = ['gpt-4-\\d+-preview', 'gpt-4-turbo-preview', 'gpt-4-32k', 'gpt-4-\\d+', 'o1-mini', 'o1-preview', 'AIDC-AI/Marco-o1'] export const VISION_REGEX = new RegExp( `\\b(?!(?:${visionExcludedModels.join('|')})\\b)(${visionAllowedModels.join('|')})\\b`, 'i' @@ -191,15 +193,17 @@ export const FUNCTION_CALLING_MODELS = [ 'gpt-4o-mini', 'gpt-4', 'gpt-4.5', + 'o1(?:-[\\w-]+)?', 'claude', 'qwen', 'hunyuan', + 'deepseek-ai/', 'glm-4(?:-[\\w-]+)?', 'learnlm(?:-[\\w-]+)?', 'gemini(?:-[\\w-]+)?' // 提前排除了gemini的嵌入模型 ] -const FUNCTION_CALLING_EXCLUDED_MODELS = ['aqa(?:-[\\w-]+)?', 'imagen(?:-[\\w-]+)?'] +const FUNCTION_CALLING_EXCLUDED_MODELS = ['aqa(?:-[\\w-]+)?', 'imagen(?:-[\\w-]+)?', 'o1-mini', 'o1-preview', 'AIDC-AI/Marco-o1'] export const FUNCTION_CALLING_REGEX = new RegExp( `\\b(?!(?:${FUNCTION_CALLING_EXCLUDED_MODELS.join('|')})\\b)(?:${FUNCTION_CALLING_MODELS.join('|')})\\b`,