diff --git a/web/app/components/workflow/nodes/parameter-extractor/use-config.ts b/web/app/components/workflow/nodes/parameter-extractor/use-config.ts index c7535de38e..045737b230 100644 --- a/web/app/components/workflow/nodes/parameter-extractor/use-config.ts +++ b/web/app/components/workflow/nodes/parameter-extractor/use-config.ts @@ -17,9 +17,6 @@ import useNodeCrud from '@/app/components/workflow/nodes/_base/hooks/use-node-cr import { checkHasQueryBlock } from '@/app/components/base/prompt-editor/constants' import useAvailableVarList from '@/app/components/workflow/nodes/_base/hooks/use-available-var-list' import { supportFunctionCall } from '@/utils/tool-call' -import { mergeValidCompletionParams } from '@/utils/completion-params' -import { fetchModelParameterRules } from '@/service/common' -import Toast from '@/app/components/base/toast' const useConfig = (id: string, payload: ParameterExtractorNodeType) => { const { nodesReadOnly: readOnly } = useNodesReadOnly() @@ -120,31 +117,16 @@ const useConfig = (id: string, payload: ParameterExtractorNodeType) => { } = useModelListAndDefaultModelAndCurrentProviderAndModel(ModelTypeEnum.textGeneration) const handleModelChanged = useCallback((model: { provider: string; modelId: string; mode?: string }) => { - (async () => { - const newInputs = produce(inputRef.current, (draft) => { - draft.model.provider = model.provider - draft.model.name = model.modelId - draft.model.mode = model.mode! - const isModeChange = model.mode !== inputRef.current.model?.mode - if (isModeChange && defaultConfig && Object.keys(defaultConfig).length > 0) - appendDefaultPromptConfig(draft, defaultConfig, model.mode === 'chat') - }) - - // filter completion params - try { - const url = `/workspaces/current/model-providers/${model.provider}/models/parameter-rules?model=${model.modelId}` - const { data: parameterRules } = await fetchModelParameterRules(url) - const { params: filtered, removedDetails } = mergeValidCompletionParams(inputRef.current.model.completion_params, parameterRules ?? []) - if (Object.keys(removedDetails).length) - Toast.notify({ type: 'warning', message: `${t('common.modelProvider.parametersInvalidRemoved')}: ` + Object.entries(removedDetails).map(([k, reason]) => `${k} (${reason})`).join(', ') }) - newInputs.model.completion_params = filtered - } - catch { - // ignore errors - } - setInputs(newInputs) - setModelChanged(true) - })() + const newInputs = produce(inputRef.current, (draft) => { + draft.model.provider = model.provider + draft.model.name = model.modelId + draft.model.mode = model.mode! + const isModeChange = model.mode !== inputRef.current.model?.mode + if (isModeChange && defaultConfig && Object.keys(defaultConfig).length > 0) + appendDefaultPromptConfig(draft, defaultConfig, model.mode === 'chat') + }) + setInputs(newInputs) + setModelChanged(true) }, [setInputs, defaultConfig, appendDefaultPromptConfig]) useEffect(() => { diff --git a/web/app/components/workflow/nodes/question-classifier/use-config.ts b/web/app/components/workflow/nodes/question-classifier/use-config.ts index 056bacd84c..7df8293b40 100644 --- a/web/app/components/workflow/nodes/question-classifier/use-config.ts +++ b/web/app/components/workflow/nodes/question-classifier/use-config.ts @@ -15,9 +15,6 @@ import useOneStepRun from '@/app/components/workflow/nodes/_base/hooks/use-one-s import { useModelListAndDefaultModelAndCurrentProviderAndModel } from '@/app/components/header/account-setting/model-provider-page/hooks' import { ModelTypeEnum } from '@/app/components/header/account-setting/model-provider-page/declarations' import { checkHasQueryBlock } from '@/app/components/base/prompt-editor/constants' -import { mergeValidCompletionParams } from '@/utils/completion-params' -import { fetchModelParameterRules } from '@/service/common' -import Toast from '@/app/components/base/toast' const useConfig = (id: string, payload: QuestionClassifierNodeType) => { const { nodesReadOnly: readOnly } = useNodesReadOnly() @@ -58,26 +55,13 @@ const useConfig = (id: string, payload: QuestionClassifierNodeType) => { }) const handleModelChanged = useCallback((model: { provider: string; modelId: string; mode?: string }) => { - (async () => { - const newInputs = produce(inputRef.current, (draft) => { - draft.model.provider = model.provider - draft.model.name = model.modelId - draft.model.mode = model.mode! - }) - try { - const url = `/workspaces/current/model-providers/${model.provider}/models/parameter-rules?model=${model.modelId}` - const { data: parameterRules } = await fetchModelParameterRules(url) - const { params: filtered, removedDetails } = mergeValidCompletionParams(inputRef.current.model.completion_params, parameterRules ?? []) - if (Object.keys(removedDetails).length) - Toast.notify({ type: 'warning', message: `${t('common.modelProvider.parametersInvalidRemoved')}: ` + Object.entries(removedDetails).map(([k, reason]) => `${k} (${reason})`).join(', ') }) - newInputs.model.completion_params = filtered - } - catch { - // ignore - } - setInputs(newInputs) - setModelChanged(true) - })() + const newInputs = produce(inputRef.current, (draft) => { + draft.model.provider = model.provider + draft.model.name = model.modelId + draft.model.mode = model.mode! + }) + setInputs(newInputs) + setModelChanged(true) }, [setInputs]) useEffect(() => {