diff --git a/src/locales/en-US/backends.ts b/src/locales/en-US/backends.ts index c0c87b46..d174460e 100644 --- a/src/locales/en-US/backends.ts +++ b/src/locales/en-US/backends.ts @@ -27,7 +27,7 @@ export default { 'backend.form.parameterFormat.default': 'Backend Default', 'backend.form.parameterFormat.space': 'Space (--key value)', 'backend.form.parameterFormat.equal': 'Equal (--key=value)', - 'backend.form.commonParameters': 'Common Parameters', + 'backend.form.commonParameters': 'Common Backend Parameters', 'backend.form.commonParameters.tips': 'Shown as suggestions in the backend parameters input during deployment.', 'backend.form.versionConfig': 'Versions Config', diff --git a/src/locales/ja-JP/backends.ts b/src/locales/ja-JP/backends.ts index 087ee84e..ec0d58d1 100644 --- a/src/locales/ja-JP/backends.ts +++ b/src/locales/ja-JP/backends.ts @@ -27,7 +27,7 @@ export default { 'backend.form.parameterFormat.default': 'バックエンドのデフォルト', 'backend.form.parameterFormat.space': 'スペース区切り (--key value)', 'backend.form.parameterFormat.equal': 'イコール連結 (--key=value)', - 'backend.form.commonParameters': 'よく使うパラメータ', + 'backend.form.commonParameters': 'よく使うバックエンドパラメータ', 'backend.form.commonParameters.tips': 'モデルのデプロイ時にバックエンドパラメータ入力欄の候補として表示されます。', 'backend.form.versionConfig': 'Versions Config', diff --git a/src/locales/ru-RU/backends.ts b/src/locales/ru-RU/backends.ts index b29d2ec4..6126aa51 100644 --- a/src/locales/ru-RU/backends.ts +++ b/src/locales/ru-RU/backends.ts @@ -27,7 +27,7 @@ export default { 'backend.form.parameterFormat.default': 'По умолчанию бэкенда', 'backend.form.parameterFormat.space': 'Пробел (--key value)', 'backend.form.parameterFormat.equal': 'Знак равенства (--key=value)', - 'backend.form.commonParameters': 'Часто используемые параметры', + 'backend.form.commonParameters': 'Общие параметры бэкенда', 'backend.form.commonParameters.tips': 'Отображаются как подсказки в поле параметров бэкенда при развёртывании.', 'backend.form.versionConfig': 'Конфигурация версий', diff --git a/src/locales/tr-TR/backends.ts b/src/locales/tr-TR/backends.ts index 53234fb7..ae92d8ac 100644 --- a/src/locales/tr-TR/backends.ts +++ b/src/locales/tr-TR/backends.ts @@ -27,7 +27,7 @@ export default { 'backend.form.parameterFormat.default': 'Varsayılan', 'backend.form.parameterFormat.space': 'Boşluk (--key value)', 'backend.form.parameterFormat.equal': 'Eşittir (--key=value)', - 'backend.form.commonParameters': 'Yaygın Parametreler', + 'backend.form.commonParameters': 'Ortak Altyapı Parametreleri', 'backend.form.commonParameters.tips': 'Dağıtım sırasında altyapı parametreleri girişinde öneri olarak gösterilir.', 'backend.form.versionConfig': 'Sürüm Yapılandırması', diff --git a/src/locales/zh-CN/backends.ts b/src/locales/zh-CN/backends.ts index f9316f3f..ad523532 100644 --- a/src/locales/zh-CN/backends.ts +++ b/src/locales/zh-CN/backends.ts @@ -27,7 +27,7 @@ export default { 'backend.form.parameterFormat.default': '后端默认', 'backend.form.parameterFormat.space': '空格分隔 (--key value)', 'backend.form.parameterFormat.equal': '等号连接 (--key=value)', - 'backend.form.commonParameters': '常用参数', + 'backend.form.commonParameters': '常用后端参数', 'backend.form.commonParameters.tips': '部署模型时作为后端参数候选项展示。', 'backend.form.versionConfig': '版本配置', 'backend.form.addParameter': '添加参数', diff --git a/src/pages/backends/forms/basic.tsx b/src/pages/backends/forms/basic.tsx index 13e41e39..2b530d19 100644 --- a/src/pages/backends/forms/basic.tsx +++ b/src/pages/backends/forms/basic.tsx @@ -183,6 +183,9 @@ const BasicForm = () => { rules={[{ required: false }]} > = (props) => { const selectSpecRef = useRef({} as CatalogSpec); const specListRef = useRef([]); const noCompatibleGPUsRef = useRef(false); + const backendOptionsCache = useRef([]); const handleSumit = () => { form.current?.submit?.(); @@ -190,6 +191,17 @@ const AddModal: React.FC = (props) => { }; const handleBackendChange = (backend: string) => { + const defaultBackendParameters = + backendOptionsCache.current?.find((item: any) => item.value === backend) + ?.default_backend_param || []; + + form.current?.setFieldsValue({ + backend_parameters: [ + ...defaultBackendParameters, + ...(form.current?.getFieldValue('backend_parameters') || []) + ] + }); + handleCheckFormData(); }; @@ -259,10 +271,19 @@ const AddModal: React.FC = (props) => { selectSpecRef.current = defaultSpec; + const defaultBackendParams = + backendOptionsCache.current?.find( + (item: any) => item.value === defaultSpec.backend + )?.default_backend_param || []; + setModeList(modeDataList); setSourceList(sources); initFormDataBySource({ ...defaultSpec, + backend_parameters: [ + ...defaultBackendParams, + ...(defaultSpec.backend_parameters || []) + ], cluster_id: clusterId }); @@ -331,6 +352,24 @@ const AddModal: React.FC = (props) => { axiosToken.current?.cancel?.(); }; + const init = async () => { + const clusterId = initClusterId(); + // No cluster available for the current scope (zero clusters, or none + // owned by the picked org). Leave the form's cluster field empty and + // skip downstream fetches — the user resolves it by picking an org + // that owns clusters, which triggers the scope-change re-pick in the + // basic form. + if (!clusterId) return; + + backendOptionsCache.current = await form.current?.getBackendOptions?.({ + cluster_id: clusterId + }); + fetchSpecData(clusterId); + form.current?.getGPUOptionList?.({ + clusterId: clusterId + }); + }; + const showExtraButton = useMemo(() => { return warningStatus.show && warningStatus.type !== 'success'; }, [warningStatus.show, warningStatus.type]); @@ -343,20 +382,7 @@ const AddModal: React.FC = (props) => { useEffect(() => { if (open) { setTimeout(() => { - const clusterId = initClusterId(); - // No cluster available for the current scope (zero clusters, or none - // owned by the picked org). Leave the form's cluster field empty and - // skip downstream fetches — the user resolves it by picking an org - // that owns clusters, which triggers the scope-change re-pick in the - // basic form. - if (!clusterId) return; - fetchSpecData(clusterId); - form.current?.getGPUOptionList?.({ - clusterId: clusterId - }); - form.current?.getBackendOptions?.({ - cluster_id: clusterId - }); + init(); }, 100); } return () => { diff --git a/src/pages/llmodels/components/deployment/deploy-modal.tsx b/src/pages/llmodels/components/deployment/deploy-modal.tsx index b9922ba1..820ee692 100644 --- a/src/pages/llmodels/components/deployment/deploy-modal.tsx +++ b/src/pages/llmodels/components/deployment/deploy-modal.tsx @@ -348,6 +348,7 @@ const AddModal: FC = (props) => { env: { ...modelInfo.env }, + backend_parameters: [...modelInfo.backend_parameters], name: generateNameValue(item, modelInfo.name, manual), categories: getCategory(item) }); @@ -405,6 +406,10 @@ const AddModal: FC = (props) => { ...modelInfo.env, ...defaultSpec.env }, + backend_parameters: [ + ...modelInfo.backend_parameters, + ...(defaultSpec.backend_parameters || []) + ], name: generateNameValue(item, modelInfo.name, manual), categories: getCategory(item) }; diff --git a/src/pages/llmodels/hooks/index.ts b/src/pages/llmodels/hooks/index.ts index 75847cf0..63a91f94 100644 --- a/src/pages/llmodels/hooks/index.ts +++ b/src/pages/llmodels/hooks/index.ts @@ -522,7 +522,6 @@ export const useSelectModel = (data: { gpuOptions: any[] }) => { flatBackendOptions?: any[]; } ) => { - console.log('options==========', options); const { source, defaultBackend, flatBackendOptions } = options; let name = _.split(selectModel.name, '/').slice(-1)[0]; const reg = /(-gguf)$/i; @@ -540,7 +539,7 @@ export const useSelectModel = (data: { gpuOptions: any[] }) => { const selectedBackend = flatBackendOptions?.find( (item) => item.value === backend ); - + console.log('selectedBackend=========', selectedBackend); return { ...(source === modelSourceMap.huggingface_value ? { huggingface_repo_id: selectModel.name } @@ -552,6 +551,7 @@ export const useSelectModel = (data: { gpuOptions: any[] }) => { env: { ...(selectedBackend?.default_env || {}) }, + backend_parameters: [...(selectedBackend?.default_backend_param || [])], name: name, source: source, backend: backend