fix: one step run (#14724)

This commit is contained in:
zxhlyh
2025-03-03 13:29:59 +08:00
committed by GitHub
parent cd46ebbb34
commit e53052ab7a
10 changed files with 214 additions and 49 deletions

View File

@@ -5,6 +5,7 @@ import MemoryConfig from '../_base/components/memory-config'
import VarReferencePicker from '../_base/components/variable/var-reference-picker'
import ConfigVision from '../_base/components/config-vision'
import useConfig from './use-config'
import { findVariableWhenOnLLMVision } from '../utils'
import type { LLMNodeType } from './types'
import ConfigPrompt from './components/config-prompt'
import VarList from '@/app/components/workflow/nodes/_base/components/variable/var-list'
@@ -102,15 +103,16 @@ const Panel: FC<NodePanelProps<LLMNodeType>> = ({
)
}
if (isVisionModel) {
const variableName = data.vision.configs?.variable_selector?.[1] || t(`${i18nPrefix}.files`)!
if (isVisionModel && data.vision.enabled && data.vision.configs?.variable_selector) {
const currentVariable = findVariableWhenOnLLMVision(data.vision.configs.variable_selector, availableVars)
forms.push(
{
label: t(`${i18nPrefix}.vision`)!,
inputs: [{
label: variableName!,
label: currentVariable?.variable as any,
variable: '#files#',
type: InputVarType.files,
type: currentVariable?.formType as any,
required: false,
}],
values: { '#files#': visionFiles },

View File

@@ -306,6 +306,7 @@ const useConfig = (id: string, payload: LLMNodeType) => {
handleRun,
handleStop,
runInputData,
runInputDataRef,
setRunInputData,
runResult,
toVarInputs,
@@ -331,27 +332,27 @@ const useConfig = (id: string, payload: LLMNodeType) => {
const setInputVarValues = useCallback((newPayload: Record<string, any>) => {
const newVars = {
...newPayload,
'#context#': runInputData['#context#'],
'#files#': runInputData['#files#'],
'#context#': runInputDataRef.current['#context#'],
'#files#': runInputDataRef.current['#files#'],
}
setRunInputData(newVars)
}, [runInputData, setRunInputData])
}, [runInputDataRef, setRunInputData])
const contexts = runInputData['#context#']
const setContexts = useCallback((newContexts: string[]) => {
setRunInputData({
...runInputData,
...runInputDataRef.current,
'#context#': newContexts,
})
}, [runInputData, setRunInputData])
}, [runInputDataRef, setRunInputData])
const visionFiles = runInputData['#files#']
const setVisionFiles = useCallback((newFiles: any[]) => {
setRunInputData({
...runInputData,
...runInputDataRef.current,
'#files#': newFiles,
})
}, [runInputData, setRunInputData])
}, [runInputDataRef, setRunInputData])
const allVarStrArr = (() => {
const arr = isChatModel ? (inputs.prompt_template as PromptItem[]).filter(item => item.edition_type !== EditionType.jinja2).map(item => item.text) : [(inputs.prompt_template as PromptItem).text]