目录加载器#

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)[源代码]#

从目录加载。

使用目录路径以及如何对其进行全局匹配进行初始化。

Parameters:
  • path (str) – 目录的路径。

  • glob (List[str] | Tuple[str] | str) – 用于查找文件的glob模式或glob模式列表。 默认为“**/[!.]*”(除隐藏文件外的所有文件)。

  • exclude (Sequence[str] | str) – 要从结果中排除的模式或模式列表。使用 glob 语法。

  • silent_errors (bool) – 是否静默忽略错误。默认为 False。

  • load_hidden (bool) – 是否加载隐藏文件。默认为 False。

  • loader_cls (Type[UnstructuredFileLoader] | Type[TextLoader] | Type[BSHTMLLoader] | Type[CSVLoader]) – 用于加载文件的加载器类。 默认为 UnstructuredFileLoader。

  • loader_kwargs (dict | None) – 传递给 loader_cls 的关键字参数。默认为 None。

  • recursive (bool) – 是否递归搜索文件。默认为 False。

  • show_progress (bool) – 是否显示进度条。默认为 False。

  • use_multithreading (bool) – 是否使用多线程。默认为 False。

  • max_concurrency (int) – 使用的最大线程数。默认为4。

  • sample_size (int) – 您希望从目录中加载的文件的最大数量。

  • randomize_sample (bool) – 打乱文件以获取随机样本。

  • sample_seed (int | None) – 设置随机洗牌的种子以确保可重复性。

示例

方法

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

使用目录路径和如何对其进行全局初始化。

alazy_load()

一个用于文档的懒加载器。

aload()

将数据加载到Document对象中。

lazy_load()

懒加载文档。

load()

加载文档。

load_and_split([text_splitter])

加载文档并将其分割成块。

__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)[来源]#

使用目录路径以及如何对其进行全局匹配进行初始化。

Parameters:
  • path (str) – 目录的路径。

  • glob (List[str] | Tuple[str] | str) – 用于查找文件的glob模式或glob模式列表。 默认为“**/[!.]*”(除隐藏文件外的所有文件)。

  • exclude (Sequence[str] | str) – 要从结果中排除的模式或模式列表。使用 glob 语法。

  • silent_errors (bool) – 是否静默忽略错误。默认为 False。

  • load_hidden (bool) – 是否加载隐藏文件。默认为 False。

  • loader_cls (Type[UnstructuredFileLoader] | Type[TextLoader] | Type[BSHTMLLoader] | Type[CSVLoader]) – 用于加载文件的加载器类。 默认为 UnstructuredFileLoader。

  • loader_kwargs (dict | None) – 传递给 loader_cls 的关键字参数。默认为 None。

  • recursive (bool) – 是否递归搜索文件。默认为 False。

  • show_progress (bool) – 是否显示进度条。默认为 False。

  • use_multithreading (bool) – 是否使用多线程。默认为 False。

  • max_concurrency (int) – 使用的最大线程数。默认为4。

  • sample_size (int) – 您希望从目录中加载的文件的最大数量。

  • randomize_sample (bool) – 打乱文件以获取随机样本。

  • sample_seed (int | None) – 设置随机洗牌的种子以确保可重复性。

示例

async alazy_load() AsyncIterator[Document]#

文档的懒加载器。

Return type:

AsyncIterator[Document]

async aload() list[Document]#

将数据加载到Document对象中。

Return type:

列表[Document]

lazy_load() Iterator[Document][source]#

懒加载文档。

Return type:

迭代器[文档]

load() List[Document][来源]#

加载文档。

Return type:

列表[文档]

load_and_split(text_splitter: TextSplitter | None = None) list[Document]#

加载文档并将其分割成块。块以文档形式返回。

不要重写此方法。它应该被视为已弃用!

Parameters:

text_splitter (可选[TextSplitter]) – 用于分割文档的TextSplitter实例。 默认为RecursiveCharacterTextSplitter。

Returns:

文档列表。

Return type:

列表[Document]

使用 DirectoryLoader 的示例