From 3671d20e433e3601149498be22248d643dc3b714 Mon Sep 17 00:00:00 2001 From: Yongteng Lei Date: Wed, 18 Jun 2025 16:02:36 +0800 Subject: [PATCH] Fix: illegal variable name in Jinja2 (#8348) ### What problem does this PR solve? Fix illegal variable name in Jinja2. #8316. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue) --- agent/component/template.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/agent/component/template.py b/agent/component/template.py index b49c51594..ab02a111b 100644 --- a/agent/component/template.py +++ b/agent/component/template.py @@ -78,6 +78,11 @@ class Template(ComponentBase): if p["key"] == key: value = p.get("value", "") self.make_kwargs(para, kwargs, value) + + origin_pattern = "{begin@" + key + "}" + new_pattern = "begin_" + key + content = content.replace(origin_pattern, new_pattern) + kwargs[new_pattern] = kwargs.pop(origin_pattern, "") break else: assert False, f"Can't find parameter '{key}' for {cpn_id}" @@ -92,6 +97,12 @@ class Template(ComponentBase): else: hist = "" self.make_kwargs(para, kwargs, hist) + + if ":" in component_id: + origin_pattern = "{" + component_id + "}" + new_pattern = component_id.replace(":", "_") + content = content.replace(origin_pattern, new_pattern) + kwargs[new_pattern] = kwargs.pop(component_id, "") continue _, out = cpn.output(allow_partial=False)