diff --git a/src/backend/langflow/interface/memories/base.py b/src/backend/langflow/interface/memories/base.py index 1bb4b054b..fee179d21 100644 --- a/src/backend/langflow/interface/memories/base.py +++ b/src/backend/langflow/interface/memories/base.py @@ -3,12 +3,18 @@ from typing import Dict, List, Optional from langflow.interface.base import LangChainTypeCreator from langflow.interface.custom_lists import memory_type_to_cls_dict from langflow.settings import settings +from langflow.template.nodes import MemoryFrontendNode from langflow.utils.util import build_template_from_class class MemoryCreator(LangChainTypeCreator): type_name: str = "memories" + @property + def frontend_node_class(self) -> str: + """The class type of the FrontendNode created in frontend_node.""" + return MemoryFrontendNode + @property def type_to_loader_dict(self) -> Dict: if self.type_dict is None: diff --git a/src/backend/langflow/interface/wrappers/base.py b/src/backend/langflow/interface/wrappers/base.py index 8c5978013..8d0df8141 100644 --- a/src/backend/langflow/interface/wrappers/base.py +++ b/src/backend/langflow/interface/wrappers/base.py @@ -13,7 +13,7 @@ class WrapperCreator(LangChainTypeCreator): def type_to_loader_dict(self) -> Dict: if self.type_dict is None: self.type_dict = { - wrapper.__name__: wrapper for wrapper in [requests.RequestsWrapper] + wrapper.__name__: wrapper for wrapper in [requests.TextRequestsWrapper] } return self.type_dict diff --git a/src/backend/langflow/template/nodes.py b/src/backend/langflow/template/nodes.py index 6be772483..0a2c149da 100644 --- a/src/backend/langflow/template/nodes.py +++ b/src/backend/langflow/template/nodes.py @@ -259,3 +259,17 @@ class PromptFrontendNode(FrontendNode): and "BaseMessagePromptTemplate" in field.field_type ): field.field_type = "BaseMessagePromptTemplate" + + +class MemoryFrontendNode(FrontendNode): + @staticmethod + def format_field(field: TemplateField, name: Optional[str] = None) -> None: + FrontendNode.format_field(field, name) + + if not isinstance(field.value, str): + field.value = None + if field.name == "k": + field.required = True + field.show = True + field.field_type = "int" + field.value = 10