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, *, exclude: ~typing.Union[~typing.Sequence[str], str] = (), 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 (str) – Path to directory.

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

  • exclude (Union[Sequence[str], str]) – A pattern or list of patterns to exclude from results. Use glob syntax.

  • silent_errors (bool) – Whether to silently ignore errors. Defaults to False.

  • load_hidden (bool) – Whether to load hidden files. Defaults to False.

  • loader_cls (Union[Type[UnstructuredFileLoader], Type[TextLoader], Type[BSHTMLLoader]]) – Loader class to use for loading files. Defaults to UnstructuredFileLoader.

  • loader_kwargs (Optional[dict]) – Keyword arguments to pass to loader_cls. Defaults to None.

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

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

  • use_multithreading (bool) – Whether to use multithreading. Defaults to False.

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

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

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

  • sample_seed (Optional[int]) – set the seed of the random shuffle for reproducibility.

Examples

Methods

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

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

alazy_load()

A lazy loader for Documents.

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, *, exclude: ~typing.Union[~typing.Sequence[str], str] = (), 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 (str) – Path to directory.

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

  • exclude (Union[Sequence[str], str]) – A pattern or list of patterns to exclude from results. Use glob syntax.

  • silent_errors (bool) – Whether to silently ignore errors. Defaults to False.

  • load_hidden (bool) – Whether to load hidden files. Defaults to False.

  • loader_cls (Union[Type[UnstructuredFileLoader], Type[TextLoader], Type[BSHTMLLoader]]) – Loader class to use for loading files. Defaults to UnstructuredFileLoader.

  • loader_kwargs (Optional[dict]) – Keyword arguments to pass to loader_cls. Defaults to None.

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

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

  • use_multithreading (bool) – Whether to use multithreading. Defaults to False.

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

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

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

  • sample_seed (Optional[int]) – set the seed of the random shuffle for reproducibility.

Examples

async alazy_load() AsyncIterator[Document]

A lazy loader for Documents.

Return type

AsyncIterator[Document]

lazy_load() Iterator[Document]

A lazy loader for Documents.

Return type

Iterator[Document]

load() List[Document][source]

Load documents.

Return type

List[Document]

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

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

Do not override this method. It should be considered to be deprecated!

Parameters

text_splitter (Optional[TextSplitter]) – TextSplitter instance to use for splitting documents. Defaults to RecursiveCharacterTextSplitter.

Returns

List of Documents.

Return type

List[Document]

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

Load a file.

Parameters
  • item (Path) – File path.

  • path (Path) – Directory path.

  • docs (List[Document]) – List of documents to append to.

  • pbar (Optional[Any]) – Progress bar. Defaults to None.

Return type

None

Examples using DirectoryLoader