DirectoryLoader#

class langchain_community.document_loaders.directory.DirectoryLoader(path: str, glob: ~typing.List[str] | ~typing.Tuple[str] | str = '**/[!.]*', silent_errors: bool = False, load_hidden: bool = False, loader_cls: ~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] | ~typing.Type[~langchain_community.document_loaders.csv_loader.CSVLoader] = <class 'langchain_community.document_loaders.unstructured.UnstructuredFileLoader'>, loader_kwargs: dict | None = None, recursive: bool = False, show_progress: bool = False, use_multithreading: bool = False, max_concurrency: int = 4, *, exclude: ~typing.Sequence[str] | str = (), sample_size: int = 0, randomize_sample: bool = False, sample_seed: int | None = 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 (List[str] | Tuple[str] | str) – A glob pattern or list of glob patterns to use to find files. Defaults to β€œ**/[!.]*” (all files except hidden).

  • exclude (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 (Type[UnstructuredFileLoader] | Type[TextLoader] | Type[BSHTMLLoader] | Type[CSVLoader]) – Loader class to use for loading files. Defaults to UnstructuredFileLoader.

  • loader_kwargs (dict | None) – 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 (int | None) – 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.

aload()

Load data into Document objects.

lazy_load()

Load documents lazily.

load()

Load documents.

load_and_split([text_splitter])

Load Documents and split into chunks.

__init__(path: str, glob: ~typing.List[str] | ~typing.Tuple[str] | str = '**/[!.]*', silent_errors: bool = False, load_hidden: bool = False, loader_cls: ~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] | ~typing.Type[~langchain_community.document_loaders.csv_loader.CSVLoader] = <class 'langchain_community.document_loaders.unstructured.UnstructuredFileLoader'>, loader_kwargs: dict | None = None, recursive: bool = False, show_progress: bool = False, use_multithreading: bool = False, max_concurrency: int = 4, *, exclude: ~typing.Sequence[str] | str = (), sample_size: int = 0, randomize_sample: bool = False, sample_seed: int | None = None)[source]#

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

Parameters:
  • path (str) – Path to directory.

  • glob (List[str] | Tuple[str] | str) – A glob pattern or list of glob patterns to use to find files. Defaults to β€œ**/[!.]*” (all files except hidden).

  • exclude (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 (Type[UnstructuredFileLoader] | Type[TextLoader] | Type[BSHTMLLoader] | Type[CSVLoader]) – Loader class to use for loading files. Defaults to UnstructuredFileLoader.

  • loader_kwargs (dict | None) – 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 (int | None) – set the seed of the random shuffle for reproducibility.

Examples

async alazy_load() β†’ AsyncIterator[Document]#

A lazy loader for Documents.

Return type:

AsyncIterator[Document]

async aload() β†’ List[Document]#

Load data into Document objects.

Return type:

List[Document]

lazy_load() β†’ Iterator[Document][source]#

Load documents lazily.

Return type:

Iterator[Document]

load() β†’ List[Document][source]#

Load documents.

Return type:

List[Document]

load_and_split(text_splitter: TextSplitter | None = 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]

Examples using DirectoryLoader