From f7168cc8149ae583fc31e50778915cdb3c58396a Mon Sep 17 00:00:00 2001 From: jialin Date: Thu, 24 Apr 2025 15:45:17 +0800 Subject: [PATCH] fix: quant fp16 first in catalog --- .../components/deploy-builtin-modal.tsx | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/src/pages/llmodels/components/deploy-builtin-modal.tsx b/src/pages/llmodels/components/deploy-builtin-modal.tsx index 1d7af23c..0409b43a 100644 --- a/src/pages/llmodels/components/deploy-builtin-modal.tsx +++ b/src/pages/llmodels/components/deploy-builtin-modal.tsx @@ -78,7 +78,8 @@ const quantiCapitMap: Record = { const defaultQuant = ['Q4_K_M']; const EmbeddingRerankFirstQuant = ['FP16', 'F16']; -const AscendNPUQuant = ['F16', 'FP16', 'Q8_0']; +const AscendNPUQuant_F16 = ['F16', 'FP16']; +const AscendNPUQuant_Q8 = ['Q8_0']; const AddModal: React.FC = (props) => { const { @@ -113,6 +114,7 @@ const AddModal: React.FC = (props) => { const axiosToken = useRef(null); const selectSpecRef = useRef({} as CatalogSpec); const specListRef = useRef([]); + const hasF16Ref = useRef(false); const handleSumit = () => { form.current?.submit?.(); @@ -145,18 +147,22 @@ const AddModal: React.FC = (props) => { backend: string; condidateQuant?: string[]; }) => { - if ( - data.backend === backendOptionsMap.llamaBox && - checkOnlyAscendNPU(gpuOptions) - ) { - return AscendNPUQuant.includes(_.toUpper(data.quantOption)); - } if ( data.category === modelCategoriesMap.embedding || data.category === modelCategoriesMap.reranker ) { return EmbeddingRerankFirstQuant.includes(_.toUpper(data.quantOption)); } + + if ( + data.backend === backendOptionsMap.llamaBox && + checkOnlyAscendNPU(gpuOptions) + ) { + return hasF16Ref.current + ? AscendNPUQuant_F16.includes(_.toUpper(data.quantOption)) + : AscendNPUQuant_Q8.includes(_.toUpper(data.quantOption)); + } + return defaultQuant.includes(_.toUpper(data.quantOption)); }; @@ -385,6 +391,10 @@ const AddModal: React.FC = (props) => { const list = _.sortBy(res.items, 'size'); + hasF16Ref.current = _.some(res.items, (item: CatalogSpec) => { + return AscendNPUQuant_F16.includes(_.toUpper(item.quantization)); + }); + const defaultSpec = _.find(list, (item: CatalogSpec) => { return getDefaultQuant({