diff --git a/src/backend/langflow/components/textsplitters/CharacterTextSplitter.py b/src/backend/langflow/components/textsplitters/CharacterTextSplitter.py index 96576a4a3..8fcb1da11 100644 --- a/src/backend/langflow/components/textsplitters/CharacterTextSplitter.py +++ b/src/backend/langflow/components/textsplitters/CharacterTextSplitter.py @@ -4,6 +4,7 @@ from langchain.text_splitter import CharacterTextSplitter from langflow import CustomComponent from langflow.schema.schema import Record +from langflow.utils.util import unescape_string class CharacterTextSplitterComponent(CustomComponent): @@ -26,7 +27,7 @@ class CharacterTextSplitterComponent(CustomComponent): separator: str = "\n", ) -> List[Record]: # separator may come escaped from the frontend - separator = separator.encode().decode("unicode_escape") + separator = unescape_string(separator) documents = [] for _input in inputs: if isinstance(_input, Record): diff --git a/src/backend/langflow/components/textsplitters/RecursiveCharacterTextSplitter.py b/src/backend/langflow/components/textsplitters/RecursiveCharacterTextSplitter.py index 6b9cb865b..3a115d89a 100644 --- a/src/backend/langflow/components/textsplitters/RecursiveCharacterTextSplitter.py +++ b/src/backend/langflow/components/textsplitters/RecursiveCharacterTextSplitter.py @@ -5,13 +5,15 @@ from langchain_core.documents import Document from langflow import CustomComponent from langflow.schema import Record -from langflow.utils.util import build_loader_repr_from_records +from langflow.utils.util import build_loader_repr_from_records, unescape_string class RecursiveCharacterTextSplitterComponent(CustomComponent): display_name: str = "Recursive Character Text Splitter" description: str = "Split text into chunks of a specified length." - documentation: str = "https://docs.langflow.org/components/text-splitters#recursivecharactertextsplitter" + documentation: str = ( + "https://docs.langflow.org/components/text-splitters#recursivecharactertextsplitter" + ) def build_config(self): return { @@ -65,7 +67,7 @@ class RecursiveCharacterTextSplitterComponent(CustomComponent): elif separators: # check if the separators list has escaped characters # if there are escaped characters, unescape them - separators = [x.encode().decode("unicode-escape") for x in separators] + separators = [unescape_string(x) for x in separators] # Make sure chunk_size and chunk_overlap are ints if isinstance(chunk_size, str):