|
@@ -1,4 +1,6 @@
|
|
|
<script lang="ts" setup>
|
|
<script lang="ts" setup>
|
|
|
|
|
+import type { RadioGroupProps } from 'ant-design-vue';
|
|
|
|
|
+
|
|
|
import type { FormLayout } from '@vben/common-ui';
|
|
import type { FormLayout } from '@vben/common-ui';
|
|
|
|
|
|
|
|
import type { CollapsibleParamSchema } from '@vben-core/shadcn-ui';
|
|
import type { CollapsibleParamSchema } from '@vben-core/shadcn-ui';
|
|
@@ -15,12 +17,12 @@ import { useVbenForm, z } from '#/adapter/form';
|
|
|
|
|
|
|
|
import DocButton from '../doc-button.vue';
|
|
import DocButton from '../doc-button.vue';
|
|
|
|
|
|
|
|
-const layouts: { label: string; value: FormLayout }[] = [
|
|
|
|
|
|
|
+const layouts: RadioGroupProps['options'] = [
|
|
|
{ label: 'Vertical', value: 'vertical' },
|
|
{ label: 'Vertical', value: 'vertical' },
|
|
|
{ label: 'Horizontal', value: 'horizontal' },
|
|
{ label: 'Horizontal', value: 'horizontal' },
|
|
|
];
|
|
];
|
|
|
|
|
|
|
|
-const layout = ref(layouts[0]?.value ?? 'vertical');
|
|
|
|
|
|
|
+const layout = ref<FormLayout>('vertical');
|
|
|
|
|
|
|
|
function getNumberValidator(key: string, limit?: [number?, number?]) {
|
|
function getNumberValidator(key: string, limit?: [number?, number?]) {
|
|
|
let validator = z.number({
|
|
let validator = z.number({
|
|
@@ -144,13 +146,16 @@ const [BaseForm, baseFormApi] = useVbenForm({
|
|
|
class: 'w-auto',
|
|
class: 'w-auto',
|
|
|
},
|
|
},
|
|
|
label: 'QAT',
|
|
label: 'QAT',
|
|
|
|
|
+ formItemClass: 'col-span-2',
|
|
|
defaultValue: false,
|
|
defaultValue: false,
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- component: VbenCollapsibleParams,
|
|
|
|
|
|
|
+ component: 'CollapsibleParams',
|
|
|
componentProps: {
|
|
componentProps: {
|
|
|
params: paramsSchema,
|
|
params: paramsSchema,
|
|
|
// maxHeight: 200, //限制最大高度,展开后可滚动
|
|
// maxHeight: 200, //限制最大高度,展开后可滚动
|
|
|
|
|
+ // defaultOpen: true, // 默认false折叠
|
|
|
|
|
+ // visibleCount: 0 // 默认3,最小可见为1,小于1取1
|
|
|
},
|
|
},
|
|
|
modelPropName: 'value',
|
|
modelPropName: 'value',
|
|
|
fieldName: 'params',
|
|
fieldName: 'params',
|
|
@@ -194,7 +199,6 @@ const [BaseForm, baseFormApi] = useVbenForm({
|
|
|
} else {
|
|
} else {
|
|
|
paramsRef?.updateValues?.({
|
|
paramsRef?.updateValues?.({
|
|
|
calib_steps: null,
|
|
calib_steps: null,
|
|
|
- micro_batch_size: 8,
|
|
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
@@ -208,9 +212,15 @@ const [BaseForm, baseFormApi] = useVbenForm({
|
|
|
},
|
|
},
|
|
|
},
|
|
},
|
|
|
rules: paramsValidator,
|
|
rules: paramsValidator,
|
|
|
- // defaultValue: {
|
|
|
|
|
- // micro_batch_size: 24,
|
|
|
|
|
- // },
|
|
|
|
|
|
|
+ defaultValue: {
|
|
|
|
|
+ micro_batch_size: 8,
|
|
|
|
|
+ learning_rate: 1e-5,
|
|
|
|
|
+ eval_steps: 50,
|
|
|
|
|
+ num_train_epochs: 3,
|
|
|
|
|
+ max_length: 32_768,
|
|
|
|
|
+ warmup_ratio: 0.05,
|
|
|
|
|
+ save_steps: 50,
|
|
|
|
|
+ },
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
component: 'RichEditor',
|
|
component: 'RichEditor',
|
|
@@ -230,21 +240,21 @@ function onSubmit(values: Record<string, any>) {
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-function onLayoutChange(layout: FormLayout) {
|
|
|
|
|
|
|
+function onLayoutChange() {
|
|
|
baseFormApi.setState({
|
|
baseFormApi.setState({
|
|
|
- layout,
|
|
|
|
|
|
|
+ layout: layout.value,
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
function handleSetFormValue() {
|
|
function handleSetFormValue() {
|
|
|
baseFormApi.setFieldValue('params', {
|
|
baseFormApi.setFieldValue('params', {
|
|
|
- micro_batch_size: 8,
|
|
|
|
|
|
|
+ micro_batch_size: 1024,
|
|
|
learning_rate: 1e-5,
|
|
learning_rate: 1e-5,
|
|
|
- eval_steps: 50,
|
|
|
|
|
- num_train_epochs: 3,
|
|
|
|
|
- max_length: 32_768,
|
|
|
|
|
|
|
+ eval_steps: 150,
|
|
|
|
|
+ num_train_epochs: 13,
|
|
|
|
|
+ max_length: 131_072,
|
|
|
warmup_ratio: 0.05,
|
|
warmup_ratio: 0.05,
|
|
|
- save_steps: 50,
|
|
|
|
|
|
|
+ save_steps: 150,
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -282,7 +292,7 @@ async function handleSubmitFormValue() {
|
|
|
:options="layouts"
|
|
:options="layouts"
|
|
|
option-type="button"
|
|
option-type="button"
|
|
|
v-model:value="layout"
|
|
v-model:value="layout"
|
|
|
- @update:value="onLayoutChange"
|
|
|
|
|
|
|
+ @change="onLayoutChange"
|
|
|
/>
|
|
/>
|
|
|
<Button type="primary" @click="handleSetFormValue">
|
|
<Button type="primary" @click="handleSetFormValue">
|
|
|
设置表单值
|
|
设置表单值
|