langchain_community.document_loaders.generic.GenericLoader

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()
)

通用文档加载器。

参数
  • blob_loader (BlobLoader) – 知道如何生成blob的blob加载器

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

方法

__init__(blob_loader, blob_parser)

通用文档加载器。

alazy_load()

文档的懒加载器。

aload()

将数据加载到文档对象中。

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

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

get_parser(**kwargs)

覆盖此方法以将默认解析器与类关联。

lazy_load()

懒加载数据。

load()

将数据加载到文档对象中。

load_and_split([text_splitter])

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

__init__(blob_loader: BlobLoader, blob_parser: BaseBlobParser) None[源代码]

通用文档加载器。

参数
  • blob_loader (BlobLoader) – 知道如何生成blob的blob加载器

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

返回类型

None

async alazy_load() AsyncIterator[Document]

文档的懒加载器。

返回类型

AsyncIteratorDocument

async aload() List[Document]

将数据加载到文档对象中。

返回类型

ListDocument

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

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

参数
  • path (Union[str, Path]) –

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

    参数。

  • glob (str) – 使用此glob模式查找文档。

  • suffixes (可选[Sequence[str]]) – 过滤文档要使用的后缀。如果为None,则加载所有匹配glob的文件。

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

  • show_progress (布尔值) – 是否显示进度条(需要tqdm)。作为文件系统加载器的代理。

  • 解析器 (Union[Literal['default'], ~langchain_core.document_loaders.base.BaseBlobParser]) – 一种能够将块解析为文档的块解析器,如果没有提供,则将实例化默认解析器。默认值可以通过传递解析器或设置类属性
    blob_parser(后者应与继承一起使用)来覆盖。

  • parser_kwargs (Optional[dict]) – 传递给解析器的关键字参数。

返回值

通用文档加载器。

返回类型

GenericLoader

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

覆盖此方法以将默认解析器与类关联。

参数

kwargs (Any) –

返回类型

BaseBlobParser

lazy_load() Iterator[Document][source]

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

返回类型

Iterator[Document]

load() List[Document]

将数据加载到文档对象中。

返回类型

ListDocument

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

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

参数

text_splitter (Optional[TextSplitter]) –

返回类型

List[Document]

使用GenericLoader的示例