From aa48ec119c8bb72e55d227bc7f1a00e546e3e891 Mon Sep 17 00:00:00 2001 From: Evan <2869018789@qq.com> Date: Fri, 10 Jul 2026 20:43:38 +0800 Subject: [PATCH] fix: handle missing Jinja2 variables gracefully instead of throwing VariableNotFoundError --- src/graphon/nodes/llm/node.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/graphon/nodes/llm/node.py b/src/graphon/nodes/llm/node.py index 137c010a..e4baeee2 100644 --- a/src/graphon/nodes/llm/node.py +++ b/src/graphon/nodes/llm/node.py @@ -1129,10 +1129,15 @@ def _fetch_jinja_inputs(self, node_data: LLMNodeData) -> dict[str, str]: variables: dict[str, str] = {} for variable_selector in node_data.prompt_config.jinja2_variables or []: - variable = self._get_required_variable(variable_selector) - variables[variable_selector.variable] = self._stringify_jinja_variable( - variable, + variable = self.graph_runtime_state.variable_pool.get( + variable_selector.value_selector, ) + if variable is not None: + variables[variable_selector.variable] = self._stringify_jinja_variable( + variable, + ) + else: + variables[variable_selector.variable] = "" return variables def _fetch_inputs(self, node_data: LLMNodeData) -> dict[str, Any]: