Spaces:
Runtime error
Runtime error
"""Base loader class.""" | |
from abc import ABC, abstractmethod | |
from typing import List, Optional | |
from langchain.docstore.document import Document | |
from langchain.text_splitter import RecursiveCharacterTextSplitter, TextSplitter | |
class BaseLoader(ABC): | |
"""Base loader class.""" | |
def load(self) -> List[Document]: | |
"""Load data into document objects.""" | |
def load_and_split( | |
self, text_splitter: Optional[TextSplitter] = None | |
) -> List[Document]: | |
"""Load documents and split into chunks.""" | |
if text_splitter is None: | |
_text_splitter: TextSplitter = RecursiveCharacterTextSplitter() | |
else: | |
_text_splitter = text_splitter | |
docs = self.load() | |
return _text_splitter.split_documents(docs) | |