diff --git a/web/app/components/workflow/nodes/knowledge-retrieval/panel.tsx b/web/app/components/workflow/nodes/knowledge-retrieval/panel.tsx index 30b47aedfa..193a86c3ad 100644 --- a/web/app/components/workflow/nodes/knowledge-retrieval/panel.tsx +++ b/web/app/components/workflow/nodes/knowledge-retrieval/panel.tsx @@ -97,7 +97,7 @@ const Panel: FC> = ({ <> { const { inputs, setInputs } = useNodeCrud(id, payload) @@ -28,7 +29,10 @@ const useConfig = (id: string, payload: VariableAssignerNodeType) => { setCurrVarIndex(index) }, []) const filterVar = useCallback((varPayload: Var, valueSelector: ValueSelector) => { - if (varPayload.type !== inputs.output_type) + const type = varPayload.type + if ((inputs.output_type !== VarType.array && type !== inputs.output_type) || ( + inputs.output_type === VarType.array && ![VarType.array, VarType.arrayString, VarType.arrayNumber, VarType.arrayObject].includes(type) + )) return false // can not choose the same node