feat: Implement reranking model enable/disable functionality in knowledge base panel

This commit is contained in:
twwu 2025-09-15 21:42:35 +08:00
parent 01beb59aa7
commit ab24af9c94
4 changed files with 23 additions and 7 deletions

View File

@ -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

View File

@ -178,11 +178,13 @@ const SearchMethodOption = ({
</div>
)
}
<RerankingModelSelector
rerankingModel={rerankingModel}
onRerankingModelChange={onRerankingModelChange}
readonly={readonly}
/>
{rerankingModelEnabled && (
<RerankingModelSelector
rerankingModel={rerankingModel}
onRerankingModelChange={onRerankingModelChange}
readonly={readonly}
/>
)}
</div>
)
}

View File

@ -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,

View File

@ -39,6 +39,7 @@ const Panel: FC<NodePanelProps<KnowledgeBaseNodeType>> = ({
handleEmbeddingModelChange,
handleRetrievalSearchMethodChange,
handleHybridSearchModeChange,
handleRerankingModelEnabledChange,
handleWeighedScoreChange,
handleRerankingModelChange,
handleTopKChange,
@ -150,6 +151,8 @@ const Panel: FC<NodePanelProps<KnowledgeBaseNodeType>> = ({
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}