From 46b24095269a307bddc6c6e1dbd6feb811348583 Mon Sep 17 00:00:00 2001 From: Gabriel Almeida Date: Sat, 8 Apr 2023 08:55:46 -0300 Subject: [PATCH] fix: templates were not being processed correctly --- src/backend/langflow/graph/base.py | 9 ++++++++- src/backend/langflow/graph/constants.py | 2 +- src/backend/langflow/graph/nodes.py | 3 ++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/backend/langflow/graph/base.py b/src/backend/langflow/graph/base.py index fa93ed8ed..cde4622d3 100644 --- a/src/backend/langflow/graph/base.py +++ b/src/backend/langflow/graph/base.py @@ -12,6 +12,7 @@ from langflow.graph.utils import load_file from langflow.interface import loading from langflow.interface.listing import ALL_TYPES_DICT from langflow.utils.logger import logger +import warnings class Node: @@ -119,7 +120,13 @@ class Node: params[key] = edges[0].source elif value["required"] or value.get("value"): - params[key] = value["value"] + # If value does not have value this still passes + # but then gives a keyError + # so we need to check if value has value + new_value = value.get("value") + if new_value is None: + warnings.warn(f"Value for {key} in {self.node_type} is None. ") + params[key] = new_value # Add _type to params self.params = params diff --git a/src/backend/langflow/graph/constants.py b/src/backend/langflow/graph/constants.py index 095843816..8372e13a7 100644 --- a/src/backend/langflow/graph/constants.py +++ b/src/backend/langflow/graph/constants.py @@ -1 +1 @@ -DIRECT_TYPES = ["str", "bool", "code", "int", "float", "Any"] +DIRECT_TYPES = ["str", "bool", "code", "int", "float", "Any", "prompt"] diff --git a/src/backend/langflow/graph/nodes.py b/src/backend/langflow/graph/nodes.py index bf2f0bcec..a58300854 100644 --- a/src/backend/langflow/graph/nodes.py +++ b/src/backend/langflow/graph/nodes.py @@ -75,7 +75,8 @@ class PromptNode(Node): for param in prompt_params: prompt_text = self.params[param] variables = extract_input_variables_from_prompt(prompt_text) - + if self.params["input_variables"] is None: + self.params["input_variables"] = [] self.params["input_variables"].extend(variables) self.params["input_variables"] = list(set(self.params["input_variables"]))