diff --git a/web/app/components/app/configuration/dataset-config/params-config/config-content.tsx b/web/app/components/app/configuration/dataset-config/params-config/config-content.tsx index 0081ca03df..1fa9345102 100644 --- a/web/app/components/app/configuration/dataset-config/params-config/config-content.tsx +++ b/web/app/components/app/configuration/dataset-config/params-config/config-content.tsx @@ -37,9 +37,7 @@ const ConfigContent: FC = ({ const { modelList: rerankModelList, defaultModel: rerankDefaultModel, - currentModel: isRerankDefaultModelVaild, } = useModelListAndDefaultModelAndCurrentProviderAndModel(3) - const rerankModel = (() => { if (datasetConfigs.reranking_model) { return { diff --git a/web/app/components/base/param-item/index.tsx b/web/app/components/base/param-item/index.tsx index ae0a27a3b9..59f91f8ace 100644 --- a/web/app/components/base/param-item/index.tsx +++ b/web/app/components/base/param-item/index.tsx @@ -48,7 +48,7 @@ const ParamItem: FC = ({ className, id, name, noTooltip, tip, step = 0.1,
- { + { const value = parseFloat(e.target.value) if (value < min || value > max) return diff --git a/web/app/components/header/account-setting/model-provider-page/model-selector/index.tsx b/web/app/components/header/account-setting/model-provider-page/model-selector/index.tsx index 7691454aaf..c6dd76a04f 100644 --- a/web/app/components/header/account-setting/model-provider-page/model-selector/index.tsx +++ b/web/app/components/header/account-setting/model-provider-page/model-selector/index.tsx @@ -96,7 +96,7 @@ const ModelSelector: FC = ({ ) } - + = ({ const [open, setOpen] = useState(false) + const { + defaultModel: rerankDefaultModel, + currentModel: isRerankDefaultModelVaild, + } = useModelListAndDefaultModelAndCurrentProviderAndModel(3) + const { multiple_retrieval_config } = payload const handleChange = useCallback((configs: DatasetConfigs, isRetrievalModeChange?: boolean) => { if (isRetrievalModeChange) { @@ -43,11 +50,18 @@ const RetrievalConfig: FC = ({ } onMultipleRetrievalConfigChange({ top_k: configs.top_k, - score_threshold: configs.score_threshold_enabled ? configs.score_threshold : null, - reranking_model: { - provider: configs.reranking_model?.reranking_provider_name, - model: configs.reranking_model?.reranking_model_name, - }, + score_threshold: configs.score_threshold_enabled ? (configs.score_threshold || DATASET_DEFAULT.score_threshold) : null, + reranking_model: payload.retrieval_mode === RETRIEVE_TYPE.oneWay + ? undefined + : (!configs.reranking_model?.reranking_provider_name + ? { + provider: rerankDefaultModel?.provider?.provider || '', + model: rerankDefaultModel?.model || '', + } + : { + provider: configs.reranking_model?.reranking_provider_name, + model: configs.reranking_model?.reranking_model_name, + }), }) }, [onRetrievalModeChange, onMultipleRetrievalConfigChange]) @@ -75,13 +89,18 @@ const RetrievalConfig: FC = ({ datasetConfigs={ { retrieval_model: payload.retrieval_mode, - reranking_model: { - reranking_provider_name: multiple_retrieval_config?.reranking_model?.provider || '', - reranking_model_name: multiple_retrieval_config?.reranking_model?.model || '', - }, - top_k: multiple_retrieval_config?.top_k || 5, + reranking_model: !multiple_retrieval_config?.reranking_model?.provider + ? { + reranking_provider_name: rerankDefaultModel?.provider?.provider || '', + reranking_model_name: rerankDefaultModel?.model || '', + } + : { + reranking_provider_name: multiple_retrieval_config?.reranking_model?.provider || '', + reranking_model_name: multiple_retrieval_config?.reranking_model?.model || '', + }, + top_k: multiple_retrieval_config?.top_k || DATASET_DEFAULT.top_k, score_threshold_enabled: !(multiple_retrieval_config?.score_threshold === undefined || multiple_retrieval_config?.score_threshold === null), - score_threshold: multiple_retrieval_config?.score_threshold || 0.5, + score_threshold: multiple_retrieval_config?.score_threshold, datasets: { datasets: [], }, diff --git a/web/app/components/workflow/nodes/knowledge-retrieval/mock.ts b/web/app/components/workflow/nodes/knowledge-retrieval/mock.ts index b011ab68d4..9180d92f0e 100644 --- a/web/app/components/workflow/nodes/knowledge-retrieval/mock.ts +++ b/web/app/components/workflow/nodes/knowledge-retrieval/mock.ts @@ -11,7 +11,7 @@ export const mockData: KnowledgeRetrievalNodeType = { retrieval_mode: RETRIEVE_TYPE.oneWay, multiple_retrieval_config: { top_k: 10, - score_threshold: 0.5, + score_threshold: null, reranking_model: { provider: '', model: '', diff --git a/web/app/components/workflow/nodes/knowledge-retrieval/panel.tsx b/web/app/components/workflow/nodes/knowledge-retrieval/panel.tsx index a6daa903e4..68c3a7bacb 100644 --- a/web/app/components/workflow/nodes/knowledge-retrieval/panel.tsx +++ b/web/app/components/workflow/nodes/knowledge-retrieval/panel.tsx @@ -67,21 +67,22 @@ const Panel: FC = () => { type: 'string', description: t(`${i18nPrefix}.outputVars.content`), }, + // url, title, link like bing search reference result: link, link page title, link page icon { name: 'title', type: 'string', description: t(`${i18nPrefix}.outputVars.title`), }, - // { - // name: 'url', - // type: 'string', - // description: t(`${i18nPrefix}.outputVars.url`) - // }, - // { - // name: 'icon', - // type: 'string', - // description: t(`${i18nPrefix}.outputVars.icon`) - // }, + { + name: 'url', + type: 'string', + description: t(`${i18nPrefix}.outputVars.url`), + }, + { + name: 'icon', + type: 'string', + description: t(`${i18nPrefix}.outputVars.icon`), + }, { name: 'metadata', type: 'object', diff --git a/web/app/components/workflow/nodes/knowledge-retrieval/types.ts b/web/app/components/workflow/nodes/knowledge-retrieval/types.ts index 5fc765eeb7..384c15b370 100644 --- a/web/app/components/workflow/nodes/knowledge-retrieval/types.ts +++ b/web/app/components/workflow/nodes/knowledge-retrieval/types.ts @@ -4,7 +4,7 @@ import type { RETRIEVE_TYPE } from '@/types/app' export type MultipleRetrievalConfig = { top_k: number score_threshold: number | null | undefined - reranking_model: { + reranking_model?: { provider: string model: string } diff --git a/web/i18n/en-US/workflow.ts b/web/i18n/en-US/workflow.ts index aa074c3558..0b9650d0d9 100644 --- a/web/i18n/en-US/workflow.ts +++ b/web/i18n/en-US/workflow.ts @@ -61,6 +61,8 @@ const translation = { output: 'Retrieval segmented data', content: 'Segmented content', title: 'Segmented title', + icon: 'Segmented icon', + url: 'Segmented URL', metadata: 'Other metadata', }, }, diff --git a/web/i18n/zh-Hans/workflow.ts b/web/i18n/zh-Hans/workflow.ts index adf89b25b8..5c2ff57c06 100644 --- a/web/i18n/zh-Hans/workflow.ts +++ b/web/i18n/zh-Hans/workflow.ts @@ -60,6 +60,8 @@ const translation = { output: '召回的分段', content: '分段内容', title: '分段标题', + icon: '分段图标', + url: '分段链接', metadata: '其他元数据', }, }, diff --git a/web/models/debug.ts b/web/models/debug.ts index a341e209b4..930b4c6760 100644 --- a/web/models/debug.ts +++ b/web/models/debug.ts @@ -143,7 +143,7 @@ export type DatasetConfigs = { } top_k: number score_threshold_enabled: boolean - score_threshold: number + score_threshold?: number | null datasets: { datasets: { enabled: boolean