Fix jinja2 variable naming inconsistencies (#22578)
This commit is contained in:
@@ -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:
|
||||||
|
@@ -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>
|
||||||
|
@@ -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,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user