通用加载器#

class langchain_community.document_loaders.generic.GenericLoader(blob_loader: BlobLoader, blob_parser: BaseBlobParser)[来源]#

通用文档加载器。

一个通用的文档加载器,允许将任意的blob加载器与blob解析器结合使用。

示例

解析特定的PDF文件:

 from langchain_community.document_loaders import GenericLoader
 from langchain_community.document_loaders.parsers.pdf import PyPDFParser

 # Recursively load all text files in a directory.
 loader = GenericLoader.from_filesystem(
     "my_lovely_pdf.pdf",
     parser=PyPDFParser()
 )

.. code-block:: python

     from langchain_community.document_loaders import GenericLoader
     from langchain_community.document_loaders.blob_loaders import FileSystemBlobLoader


     loader = GenericLoader.from_filesystem(
         path="path/to/directory",
         glob="**/[!.]*",
         suffixes=[".pdf"],
         show_progress=True,
     )

     docs = loader.lazy_load()
     next(docs)

更改加载文件的示例实例化:

# Recursively load all text files in a directory.
loader = GenericLoader.from_filesystem("/path/to/dir", glob="**/*.txt")

# Recursively load all non-hidden files in a directory.
loader = GenericLoader.from_filesystem("/path/to/dir", glob="**/[!.]*")

# Load all files in a directory without recursion.
loader = GenericLoader.from_filesystem("/path/to/dir", glob="*")

更改所使用的解析器的示例实例化:

from langchain_community.document_loaders.parsers.pdf import PyPDFParser

# Recursively load all text files in a directory.
loader = GenericLoader.from_filesystem(
    "/path/to/dir",
    glob="**/*.pdf",
    parser=PyPDFParser()
)

一个通用的文档加载器。

Parameters:
  • blob_loader (BlobLoader) – 一个知道如何生成blob的blob加载器

  • blob_parser (BaseBlobParser) – 一个知道如何将blob解析为文档的blob解析器

方法

__init__(blob_loader, blob_parser)

一个通用的文档加载器。

alazy_load()

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

aload()

将数据加载到Document对象中。

from_filesystem(path, *[, glob, exclude, ...])

使用文件系统 blob 加载器创建通用文档加载器。

get_parser(**kwargs)

重写此方法以将默认解析器与类关联。

lazy_load()

懒加载文档。

load()

将数据加载到Document对象中。

load_and_split([text_splitter])

加载所有文档并将其分割成句子。

__init__(blob_loader: BlobLoader, blob_parser: BaseBlobParser) None[source]#

一个通用的文档加载器。

Parameters:
  • blob_loader (BlobLoader) – 一个知道如何生成blob的blob加载器

  • blob_parser (BaseBlobParser) – 一个知道如何将blob解析为文档的blob解析器

Return type:

async alazy_load() AsyncIterator[Document]#

文档的懒加载器。

Return type:

AsyncIterator[Document]

async aload() list[Document]#

将数据加载到Document对象中。

Return type:

列表[Document]

classmethod from_filesystem(path: str | Path, *, glob: str = '**/[!.]*', exclude: Sequence[str] = (), suffixes: Sequence[str] | None = None, show_progress: bool = False, parser: Literal['default'] | BaseBlobParser = 'default', parser_kwargs: dict | None = None) GenericLoader[source]#

使用文件系统blob加载器创建一个通用文档加载器。

Parameters:
  • path (str | Path) –

    要加载文档的目录路径或要加载的单个文件的路径。如果这是一个文件,则 glob、exclude、suffixes

    将被忽略。

  • glob (str) – 用于查找文档的glob模式。

  • suffixes (Sequence[str] | None) – 用于过滤文档的后缀。如果为 None,则所有匹配 glob 的文件都会被加载。

  • exclude (Sequence[str]) – 要从加载器中排除的模式列表。

  • show_progress (bool) – 是否显示进度条(需要 tqdm)。 代理到文件系统加载器。

  • parser (Literal['default'] | ~langchain_core.document_loaders.base.BaseBlobParser) – 一个知道如何将blob解析为文档的blob解析器,如果未提供,将实例化一个默认解析器。 可以通过传递解析器或设置类属性blob_parser来覆盖默认值(后者应通过继承使用)。

  • parser_kwargs (dict | None) – 传递给解析器的关键字参数。

Returns:

一个通用的文档加载器。

Return type:

GenericLoader

static get_parser(**kwargs: Any) BaseBlobParser[source]#

重写此方法以将默认解析器与类关联。

Parameters:

kwargs (任意)

Return type:

BaseBlobParser

lazy_load() Iterator[Document][source]#

懒加载文档。在大规模工作时使用此方法。

Return type:

迭代器[文档]

load() list[Document]#

将数据加载到Document对象中。

Return type:

列表[Document]

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

加载所有文档并将它们分割成句子。

Parameters:

text_splitter (可选[TextSplitter])

Return type:

列表[Document]

使用 GenericLoader 的示例