langchain_community.document_loaders.directory.DirectoryLoader

class langchain_community.document_loaders.directory.DirectoryLoader(path: str, glob: str = '**/[!.]*', silent_errors: bool = False, load_hidden: bool = False, loader_cls: ~typing.Union[~typing.Type[~langchain_community.document_loaders.unstructured.UnstructuredFileLoader], ~typing.Type[~langchain_community.document_loaders.text.TextLoader], ~typing.Type[~langchain_community.document_loaders.html_bs.BSHTMLLoader]] = <class 'langchain_community.document_loaders.unstructured.UnstructuredFileLoader'>, loader_kwargs: ~typing.Optional[dict] = None, recursive: bool = False, show_progress: bool = False, use_multithreading: bool = False, max_concurrency: int = 4, *, sample_size: int = 0, randomize_sample: bool = False, sample_seed: ~typing.Optional[int] = None)[source]

Load from a directory.

Initialize with a path to directory and how to glob over it.

Parameters
  • path – Path to directory.

  • glob – Glob pattern to use to find files. Defaults to “**/[!.]*” (all files except hidden).

  • silent_errors – Whether to silently ignore errors. Defaults to False.

  • load_hidden – Whether to load hidden files. Defaults to False.

  • loader_cls – Loader class to use for loading files. Defaults to UnstructuredFileLoader.

  • loader_kwargs – Keyword arguments to pass to loader_cls. Defaults to None.

  • recursive – Whether to recursively search for files. Defaults to False.

  • show_progress – Whether to show a progress bar. Defaults to False.

  • use_multithreading – Whether to use multithreading. Defaults to False.

  • max_concurrency – The maximum number of threads to use. Defaults to 4.

  • sample_size – The maximum number of files you would like to load from the directory.

  • randomize_sample – Shuffle the files to get a random sample.

  • sample_seed – set the seed of the random shuffle for reproducibility.

Methods

__init__(path[, glob, silent_errors, ...])

Initialize with a path to directory and how to glob over it.

lazy_load()

A lazy loader for Documents.

load()

Load documents.

load_and_split([text_splitter])

Load Documents and split into chunks.

load_file(item, path, docs, pbar)

Load a file.

__init__(path: str, glob: str = '**/[!.]*', silent_errors: bool = False, load_hidden: bool = False, loader_cls: ~typing.Union[~typing.Type[~langchain_community.document_loaders.unstructured.UnstructuredFileLoader], ~typing.Type[~langchain_community.document_loaders.text.TextLoader], ~typing.Type[~langchain_community.document_loaders.html_bs.BSHTMLLoader]] = <class 'langchain_community.document_loaders.unstructured.UnstructuredFileLoader'>, loader_kwargs: ~typing.Optional[dict] = None, recursive: bool = False, show_progress: bool = False, use_multithreading: bool = False, max_concurrency: int = 4, *, sample_size: int = 0, randomize_sample: bool = False, sample_seed: ~typing.Optional[int] = None)[source]

Initialize with a path to directory and how to glob over it.

Parameters
  • path – Path to directory.

  • glob – Glob pattern to use to find files. Defaults to “**/[!.]*” (all files except hidden).

  • silent_errors – Whether to silently ignore errors. Defaults to False.

  • load_hidden – Whether to load hidden files. Defaults to False.

  • loader_cls – Loader class to use for loading files. Defaults to UnstructuredFileLoader.

  • loader_kwargs – Keyword arguments to pass to loader_cls. Defaults to None.

  • recursive – Whether to recursively search for files. Defaults to False.

  • show_progress – Whether to show a progress bar. Defaults to False.

  • use_multithreading – Whether to use multithreading. Defaults to False.

  • max_concurrency – The maximum number of threads to use. Defaults to 4.

  • sample_size – The maximum number of files you would like to load from the directory.

  • randomize_sample – Shuffle the files to get a random sample.

  • sample_seed – set the seed of the random shuffle for reproducibility.

lazy_load() Iterator[Document]

A lazy loader for Documents.

load() List[Document][source]

Load documents.

load_and_split(text_splitter: Optional[TextSplitter] = None) List[Document]

Load Documents and split into chunks. Chunks are returned as Documents.

Parameters

text_splitter – TextSplitter instance to use for splitting documents. Defaults to RecursiveCharacterTextSplitter.

Returns

List of Documents.

load_file(item: Path, path: Path, docs: List[Document], pbar: Optional[Any]) None[source]

Load a file.

Parameters
  • item – File path.

  • path – Directory path.

  • docs – List of documents to append to.

  • pbar – Progress bar. Defaults to None.

Examples using DirectoryLoader