fix: set default spec to form

This commit is contained in:
jialin
2025-06-03 15:16:52 +08:00
parent 31ea81c211
commit ed28bcdfb0
10 changed files with 128 additions and 45 deletions
@@ -132,8 +132,7 @@ const AddModal: React.FC<AddModalProps> = (props) => {
'worker_selector',
'gpu_selector',
'env',
'backend_version',
'backend_parameters'
'backend_version'
]);
};
+21 -4
View File
@@ -38,7 +38,8 @@ const resetFieldsByModel = [
const resetFieldsByFile = [
'cpu_offloading',
'distributed_inference_across_workers'
'distributed_inference_across_workers',
'backend_parameters'
];
const ModalFooterStyle = {
@@ -99,6 +100,7 @@ const AddModal: FC<AddModalProps> = (props) => {
handleBackendChangeBefore,
cancelEvaluate,
handleOnValuesChange,
handleEvaluateOnChange,
warningStatus,
submitAnyway
} = useCheckCompatibility();
@@ -140,22 +142,37 @@ const AddModal: FC<AddModalProps> = (props) => {
return categories || null;
};
const handleSelectModelFile = (item: any, evaluate?: boolean) => {
const handleSelectModelFile = async (item: any, evaluate?: boolean) => {
form.current?.form?.resetFields(resetFieldsByFile);
const modelInfo = onSelectModel(selectedModel, props.source);
form.current?.setFieldsValue?.({
file_name: item.fakeName,
...getDefaultSpec(item),
...modelInfo,
categories: getCategory(item)
});
await new Promise((resolve) => {
setTimeout(() => {
resolve(true);
}, 0);
});
if (item.fakeName) {
handleOnValuesChange?.({
const evaluateRes = await handleEvaluateOnChange?.({
changedValues: {},
allValues: form.current?.form?.getFieldsValue?.(),
source: props.source
});
const defaultSpec = getDefaultSpec({
evaluateResult: evaluateRes
});
console.log('defaultSpec', defaultSpec);
form.current?.setFieldsValue?.({
file_name: item.fakeName,
...defaultSpec,
...modelInfo,
categories: getCategory(item)
});
}
};
@@ -604,6 +604,10 @@ const options = [
{
label: '--swa-full',
value: '--swa-full'
},
{
label: '--no-enable-reasoning',
value: '--no-enable-reasoning'
}
];
+7 -2
View File
@@ -7,6 +7,7 @@ import {
import { ListItem as WorkerListItem } from '@/pages/resources/config/types';
import { convertFileSize } from '@/utils';
import { useIntl } from '@umijs/max';
import { useDebounceFn } from 'ahooks';
import _ from 'lodash';
import { useEffect, useRef, useState } from 'react';
import { evaluationsModelSpec, queryGPUList } from '../apis';
@@ -513,7 +514,7 @@ export const useCheckCompatibility = () => {
cacheFormValuesRef.current = allValues;
const data = getSourceRepoConfigValue(source, allValues);
const gpuSelector = generateGPUIds(data.values);
await handleDoEvalute({
return await handleDoEvalute({
...data.values,
...gpuSelector
});
@@ -537,7 +538,10 @@ export const useCheckCompatibility = () => {
return res;
};
const debounceHandleValuesChange = _.debounce(handleOnValuesChange, 500);
const { run: debounceHandleValuesChange } = useDebounceFn(
handleOnValuesChange,
{ wait: 500 }
);
const cancelEvaluate = () => {
checkTokenRef.current?.cancel();
@@ -561,6 +565,7 @@ export const useCheckCompatibility = () => {
cancelEvaluate,
handleBackendChangeBefore,
handleOnValuesChange: debounceHandleValuesChange,
handleEvaluateOnChange: handleOnValuesChange,
warningStatus,
checkTokenRef,
submitAnyway