Fix jinja2 variable naming inconsistencies (#22578)

This commit is contained in:
Kalo Chin
2025-07-17 23:16:47 +09:00
committed by GitHub
parent 2423f97c72
commit 7a69b57823
3 changed files with 11 additions and 11 deletions

View File

@@ -849,7 +849,7 @@ class LLMNode(BaseNode[LLMNodeData]):
if message.edition_type == "jinja2": if message.edition_type == "jinja2":
result_text = _render_jinja2_message( result_text = _render_jinja2_message(
template=message.jinja2_text or "", template=message.jinja2_text or "",
jinjia2_variables=jinja2_variables, jinja2_variables=jinja2_variables,
variable_pool=variable_pool, variable_pool=variable_pool,
) )
prompt_message = _combine_message_content_with_role( prompt_message = _combine_message_content_with_role(
@@ -1021,20 +1021,20 @@ def _combine_message_content_with_role(
def _render_jinja2_message( def _render_jinja2_message(
*, *,
template: str, template: str,
jinjia2_variables: Sequence[VariableSelector], jinja2_variables: Sequence[VariableSelector],
variable_pool: VariablePool, variable_pool: VariablePool,
): ):
if not template: if not template:
return "" return ""
jinjia2_inputs = {} jinja2_inputs = {}
for jinja2_variable in jinjia2_variables: for jinja2_variable in jinja2_variables:
variable = variable_pool.get(jinja2_variable.value_selector) variable = variable_pool.get(jinja2_variable.value_selector)
jinjia2_inputs[jinja2_variable.variable] = variable.to_object() if variable else "" jinja2_inputs[jinja2_variable.variable] = variable.to_object() if variable else ""
code_execute_resp = CodeExecutor.execute_workflow_code_template( code_execute_resp = CodeExecutor.execute_workflow_code_template(
language=CodeLanguage.JINJA2, language=CodeLanguage.JINJA2,
code=template, code=template,
inputs=jinjia2_inputs, inputs=jinja2_inputs,
) )
result_text = code_execute_resp["result"] result_text = code_execute_resp["result"]
return result_text return result_text
@@ -1130,7 +1130,7 @@ def _handle_completion_template(
if template.edition_type == "jinja2": if template.edition_type == "jinja2":
result_text = _render_jinja2_message( result_text = _render_jinja2_message(
template=template.jinja2_text or "", template=template.jinja2_text or "",
jinjia2_variables=jinja2_variables, jinja2_variables=jinja2_variables,
variable_pool=variable_pool, variable_pool=variable_pool,
) )
else: else:

View File

@@ -60,7 +60,7 @@ const Panel: FC<NodePanelProps<LLMNodeType>> = ({
setStructuredOutputCollapsed, setStructuredOutputCollapsed,
handleStructureOutputEnableChange, handleStructureOutputEnableChange,
handleStructureOutputChange, handleStructureOutputChange,
filterJinjia2InputVar, filterJinja2InputVar,
} = useConfig(id, data) } = useConfig(id, data)
const model = inputs.model const model = inputs.model
@@ -166,7 +166,7 @@ const Panel: FC<NodePanelProps<LLMNodeType>> = ({
list={inputs.prompt_config?.jinja2_variables || []} list={inputs.prompt_config?.jinja2_variables || []}
onChange={handleVarListChange} onChange={handleVarListChange}
onVarNameChange={handleVarNameChange} onVarNameChange={handleVarNameChange}
filterVar={filterJinjia2InputVar} filterVar={filterJinja2InputVar}
isSupportFileVar={false} isSupportFileVar={false}
/> />
</Field> </Field>

View File

@@ -309,7 +309,7 @@ const useConfig = (id: string, payload: LLMNodeType) => {
return [VarType.number, VarType.string, VarType.secret, VarType.arrayString, VarType.arrayNumber, VarType.file, VarType.arrayFile].includes(varPayload.type) return [VarType.number, VarType.string, VarType.secret, VarType.arrayString, VarType.arrayNumber, VarType.file, VarType.arrayFile].includes(varPayload.type)
}, []) }, [])
const filterJinjia2InputVar = useCallback((varPayload: Var) => { const filterJinja2InputVar = useCallback((varPayload: Var) => {
return [VarType.number, VarType.string, VarType.secret, VarType.arrayString, VarType.arrayNumber].includes(varPayload.type) return [VarType.number, VarType.string, VarType.secret, VarType.arrayString, VarType.arrayNumber].includes(varPayload.type)
}, []) }, [])
@@ -356,7 +356,7 @@ const useConfig = (id: string, payload: LLMNodeType) => {
structuredOutputCollapsed, structuredOutputCollapsed,
setStructuredOutputCollapsed, setStructuredOutputCollapsed,
handleStructureOutputEnableChange, handleStructureOutputEnableChange,
filterJinjia2InputVar, filterJinja2InputVar,
} }
} }