|  | @@ -16,7 +16,6 @@ import type { DataSet } from '@/models/datasets'
 | 
	
		
			
				|  |  |  import type { DatasetConfigs } from '@/models/debug'
 | 
	
		
			
				|  |  |  import {
 | 
	
		
			
				|  |  |    getMultipleRetrievalConfig,
 | 
	
		
			
				|  |  | -  getSelectedDatasetsMode,
 | 
	
		
			
				|  |  |  } from '@/app/components/workflow/nodes/knowledge-retrieval/utils'
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  type ParamsConfigProps = {
 | 
	
	
		
			
				|  | @@ -37,57 +36,8 @@ const ParamsConfig = ({
 | 
	
		
			
				|  |  |    const [tempDataSetConfigs, setTempDataSetConfigs] = useState(datasetConfigs)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    useEffect(() => {
 | 
	
		
			
				|  |  | -    const {
 | 
	
		
			
				|  |  | -      allEconomic,
 | 
	
		
			
				|  |  | -      allHighQuality,
 | 
	
		
			
				|  |  | -      allHighQualityFullTextSearch,
 | 
	
		
			
				|  |  | -      allHighQualityVectorSearch,
 | 
	
		
			
				|  |  | -      allExternal,
 | 
	
		
			
				|  |  | -      mixtureHighQualityAndEconomic,
 | 
	
		
			
				|  |  | -      inconsistentEmbeddingModel,
 | 
	
		
			
				|  |  | -      mixtureInternalAndExternal,
 | 
	
		
			
				|  |  | -    } = getSelectedDatasetsMode(selectedDatasets)
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    if (allEconomic || allHighQuality || allHighQualityFullTextSearch || allHighQualityVectorSearch || (allExternal && selectedDatasets.length === 1))
 | 
	
		
			
				|  |  | -      setRerankSettingModalOpen(false)
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    if (mixtureHighQualityAndEconomic || inconsistentEmbeddingModel || mixtureInternalAndExternal || (allExternal && selectedDatasets.length > 1))
 | 
	
		
			
				|  |  | -      setRerankSettingModalOpen(true)
 | 
	
		
			
				|  |  | -  }, [selectedDatasets])
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  useEffect(() => {
 | 
	
		
			
				|  |  | -    const {
 | 
	
		
			
				|  |  | -      allEconomic,
 | 
	
		
			
				|  |  | -      allInternal,
 | 
	
		
			
				|  |  | -      allExternal,
 | 
	
		
			
				|  |  | -    } = getSelectedDatasetsMode(selectedDatasets)
 | 
	
		
			
				|  |  | -    const { datasets, retrieval_model, score_threshold_enabled, ...restConfigs } = datasetConfigs
 | 
	
		
			
				|  |  | -    let rerankEnable = restConfigs.reranking_enable
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    if (((allInternal && allEconomic) || allExternal) && !restConfigs.reranking_model?.reranking_provider_name && rerankEnable === undefined)
 | 
	
		
			
				|  |  | -      rerankEnable = false
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    setTempDataSetConfigs({
 | 
	
		
			
				|  |  | -      ...getMultipleRetrievalConfig({
 | 
	
		
			
				|  |  | -        top_k: restConfigs.top_k,
 | 
	
		
			
				|  |  | -        score_threshold: restConfigs.score_threshold,
 | 
	
		
			
				|  |  | -        reranking_model: restConfigs.reranking_model && {
 | 
	
		
			
				|  |  | -          provider: restConfigs.reranking_model.reranking_provider_name,
 | 
	
		
			
				|  |  | -          model: restConfigs.reranking_model.reranking_model_name,
 | 
	
		
			
				|  |  | -        },
 | 
	
		
			
				|  |  | -        reranking_mode: restConfigs.reranking_mode,
 | 
	
		
			
				|  |  | -        weights: restConfigs.weights,
 | 
	
		
			
				|  |  | -        reranking_enable: rerankEnable,
 | 
	
		
			
				|  |  | -      }, selectedDatasets),
 | 
	
		
			
				|  |  | -      reranking_model: restConfigs.reranking_model && {
 | 
	
		
			
				|  |  | -        reranking_provider_name: restConfigs.reranking_model.reranking_provider_name,
 | 
	
		
			
				|  |  | -        reranking_model_name: restConfigs.reranking_model.reranking_model_name,
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      retrieval_model,
 | 
	
		
			
				|  |  | -      score_threshold_enabled,
 | 
	
		
			
				|  |  | -      datasets,
 | 
	
		
			
				|  |  | -    })
 | 
	
		
			
				|  |  | -  }, [selectedDatasets, datasetConfigs])
 | 
	
		
			
				|  |  | +    setTempDataSetConfigs(datasetConfigs)
 | 
	
		
			
				|  |  | +  }, [datasetConfigs])
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    const {
 | 
	
		
			
				|  |  |      defaultModel: rerankDefaultModel,
 | 
	
	
		
			
				|  | @@ -135,7 +85,7 @@ const ParamsConfig = ({
 | 
	
		
			
				|  |  |        reranking_mode: restConfigs.reranking_mode,
 | 
	
		
			
				|  |  |        weights: restConfigs.weights,
 | 
	
		
			
				|  |  |        reranking_enable: restConfigs.reranking_enable,
 | 
	
		
			
				|  |  | -    }, selectedDatasets)
 | 
	
		
			
				|  |  | +    }, selectedDatasets, selectedDatasets, !!isRerankDefaultModelValid)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      setTempDataSetConfigs({
 | 
	
		
			
				|  |  |        ...retrievalConfig,
 | 
	
	
		
			
				|  | @@ -180,6 +130,7 @@ const ParamsConfig = ({
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              <div className='mt-6 flex justify-end'>
 | 
	
		
			
				|  |  |                <Button className='mr-2 flex-shrink-0' onClick={() => {
 | 
	
		
			
				|  |  | +                setTempDataSetConfigs(datasetConfigs)
 | 
	
		
			
				|  |  |                  setRerankSettingModalOpen(false)
 | 
	
		
			
				|  |  |                }}>{t('common.operation.cancel')}</Button>
 | 
	
		
			
				|  |  |                <Button variant='primary' className='flex-shrink-0' onClick={handleSave} >{t('common.operation.save')}</Button>
 |