fix: image default seed

This commit is contained in:
jialin
2025-12-19 20:33:25 +08:00
parent 79ccb96c95
commit 8008099e71
5 changed files with 33 additions and 31 deletions
@@ -8,8 +8,7 @@ import React, {
useCallback,
useEffect,
useId,
useImperativeHandle,
useMemo
useImperativeHandle
} from 'react';
import { ParamsSchema } from '../config/types';
@@ -36,8 +35,6 @@ const ParamsSettings: React.FC<ParamsSettingsProps> = forwardRef(
initialValues,
paramsConfig,
modelList,
watchFields,
formFields,
showModelSelector = true,
extra
},
@@ -102,12 +99,12 @@ const ParamsSettings: React.FC<ParamsSettingsProps> = forwardRef(
[intl]
);
const renderFields = useMemo(() => {
const renderFields = () => {
if (!paramsConfig?.length) {
return null;
}
console.log('renderFields---------');
const formValues = form?.getFieldsValue();
const values = form.getFieldsValue();
const formValues = _.isEmpty(values) ? initialValues || {} : values;
return paramsConfig?.map((item: ParamsSchema) => {
return (
<Form.Item
@@ -136,7 +133,7 @@ const ParamsSettings: React.FC<ParamsSettingsProps> = forwardRef(
</Form.Item>
);
});
}, [formFields, paramsConfig, intl, watchFields]);
};
return (
<Form
@@ -185,7 +182,7 @@ const ParamsSettings: React.FC<ParamsSettingsProps> = forwardRef(
)}
</>
}
{renderFields}
{renderFields()}
{extra}
</div>
</Form>
@@ -49,7 +49,6 @@ const GroundImages: React.FC<MessageProps> = forwardRef((props, ref) => {
handleToggleParamsStyle,
setParams,
form,
watchFields,
formFields,
paramsConfig,
initialValues,
@@ -142,7 +141,7 @@ const GroundImages: React.FC<MessageProps> = forwardRef((props, ref) => {
const generateParams = () => {
const params = {
..._.omitBy(finalParameters, (value: string) => !value),
seed: parameters.random_seed ? generateRandomNumber() : parameters.seed,
seed: parameters.random_seed ? generateRandomNumber() : null,
stream: false,
prompt: currentPrompt
};
@@ -272,7 +271,6 @@ const GroundImages: React.FC<MessageProps> = forwardRef((props, ref) => {
<div className="box">
<DynamicParams
ref={form}
watchFields={watchFields}
formFields={formFields}
parametersTitle={
<div className="flex-between flex-center">
@@ -77,7 +77,6 @@ const GroundImages: React.FC<MessageProps> = forwardRef((props, ref) => {
setParamsConfig,
form,
modelMeta,
watchFields,
formFields,
paramsConfig,
initialValues,
@@ -167,7 +166,7 @@ const GroundImages: React.FC<MessageProps> = forwardRef((props, ref) => {
const generateParams = () => {
const params = {
..._.omitBy(finalParameters, (value: string) => !value),
seed: parameters.random_seed ? generateRandomNumber() : parameters.seed,
seed: parameters.random_seed ? generateRandomNumber() : null,
stream: false,
prompt: currentPrompt
};
@@ -518,7 +517,6 @@ const GroundImages: React.FC<MessageProps> = forwardRef((props, ref) => {
<div className="box">
<DynamicParams
ref={form}
watchFields={watchFields}
formFields={formFields}
parametersTitle={
<div className="flex-between flex-center">
+9 -9
View File
@@ -51,15 +51,15 @@ export const llmInitialValues = {
};
export const advancedFieldsDefaultValus = {
seed: null,
sample_method: 'euler_a',
cfg_scale: 4.5,
guidance: 3.5,
sampling_steps: 10,
negative_prompt: null,
strength: null,
schedule_method: 'discrete',
preview: 'preview_faster'
seed: null
// sample_method: 'euler_a',
// cfg_scale: 4.5,
// guidance: 3.5,
// sampling_steps: 10,
// negative_prompt: null,
// strength: null,
// schedule_method: 'discrete',
// preview: 'preview_faster'
};
export const openaiCompatibleFieldsDefaultValus = {
+16 -7
View File
@@ -8,8 +8,8 @@ import {
ImageAdvancedParamsConfig as ImgAdvancedParamsConfig,
imageSizeOptions as imageSizeList
} from '@/pages/playground/config/params-config';
import { generateRandomNumber } from '@/utils';
import { useSearchParams } from '@umijs/max';
import { Form } from 'antd';
import _ from 'lodash';
import React, {
useCallback,
@@ -229,6 +229,8 @@ export const useInitImageMeta = (
const [initialValues, setInitialValues] = useState<any>({
...imgInitialValues,
...advancedFieldsDefaultValus,
seed: generateRandomNumber(),
random_seed: true,
model: ''
});
const [paramsConfig, setParamsConfig] = useState<ParamsSchema[]>([
@@ -240,6 +242,8 @@ export const useInitImageMeta = (
const [parameters, setParams] = useState<any>({
...imgInitialValues,
...advancedFieldsDefaultValus,
seed: generateRandomNumber(),
random_seed: true,
model: ''
});
@@ -252,11 +256,6 @@ export const useInitImageMeta = (
...openaiCompatibleFieldsDefaultValus,
...advancedFieldsDefaultValus
});
const randomSeed = Form.useWatch('random_seed', form.current?.form);
const watchFields = useMemo(() => {
return ['random_seed'];
}, [randomSeed]);
const getNewImageSizeOptions = (metaData: any) => {
const { max_height, max_width } = metaData || {};
@@ -436,6 +435,7 @@ export const useInitImageMeta = (
const handleOnValuesChange = useCallback(
(changeValues: Record<string, any>, allValues: Record<string, any>) => {
console.log('changeValues', changeValues);
// model change will reset all values
if (changeValues.model) {
handleOnModelChange(changeValues.model);
@@ -469,6 +469,16 @@ export const useInitImageMeta = (
]);
setParams(allValues);
updateCacheFormData(changeValues);
} else if (_.isBoolean(changeValues.random_seed)) {
const seed = changeValues.random_seed ? generateRandomNumber() : null;
setParams({
...allValues,
seed: seed
});
form.current?.form?.setFieldsValue({
seed: seed
});
updateCacheFormData(changeValues);
} else {
setParams(allValues);
updateCacheFormData(changeValues);
@@ -503,7 +513,6 @@ export const useInitImageMeta = (
form,
modelMeta,
formFields,
watchFields,
paramsConfig,
initialValues,
parameters,