From fc0899d9d3b26e3f49f29e1185c6ca7f0f51e492 Mon Sep 17 00:00:00 2001 From: jialin Date: Wed, 12 Mar 2025 17:39:24 +0800 Subject: [PATCH] fix: do not get the backend when local path blur --- src/locales/en-US/models.ts | 4 +- src/locales/zh-CN/models.ts | 4 +- .../llmodels/components/deploy-modal.tsx | 7 +-- .../llmodels/components/update-modal.tsx | 5 +-- src/pages/llmodels/index.tsx | 43 ++++++++++++------- 5 files changed, 38 insertions(+), 25 deletions(-) diff --git a/src/locales/en-US/models.ts b/src/locales/en-US/models.ts index fe098637..09c521fb 100644 --- a/src/locales/en-US/models.ts +++ b/src/locales/en-US/models.ts @@ -113,7 +113,7 @@ export default { 'models.form.moreparameters': 'Parameter Description', 'models.table.vram.allocated': 'Allocated VRAM', 'models.form.backend.warning': - 'The backend for GGUF format models uses llama-box.', + 'The backend for .gguf format models uses llama-box.', 'models.form.backend.warning.llamabox': - 'Llama-box only supports GGUF format models. If your model files were downloaded from Ollama, you can ignore this warning.' + 'Llama-box only supports .gguf format models. If your model files were downloaded from Ollama, you can ignore this warning.' }; diff --git a/src/locales/zh-CN/models.ts b/src/locales/zh-CN/models.ts index 59bc50e3..461447e7 100644 --- a/src/locales/zh-CN/models.ts +++ b/src/locales/zh-CN/models.ts @@ -108,7 +108,7 @@ export default { 'models.form.releases': '版本', 'models.form.moreparameters': '参数说明', 'models.table.vram.allocated': '分配显存', - 'models.form.backend.warning': 'GGUF 格式模型后端用 llama-box。', + 'models.form.backend.warning': '.gguf 格式模型后端用 llama-box。', 'models.form.backend.warning.llamabox': - 'llama-box 仅支持 GGUF 格式模型,如果您的模型是从 Ollama 下载的模型文件,忽略此警告。' + 'llama-box 仅支持 .gguf 格式模型,如果您的模型是从 Ollama 下载的模型文件,忽略此警告。' }; diff --git a/src/pages/llmodels/components/deploy-modal.tsx b/src/pages/llmodels/components/deploy-modal.tsx index 761c3c74..06d47929 100644 --- a/src/pages/llmodels/components/deploy-modal.tsx +++ b/src/pages/llmodels/components/deploy-modal.tsx @@ -79,10 +79,11 @@ const AddModal: React.FC = (props) => { } }; - const updateShowWarning = () => { - const backend = form.current?.getFieldValue?.('backend'); + const updateShowWarning = (backend: string) => { const localPath = form.current?.getFieldValue?.('local_path'); + console.log('upateShowWarning', backend, localPath); + if (source !== modelSourceMap.local_path_value || !localPath) { return; } @@ -116,7 +117,7 @@ const AddModal: React.FC = (props) => { if (backend === backendOptionsMap.llamaBox) { setIsGGUF(true); } - updateShowWarning(); + updateShowWarning(backend); }; const handleCancel = useCallback(() => { diff --git a/src/pages/llmodels/components/update-modal.tsx b/src/pages/llmodels/components/update-modal.tsx index 3b4fe997..71b5e760 100644 --- a/src/pages/llmodels/components/update-modal.tsx +++ b/src/pages/llmodels/components/update-modal.tsx @@ -95,8 +95,7 @@ const UpdateModal: React.FC = (props) => { } }; - const updateShowWarning = () => { - const backend = form.getFieldValue?.('backend'); + const updateShowWarning = (backend: string) => { const localPath = form.getFieldValue?.('local_path'); if (formData?.source !== modelSourceMap.local_path_value || !localPath) { @@ -133,7 +132,7 @@ const UpdateModal: React.FC = (props) => { } form.setFieldValue('backend_version', ''); handleSetGPUIds(val); - updateShowWarning(); + updateShowWarning(backend); }; const handleOnFocus = () => { diff --git a/src/pages/llmodels/index.tsx b/src/pages/llmodels/index.tsx index 2917af15..20224ed0 100644 --- a/src/pages/llmodels/index.tsx +++ b/src/pages/llmodels/index.tsx @@ -176,21 +176,26 @@ const Models: React.FC = () => { }); }; - const createModelsChunkRequest = useCallback(async () => { - chunkRequedtRef.current?.current?.cancel?.(); - try { - const query = { - search: queryParams.search, - categories: queryParams.categories - }; - chunkRequedtRef.current = setChunkRequest({ - url: `${MODELS_API}?${qs.stringify(_.pickBy(query, (val: any) => !!val))}`, - handler: updateHandler - }); - } catch (error) { - // ignore - } - }, [queryParams.categories, queryParams.search]); + const createModelsChunkRequest = useCallback( + async (params?: { search: string; categories: any[] }) => { + const search = params?.search || queryParams.search; + const categories = params?.categories || queryParams.categories; + chunkRequedtRef.current?.current?.cancel?.(); + try { + const query = { + search: search, + categories: categories + }; + chunkRequedtRef.current = setChunkRequest({ + url: `${MODELS_API}?${qs.stringify(_.pickBy(query, (val: any) => !!val))}`, + handler: updateHandler + }); + } catch (error) { + // ignore + } + }, + [queryParams.categories, queryParams.search] + ); const createModelsInstanceChunkRequest = useCallback(async () => { chunkInstanceRequedtRef.current?.current?.cancel?.(); @@ -241,6 +246,10 @@ const Models: React.FC = () => { search: e.target.value } }); + createModelsChunkRequest({ + search: e.target.value, + categories: queryParams.categories + }); }, 350); const handleNameChange = useCallback(debounceUpdateFilter, [queryParams]); @@ -259,6 +268,10 @@ const Models: React.FC = () => { categories: value } }); + createModelsChunkRequest({ + search: queryParams.search, + categories: value + }); }, [queryParams] );