perf: async bug in llm form

This commit is contained in:
Junyan Qin
2025-05-14 15:37:58 +08:00
parent 39f9400de7
commit bf51afedf6

View File

@@ -132,38 +132,42 @@ export default function LLMForm({
>([]); >([]);
useEffect(() => { useEffect(() => {
initLLMModelFormComponent(); initLLMModelFormComponent().then(() => {
if (editMode && initLLMId) { if (editMode && initLLMId) {
getLLMConfig(initLLMId).then((val) => { getLLMConfig(initLLMId).then((val) => {
form.setValue('name', val.name); form.setValue('name', val.name);
form.setValue('model_provider', val.model_provider); form.setValue('model_provider', val.model_provider);
form.setValue('url', val.url); form.setValue('url', val.url);
form.setValue('api_key', val.api_key); form.setValue('api_key', val.api_key);
form.setValue('abilities', val.abilities as ('vision' | 'func_call')[]); form.setValue(
// 转换extra_args为新格式 'abilities',
if (val.extra_args) { val.abilities as ('vision' | 'func_call')[],
const args = val.extra_args.map((arg) => { );
const [key, value] = arg.split(':'); // 转换extra_args为新格式
let type: 'string' | 'number' | 'boolean' = 'string'; if (val.extra_args) {
if (!isNaN(Number(value))) { const args = val.extra_args.map((arg) => {
type = 'number'; const [key, value] = arg.split(':');
} else if (value === 'true' || value === 'false') { let type: 'string' | 'number' | 'boolean' = 'string';
type = 'boolean'; if (!isNaN(Number(value))) {
} type = 'number';
return { } else if (value === 'true' || value === 'false') {
key, type = 'boolean';
type, }
value, return {
}; key,
}); type,
setExtraArgs(args); value,
form.setValue('extra_args', args); };
} });
}); setExtraArgs(args);
} else { form.setValue('extra_args', args);
form.reset(); }
} });
// eslint-disable-next-line react-hooks/exhaustive-deps } else {
form.reset();
}
// eslint-disable-next-line react-hooks/exhaustive-deps
});
}, []); }, []);
const addExtraArg = () => { const addExtraArg = () => {