From 4bbae673dc004234b841010b1dc8992943582649 Mon Sep 17 00:00:00 2001 From: jialin Date: Mon, 3 Nov 2025 14:21:00 +0800 Subject: [PATCH] fix: draft model local path do not search --- src/pages/llmodels/config/index.ts | 1 + src/pages/llmodels/forms/index.tsx | 1 - src/pages/llmodels/forms/kv-cache.tsx | 1 + src/pages/llmodels/forms/speculative-decode.tsx | 9 ++++++++- src/pages/llmodels/hooks/use-query-draftModels.ts | 3 ++- 5 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/pages/llmodels/config/index.ts b/src/pages/llmodels/config/index.ts index a6bdf342..dae6fb02 100644 --- a/src/pages/llmodels/config/index.ts +++ b/src/pages/llmodels/config/index.ts @@ -350,6 +350,7 @@ export const DO_NOT_TRIGGER_CHECK_COMPATIBILITY = [ 'run_command', 'image_name', 'extended_kv_cache.enabled', + 'speculative_config.enabled', 'speculative_config.draft_model' ]; diff --git a/src/pages/llmodels/forms/index.tsx b/src/pages/llmodels/forms/index.tsx index 5fcf7125..a07fce85 100644 --- a/src/pages/llmodels/forms/index.tsx +++ b/src/pages/llmodels/forms/index.tsx @@ -222,7 +222,6 @@ const DataForm: React.FC = forwardRef((props, ref) => { ..._.omit(data, ['scheduleType']), ...gpuSelector }; - onOk(allValues); }; diff --git a/src/pages/llmodels/forms/kv-cache.tsx b/src/pages/llmodels/forms/kv-cache.tsx index 2382c812..ea65bb36 100644 --- a/src/pages/llmodels/forms/kv-cache.tsx +++ b/src/pages/llmodels/forms/kv-cache.tsx @@ -36,6 +36,7 @@ const KVCacheForm = () => { (item) => item.value === backend ); + // FIXME:remove formKey check after all built-in backends support KV cache return ( (currentBackend?.isBuiltIn || formKey === DeployFormKeyMap.CATALOG) && [backendOptionsMap.SGLang, backendOptionsMap.vllm].includes( diff --git a/src/pages/llmodels/forms/speculative-decode.tsx b/src/pages/llmodels/forms/speculative-decode.tsx index 7f230614..d366e65a 100644 --- a/src/pages/llmodels/forms/speculative-decode.tsx +++ b/src/pages/llmodels/forms/speculative-decode.tsx @@ -6,6 +6,7 @@ import SealSelect from '@/components/seal-form/seal-select'; import useAppUtils from '@/hooks/use-app-utils'; import { useIntl } from '@umijs/max'; import { Form } from 'antd'; +import _ from 'lodash'; import { useRef } from 'react'; import { useFormContext } from '../config/form-context'; import { FormData } from '../config/types'; @@ -19,7 +20,7 @@ const AlgorithmMap = { const SpeculativeDecode = () => { const intl = useIntl(); - const { source } = useFormContext(); + const { source, onValuesChange } = useFormContext(); const { getRuleMessage } = useAppUtils(); const form = Form.useFormInstance(); const speculativeEnabled = Form.useWatch( @@ -34,6 +35,11 @@ const SpeculativeDecode = () => { source }); + const onValuesChangeDebounced = _.debounce(() => { + const allValues = form.getFieldsValue(); + onValuesChange?.({}, allValues); + }, 200); + const handleSpeculativeEnabledChange = (e: any) => { if (e.target.checked) { form.setFieldValue('speculative_config', { @@ -49,6 +55,7 @@ const SpeculativeDecode = () => { }); } else { speculativeConfigRef.current = form.getFieldValue('speculative_config'); + onValuesChangeDebounced(); } }; diff --git a/src/pages/llmodels/hooks/use-query-draftModels.ts b/src/pages/llmodels/hooks/use-query-draftModels.ts index b99274a2..778a3111 100644 --- a/src/pages/llmodels/hooks/use-query-draftModels.ts +++ b/src/pages/llmodels/hooks/use-query-draftModels.ts @@ -149,8 +149,9 @@ export default function useQueryDraftModels({ source }: { source: string }) { } }; + // local path starts with / const handleOnSearch = async (value: string) => { - if (!value) { + if (!value || value?.trim?.().startsWith('/')) { setDraftModelList(presetDraftModelListRef.current); return; }