Переглянути джерело

Fix/rerank validation issue (#10131)

Co-authored-by: Yi <yxiaoisme@gmail.com>
tags/0.11.0
zxhlyh 1 рік тому
джерело
коміт
2ecdc54b0b
Аккаунт користувача з таким Email не знайдено

+ 16
- 0
web/app/components/app/configuration/dataset-config/index.tsx Переглянути файл

import type { DataSet } from '@/models/datasets' import type { DataSet } from '@/models/datasets'
import { import {
getMultipleRetrievalConfig, getMultipleRetrievalConfig,
getSelectedDatasetsMode,
} from '@/app/components/workflow/nodes/knowledge-retrieval/utils' } from '@/app/components/workflow/nodes/knowledge-retrieval/utils'
import { useModelListAndDefaultModelAndCurrentProviderAndModel } from '@/app/components/header/account-setting/model-provider-page/hooks' 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 { ModelTypeEnum } from '@/app/components/header/account-setting/model-provider-page/declarations'
isAgent, isAgent,
datasetConfigs, datasetConfigs,
setDatasetConfigs, setDatasetConfigs,
setRerankSettingModalOpen,
} = useContext(ConfigContext) } = useContext(ConfigContext)
const formattingChangedDispatcher = useFormattingChangedDispatcher() const formattingChangedDispatcher = useFormattingChangedDispatcher()


...(datasetConfigs as any), ...(datasetConfigs as any),
...retrievalConfig, ...retrievalConfig,
}) })
const {
allExternal,
allInternal,
mixtureInternalAndExternal,
mixtureHighQualityAndEconomic,
inconsistentEmbeddingModel,
} = getSelectedDatasetsMode(filteredDataSets)

if (
(allInternal && (mixtureHighQualityAndEconomic || inconsistentEmbeddingModel))
|| mixtureInternalAndExternal
|| allExternal
)
setRerankSettingModalOpen(true)
formattingChangedDispatcher() formattingChangedDispatcher()
} }



+ 1
- 1
web/app/components/app/configuration/dataset-config/params-config/config-content.tsx Переглянути файл

<div className='mt-2'> <div className='mt-2'>
<div className='flex items-center'> <div className='flex items-center'>
{ {
selectedDatasetsMode.allEconomic && (
selectedDatasetsMode.allEconomic && !selectedDatasetsMode.mixtureInternalAndExternal && (
<div <div
className='flex items-center' className='flex items-center'
onClick={handleDisabledSwitchClick} onClick={handleDisabledSwitchClick}

+ 8
- 2
web/app/components/app/configuration/dataset-config/params-config/index.tsx Переглянути файл

import Toast from '@/app/components/base/toast' import Toast from '@/app/components/base/toast'
import { useModelListAndDefaultModelAndCurrentProviderAndModel } from '@/app/components/header/account-setting/model-provider-page/hooks' 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 { ModelTypeEnum } from '@/app/components/header/account-setting/model-provider-page/declarations'
import { RerankingModeEnum } from '@/models/datasets'
import type { DataSet } from '@/models/datasets' import type { DataSet } from '@/models/datasets'
import type { DatasetConfigs } from '@/models/debug' import type { DatasetConfigs } from '@/models/debug'
import { import {
const isValid = () => { const isValid = () => {
let errMsg = '' let errMsg = ''
if (tempDataSetConfigs.retrieval_model === RETRIEVE_TYPE.multiWay) { if (tempDataSetConfigs.retrieval_model === RETRIEVE_TYPE.multiWay) {
if (!tempDataSetConfigs.reranking_model?.reranking_model_name && (rerankDefaultModel && !isRerankDefaultModelValid))
if (tempDataSetConfigs.reranking_enable
&& tempDataSetConfigs.reranking_mode === RerankingModeEnum.RerankingModel
&& !isRerankDefaultModelValid
)
errMsg = t('appDebug.datasetConfig.rerankModelRequired') errMsg = t('appDebug.datasetConfig.rerankModelRequired')
} }
if (errMsg) { if (errMsg) {
if (!isValid()) if (!isValid())
return return
const config = { ...tempDataSetConfigs } const config = { ...tempDataSetConfigs }
if (config.retrieval_model === RETRIEVE_TYPE.multiWay && !config.reranking_model) {
if (config.retrieval_model === RETRIEVE_TYPE.multiWay
&& config.reranking_mode === RerankingModeEnum.RerankingModel
&& !config.reranking_model) {
config.reranking_model = { config.reranking_model = {
reranking_provider_name: rerankDefaultModel?.provider?.provider, reranking_provider_name: rerankDefaultModel?.provider?.provider,
reranking_model_name: rerankDefaultModel?.model, reranking_model_name: rerankDefaultModel?.model,

+ 8
- 2
web/app/components/app/configuration/index.tsx Переглянути файл

} }
hideSelectDataSet() hideSelectDataSet()
const { const {
allEconomic,
allExternal,
allInternal,
mixtureInternalAndExternal,
mixtureHighQualityAndEconomic, mixtureHighQualityAndEconomic,
inconsistentEmbeddingModel, inconsistentEmbeddingModel,
} = getSelectedDatasetsMode(newDatasets) } = getSelectedDatasetsMode(newDatasets)


if (allEconomic || mixtureHighQualityAndEconomic || inconsistentEmbeddingModel)
if (
(allInternal && (mixtureHighQualityAndEconomic || inconsistentEmbeddingModel))
|| mixtureInternalAndExternal
|| allExternal
)
setRerankSettingModalOpen(true) setRerankSettingModalOpen(true)


const { datasets, retrieval_model, score_threshold_enabled, ...restConfigs } = datasetConfigs const { datasets, retrieval_model, score_threshold_enabled, ...restConfigs } = datasetConfigs

+ 1
- 1
web/app/components/workflow/nodes/knowledge-retrieval/use-config.ts Переглянути файл

if ( if (
(allInternal && (mixtureHighQualityAndEconomic || inconsistentEmbeddingModel)) (allInternal && (mixtureHighQualityAndEconomic || inconsistentEmbeddingModel))
|| mixtureInternalAndExternal || mixtureInternalAndExternal
|| (allExternal && newDatasets.length > 1)
|| allExternal
) )
setRerankModelOpen(true) setRerankModelOpen(true)
}, [inputs, setInputs, payload.retrieval_mode, selectedDatasets, currentRerankModel]) }, [inputs, setInputs, payload.retrieval_mode, selectedDatasets, currentRerankModel])

Завантаження…
Відмінити
Зберегти