feat: separate input fields into datasource and global categories in RAG pipeline

feat/rag-pipeline
twwu 10 months ago
parent 8f2ad89027
commit 264b95e572

@ -67,16 +67,27 @@ const InputFieldDialog = ({
const updateInputFields = useCallback(async (key: string, value: InputVar[]) => { const updateInputFields = useCallback(async (key: string, value: InputVar[]) => {
inputFieldsMap.current[key] = value inputFieldsMap.current[key] = value
const newRagPipelineVariables: RAGPipelineVariables = [] const datasourceNodeInputFields: RAGPipelineVariables = []
const globalInputFields: RAGPipelineVariables = []
Object.keys(inputFieldsMap.current).forEach((key) => { Object.keys(inputFieldsMap.current).forEach((key) => {
const inputFields = inputFieldsMap.current[key] const inputFields = inputFieldsMap.current[key]
inputFields.forEach((inputField) => { inputFields.forEach((inputField) => {
newRagPipelineVariables.push({ if (key === 'shared') {
...inputField, globalInputFields.push({
belong_to_node_id: key, ...inputField,
}) belong_to_node_id: key,
})
}
else {
datasourceNodeInputFields.push({
...inputField,
belong_to_node_id: key,
})
}
}) })
}) })
// Datasource node input fields come first, then global input fields
const newRagPipelineVariables = [...datasourceNodeInputFields, ...globalInputFields]
setRagPipelineVariables?.(newRagPipelineVariables) setRagPipelineVariables?.(newRagPipelineVariables)
handleSyncWorkflowDraft() handleSyncWorkflowDraft()
}, [setRagPipelineVariables, handleSyncWorkflowDraft]) }, [setRagPipelineVariables, handleSyncWorkflowDraft])

Loading…
Cancel
Save