From dc8d7a236d4beec6f3c7e8933a09643b6db73832 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=89=A1=E4=B8=B9=E5=87=A4=E5=87=B0?= <87239270+1355873789@users.noreply.github.com> Date: Fri, 27 Sep 2024 11:47:03 +0800 Subject: [PATCH] fix: correct display for non-vision GPT-4 models (#135) * Update models.ts feat: add matching rules for EMBEDDING_REGEX fix: correct display for non-vision gpt-4 models * Update models.ts feat:add matching rules for gpt-4 * Update models.ts feat:add matching rules for gpt-4 * Update models.ts feat:add matching rules for gpt-4 --- src/renderer/src/config/models.ts | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/renderer/src/config/models.ts b/src/renderer/src/config/models.ts index bd30dbdc41..6d0bcfbce3 100644 --- a/src/renderer/src/config/models.ts +++ b/src/renderer/src/config/models.ts @@ -96,10 +96,23 @@ import YiModelLogoDark from '@renderer/assets/images/models/yi_dark.png' import { Model } from '@renderer/types' import OpenAI from 'openai' -const TEXT_TO_IMAGE_REGEX = /flux|diffusion|stabilityai|sd-turbo|dall|cogview/i -const VISION_REGEX = /llava|moondream|minicpm|gemini-1.5|claude-3|vision|glm-4v|gpt-4|qwen-vl/i -const EMBEDDING_REGEX = /embed|rerank/i -const NOT_SUPPORTED_REGEX = /embed|tts|rerank|whisper|speech/i +const allowedModels = [ + 'llava', + 'moondream', + 'minicpm', + 'gemini-1\\.5', + 'claude-3', + 'vision', + 'glm-4v', + 'qwen-vl', + 'gpt-4(?:-[\\w-]+)', + 'gpt-4o(?:-[\\w-]+)?' +] +const excludedModels = ['gpt-4-\\d+-preview', 'gpt-4-turbo-preview', 'gpt-4-32k','gpt-4-\\d+'] +const VISION_REGEX = new RegExp(`\\b(?!(?:${excludedModels.join('|')})\\b)(${allowedModels.join('|')})\\b`, 'i') +const TEXT_TO_IMAGE_REGEX = /flux|diffusion|stabilityai|sd-|dall|cogview/i +const EMBEDDING_REGEX = /(?:^text-|embed|rerank|davinci|babbage|bge-|base|retrieval|uae-)/i +const NOT_SUPPORTED_REGEX = /(?:^text-|embed|tts|rerank|whisper|speech|davinci|babbage|bge-|base|retrieval|uae-)/i export function getModelLogo(modelId: string) { const isLight = true