diff --git a/src/backend/base/langflow/components/helpers/MessageHistory.py b/src/backend/base/langflow/components/helpers/MessageHistory.py index c36fa4e0e..81e6e8e9b 100644 --- a/src/backend/base/langflow/components/helpers/MessageHistory.py +++ b/src/backend/base/langflow/components/helpers/MessageHistory.py @@ -16,7 +16,7 @@ class MessageHistoryComponent(CustomComponent): "options": ["Machine", "User", "Machine and User"], "display_name": "Sender Type", }, - "sender_name": {"display_name": "Sender Name"}, + "sender_name": {"display_name": "Sender Name", "advanced": True}, "n_messages": { "display_name": "Number of Messages", "info": "Number of messages to retrieve.", diff --git a/src/backend/base/langflow/components/helpers/SplitText.py b/src/backend/base/langflow/components/helpers/SplitText.py index ac8c6fe29..4d73f7f42 100644 --- a/src/backend/base/langflow/components/helpers/SplitText.py +++ b/src/backend/base/langflow/components/helpers/SplitText.py @@ -9,7 +9,7 @@ from langchain_core.documents import Document from langflow.interface.custom.custom_component import CustomComponent from langflow.schema import Record from langflow.field_typing import Text -from langflow.utils.util import unescape_string +from langflow.utils.util import build_loader_repr_from_records, unescape_string class SplitTextComponent(CustomComponent): @@ -25,18 +25,18 @@ class SplitTextComponent(CustomComponent): }, "separators": { "display_name": "Separators", - "info": 'The characters to split on.\nIf left empty defaults to [" "].', + "info": 'The characters to split on. Defaults to [" "].', "is_list": True, }, "chunk_size": { - "display_name": "Chunk Size", - "info": "The maximum length of each chunk.", + "display_name": "Max Chunk Size", + "info": "The maximum length (in number of characters) of each chunk.", "field_type": "int", "value": 1000, }, "chunk_overlap": { "display_name": "Chunk Overlap", - "info": "The amount of overlap between chunks.", + "info": "The amount of character overlap between chunks.", "field_type": "int", "value": 200, }, @@ -54,6 +54,7 @@ class SplitTextComponent(CustomComponent): chunk_overlap: Optional[int] = 200, recursive: bool = False, ) -> list[Record]: + separators = [unescape_string(x) for x in separators] # Make sure chunk_size and chunk_overlap are ints diff --git a/src/backend/base/langflow/components/inputs/JSONInput.py b/src/backend/base/langflow/components/inputs/JSONInput.py deleted file mode 100644 index 752f41aa1..000000000 --- a/src/backend/base/langflow/components/inputs/JSONInput.py +++ /dev/null @@ -1,30 +0,0 @@ -import ast -import json - -from langflow import CustomComponent -from langflow.schema import Record - - -class JSONInputComponent(CustomComponent): - display_name = "JSON Input" - description = "Load a JSON object as input." - - def build_config(self): - return { - "json_str": { - "display_name": "JSON String", - "multiline": True, - "info": "The JSON string to load.", - } - } - - def build(self, json_str: str) -> Record: - try: - data = json.loads(json_str) - except json.JSONDecodeError: - try: - data = ast.literal_eval(json_str) - except (SyntaxError, ValueError): - raise ValueError("Invalid JSON string.") - record = Record(data=data) - return record diff --git a/src/backend/base/langflow/memory.py b/src/backend/base/langflow/memory.py index a1c21f243..aea9b3000 100644 --- a/src/backend/base/langflow/memory.py +++ b/src/backend/base/langflow/memory.py @@ -39,7 +39,11 @@ def get_messages( ) records: list[Record] = [] - + # messages_df has a timestamp + # it gets the last 5 messages, for example + # but now they are ordered from most recent to least recent + # so we need to reverse the order + messages_df = messages_df[::-1] if order == "DESC" else messages_df for row in messages_df.itertuples(): record = Record( data={