### What problem does this PR solve? Feat: remove useSetLlmSetting from GenerateForm #3591 ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)tags/v0.14.0
| @@ -594,8 +594,8 @@ The above is the content you need to summarize.`, | |||
| updateDate: 'Update Date', | |||
| role: 'Role', | |||
| invite: 'Invite', | |||
| agree: 'Agree', | |||
| refuse: 'Refuse', | |||
| agree: 'Accept', | |||
| refuse: 'Decline', | |||
| teamMembers: 'Team Members', | |||
| joinedTeams: 'Joined Teams', | |||
| }, | |||
| @@ -2,7 +2,6 @@ import LLMSelect from '@/components/llm-select'; | |||
| import MessageHistoryWindowSizeItem from '@/components/message-history-window-size-item'; | |||
| import { useTranslate } from '@/hooks/common-hooks'; | |||
| import { Form } from 'antd'; | |||
| import { useSetLlmSetting } from '../../hooks'; | |||
| import { IOperatorForm } from '../../interface'; | |||
| import DynamicInputVariable from '../components/dynamic-input-variable'; | |||
| import DynamicCategorize from './dynamic-categorize'; | |||
| @@ -15,7 +14,6 @@ const CategorizeForm = ({ form, onValuesChange, node }: IOperatorForm) => { | |||
| nodeId: node?.id, | |||
| onValuesChange, | |||
| }); | |||
| useSetLlmSetting(form); | |||
| return ( | |||
| <Form | |||
| @@ -2,15 +2,12 @@ import LLMSelect from '@/components/llm-select'; | |||
| import MessageHistoryWindowSizeItem from '@/components/message-history-window-size-item'; | |||
| import { useTranslate } from '@/hooks/common-hooks'; | |||
| import { Form, Input, Switch } from 'antd'; | |||
| import { useSetLlmSetting } from '../../hooks'; | |||
| import { IOperatorForm } from '../../interface'; | |||
| import DynamicParameters from './dynamic-parameters'; | |||
| const GenerateForm = ({ onValuesChange, form, node }: IOperatorForm) => { | |||
| const { t } = useTranslate('flow'); | |||
| useSetLlmSetting(form); | |||
| return ( | |||
| <Form | |||
| name="basic" | |||
| @@ -1,7 +1,6 @@ | |||
| import Editor from '@monaco-editor/react'; | |||
| import { Form, Input, InputNumber, Select, Space, Switch } from 'antd'; | |||
| import { useTranslation } from 'react-i18next'; | |||
| import { useSetLlmSetting } from '../../hooks'; | |||
| import { IOperatorForm } from '../../interface'; | |||
| import DynamicVariablesForm from './dynamic-variables'; | |||
| @@ -33,8 +32,6 @@ const TimeoutInput = ({ value, onChange }: TimeoutInputProps) => { | |||
| const InvokeForm = ({ onValuesChange, form, node }: IOperatorForm) => { | |||
| const { t } = useTranslation(); | |||
| useSetLlmSetting(form); | |||
| return ( | |||
| <> | |||
| <Form | |||
| @@ -2,15 +2,12 @@ import LLMSelect from '@/components/llm-select'; | |||
| import TopNItem from '@/components/top-n-item'; | |||
| import { useTranslate } from '@/hooks/common-hooks'; | |||
| import { Form } from 'antd'; | |||
| import { useSetLlmSetting } from '../../hooks'; | |||
| import { IOperatorForm } from '../../interface'; | |||
| import DynamicInputVariable from '../components/dynamic-input-variable'; | |||
| const KeywordExtractForm = ({ onValuesChange, form, node }: IOperatorForm) => { | |||
| const { t } = useTranslate('flow'); | |||
| useSetLlmSetting(form); | |||
| return ( | |||
| <Form | |||
| name="basic" | |||
| @@ -3,13 +3,11 @@ import { useTranslate } from '@/hooks/common-hooks'; | |||
| import { Form, Select } from 'antd'; | |||
| import { Operator } from '../../constant'; | |||
| import { useBuildFormSelectOptions } from '../../form-hooks'; | |||
| import { useSetLlmSetting } from '../../hooks'; | |||
| import { IOperatorForm } from '../../interface'; | |||
| import { useWatchConnectionChanges } from './hooks'; | |||
| const RelevantForm = ({ onValuesChange, form, node }: IOperatorForm) => { | |||
| const { t } = useTranslate('flow'); | |||
| useSetLlmSetting(form); | |||
| const buildRelevantOptions = useBuildFormSelectOptions( | |||
| Operator.Relevant, | |||
| node?.id, | |||
| @@ -1,12 +1,10 @@ | |||
| import LLMSelect from '@/components/llm-select'; | |||
| import { useTranslate } from '@/hooks/common-hooks'; | |||
| import { Form, InputNumber } from 'antd'; | |||
| import { useSetLlmSetting } from '../../hooks'; | |||
| import { IOperatorForm } from '../../interface'; | |||
| const RewriteQuestionForm = ({ onValuesChange, form }: IOperatorForm) => { | |||
| const { t } = useTranslate('chat'); | |||
| useSetLlmSetting(form); | |||
| return ( | |||
| <Form | |||
| @@ -23,7 +23,7 @@ import { FormInstance, message } from 'antd'; | |||
| import { DefaultOptionType } from 'antd/es/select'; | |||
| import dayjs from 'dayjs'; | |||
| import { humanId } from 'human-id'; | |||
| import { get, lowerFirst } from 'lodash'; | |||
| import { get, isEmpty, lowerFirst, pick } from 'lodash'; | |||
| import trim from 'lodash/trim'; | |||
| import { useTranslation } from 'react-i18next'; | |||
| import { useParams } from 'umi'; | |||
| @@ -349,24 +349,31 @@ export const useFlowIsFetching = () => { | |||
| return useIsFetching({ queryKey: ['flowDetail'] }) > 0; | |||
| }; | |||
| export const useSetLlmSetting = (form?: FormInstance) => { | |||
| const initialLlmSetting = undefined; | |||
| export const useSetLlmSetting = ( | |||
| form?: FormInstance, | |||
| formData?: Record<string, any>, | |||
| ) => { | |||
| const initialLlmSetting = pick( | |||
| formData, | |||
| Object.values(variableEnabledFieldMap), | |||
| ); | |||
| useEffect(() => { | |||
| const switchBoxValues = Object.keys(variableEnabledFieldMap).reduce< | |||
| Record<string, boolean> | |||
| >((pre, field) => { | |||
| pre[field] = | |||
| initialLlmSetting === undefined | |||
| ? true | |||
| : !!initialLlmSetting[ | |||
| variableEnabledFieldMap[ | |||
| field as keyof typeof variableEnabledFieldMap | |||
| ] as keyof Variable | |||
| ]; | |||
| pre[field] = isEmpty(initialLlmSetting) | |||
| ? true | |||
| : !!initialLlmSetting[ | |||
| variableEnabledFieldMap[ | |||
| field as keyof typeof variableEnabledFieldMap | |||
| ] as keyof Variable | |||
| ]; | |||
| return pre; | |||
| }, {}); | |||
| const otherValues = settledModelVariableMap[ModelVariableType.Precise]; | |||
| let otherValues = settledModelVariableMap[ModelVariableType.Precise]; | |||
| if (!isEmpty(initialLlmSetting)) { | |||
| otherValues = initialLlmSetting; | |||
| } | |||
| form?.setFieldsValue({ | |||
| ...switchBoxValues, | |||
| ...otherValues, | |||