From 7a50129149716b1e196683941d2585b257b9bbfe Mon Sep 17 00:00:00 2001 From: Gabriel Almeida Date: Tue, 2 May 2023 16:39:33 -0300 Subject: [PATCH] refactor(loading.py): process params before instantiating class object --- src/backend/langflow/interface/loading.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/backend/langflow/interface/loading.py b/src/backend/langflow/interface/loading.py index c237bb5f3..82405319a 100644 --- a/src/backend/langflow/interface/loading.py +++ b/src/backend/langflow/interface/loading.py @@ -33,7 +33,7 @@ def instantiate_class(node_type: str, base_type: str, params: Dict) -> Any: if node_type in CUSTOM_AGENTS: if custom_agent := CUSTOM_AGENTS.get(node_type): return custom_agent.initialize(**params) # type: ignore - + params = process_params(params) class_object = import_by_type(_type=base_type, name=node_type) # check if it is a class before using issubclass @@ -107,6 +107,15 @@ def instantiate_class(node_type: str, base_type: str, params: Dict) -> Any: return class_object(**params) +def process_params(params): + """Process params""" + if "allowed_special" in params: + params["allowed_special"] = set(params["allowed_special"]) + if "disallowed_special" in params: + params["disallowed_special"] = set(params["disallowed_special"]) + return params + + def load_flow_from_json(path: str, build=True): # This is done to avoid circular imports from langflow.graph import Graph