diff --git a/web/app/components/workflow/nodes/knowledge-base/components/retrieval-setting/reranking-model-selector.tsx b/web/app/components/workflow/nodes/knowledge-base/components/retrieval-setting/reranking-model-selector.tsx
index 81e131b2a2..e1eccaf309 100644
--- a/web/app/components/workflow/nodes/knowledge-base/components/retrieval-setting/reranking-model-selector.tsx
+++ b/web/app/components/workflow/nodes/knowledge-base/components/retrieval-setting/reranking-model-selector.tsx
@@ -19,8 +19,8 @@ const RerankingModelSelector = ({
readonly = false,
}: RerankingModelSelectorProps) => {
const {
- modelList: rerankModelList,
- } = useModelListAndDefaultModel(ModelTypeEnum.rerank)
+ modelList: rerankModelList,
+ } = useModelListAndDefaultModel(ModelTypeEnum.rerank)
const rerankModel = useMemo(() => {
if (!rerankingModel)
return undefined
diff --git a/web/app/components/workflow/nodes/knowledge-base/components/retrieval-setting/search-method-option.tsx b/web/app/components/workflow/nodes/knowledge-base/components/retrieval-setting/search-method-option.tsx
index 74629f47ae..40d44f3135 100644
--- a/web/app/components/workflow/nodes/knowledge-base/components/retrieval-setting/search-method-option.tsx
+++ b/web/app/components/workflow/nodes/knowledge-base/components/retrieval-setting/search-method-option.tsx
@@ -178,11 +178,13 @@ const SearchMethodOption = ({
)
}
-
+ {rerankingModelEnabled && (
+
+ )}
)
}
diff --git a/web/app/components/workflow/nodes/knowledge-base/hooks/use-config.ts b/web/app/components/workflow/nodes/knowledge-base/hooks/use-config.ts
index 215ef85559..d5c810cbc4 100644
--- a/web/app/components/workflow/nodes/knowledge-base/hooks/use-config.ts
+++ b/web/app/components/workflow/nodes/knowledge-base/hooks/use-config.ts
@@ -114,6 +114,16 @@ export const useConfig = (id: string) => {
})
}, [getNodeData, handleNodeDataUpdate])
+ const handleRerankingModelEnabledChange = useCallback((rerankingModelEnabled: boolean) => {
+ const nodeData = getNodeData()
+ handleNodeDataUpdate({
+ retrieval_model: {
+ ...nodeData?.data.retrieval_model,
+ reranking_enable: rerankingModelEnabled,
+ },
+ })
+ }, [getNodeData, handleNodeDataUpdate])
+
const handleWeighedScoreChange = useCallback((weightedScore: { value: number[] }) => {
const nodeData = getNodeData()
handleNodeDataUpdate({
@@ -190,6 +200,7 @@ export const useConfig = (id: string) => {
handleEmbeddingModelChange,
handleRetrievalSearchMethodChange,
handleHybridSearchModeChange,
+ handleRerankingModelEnabledChange,
handleWeighedScoreChange,
handleRerankingModelChange,
handleTopKChange,
diff --git a/web/app/components/workflow/nodes/knowledge-base/panel.tsx b/web/app/components/workflow/nodes/knowledge-base/panel.tsx
index 7014e12558..9eaf4ef39f 100644
--- a/web/app/components/workflow/nodes/knowledge-base/panel.tsx
+++ b/web/app/components/workflow/nodes/knowledge-base/panel.tsx
@@ -39,6 +39,7 @@ const Panel: FC> = ({
handleEmbeddingModelChange,
handleRetrievalSearchMethodChange,
handleHybridSearchModeChange,
+ handleRerankingModelEnabledChange,
handleWeighedScoreChange,
handleRerankingModelChange,
handleTopKChange,
@@ -150,6 +151,8 @@ const Panel: FC> = ({
onHybridSearchModeChange={handleHybridSearchModeChange}
weightedScore={data.retrieval_model.weights}
onWeightedScoreChange={handleWeighedScoreChange}
+ rerankingModelEnabled={data.retrieval_model.reranking_enable}
+ onRerankingModelEnabledChange={handleRerankingModelEnabledChange}
rerankingModel={data.retrieval_model.reranking_model}
onRerankingModelChange={handleRerankingModelChange}
topK={data.retrieval_model.top_k}