feat: adding memory frontend node

This commit is contained in:
Gabriel Almeida 2023-04-04 19:27:37 -03:00
commit 8873a798b0
3 changed files with 21 additions and 1 deletions

View file

@ -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:

View file

@ -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

View file

@ -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