Source code for wdoc.utils.loaders.text

import json

from beartype.typing import List, Optional, Union
from langchain_core.documents import Document
from loguru import logger

from wdoc.utils.loaders.shared import debug_return_empty
from wdoc.utils.misc import optional_strip_unexp_args


[docs] @debug_return_empty @optional_strip_unexp_args def load_text( path: str, file_hash: str, metadata: Optional[Union[str, dict]] = None, ) -> List[Document]: logger.info(f"Loading text input: '{path}'") text = path.strip() assert text, "Empty text" if metadata is None: metadata = {} if isinstance(metadata, str): metadata = json.loads(metadata) docs = [ Document( page_content=text, metadata=metadata, ) ] return docs