langchain_community.document_loaders.generic.GenericLoader

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

通用文档加载器。

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

示例:

解析特定的PDF文件:

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

# 递归加载目录中的所有文本文件。
loader = GenericLoader.from_filesystem(
    "my_lovely_pdf.pdf",
    parser=PyPDFParser()
)
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)

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

# 递归加载目录中的所有文本文件。
loader = GenericLoader.from_filesystem("/path/to/dir", glob="**/*.txt")

# 递归加载目录中所有非隐藏文件。
loader = GenericLoader.from_filesystem("/path/to/dir", glob="**/[!.]*")

# 在不递归的情况下加载目录中的所有文件。
loader = GenericLoader.from_filesystem("/path/to/dir", glob="*")

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

from langchain_community.document_loaders.parsers.pdf import PyPDFParser

# 递归加载目录中的所有文本文件。
loader = GenericLoader.from_filesystem(
    "/path/to/dir",
    glob="**/*.pdf",
    parser=PyPDFParser()
)

一个通用的文档加载器。

参数:

blob_loader:一个知道如何生成blob的blob加载器 blob_parser:一个知道如何将blob解析为文档的blob解析器

Methods

__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])

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

Parameters
Return type

None

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

一个通用的文档加载器。

参数:

blob_loader:一个知道如何生成blob的blob加载器 blob_parser:一个知道如何将blob解析为文档的blob解析器

Parameters
Return type

None

async alazy_load() AsyncIterator[Document]

一个用于文档的惰性加载器。

Return type

AsyncIterator[Document]

async aload() List[Document]

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

Return type

List[Document]

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

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

参数:

path: 要加载文档的目录路径或要加载的单个文件的路径。如果这是一个文件,则glob、exclude、suffixes将被忽略。 glob: 用于查找文档的glob模式。 suffixes: 用于过滤文档的后缀。如果为None,则将加载与glob匹配的所有文件。 exclude: 要从加载器中排除的模式列表。 show_progress: 是否显示进度条(需要tqdm)。代理到文件系统加载器。 parser: 一个知道如何将blob解析为文档的blob解析器,如果未提供,则将实例化一个默认解析器。默认值可以通过传递解析器或设置类属性`blob_parser`来覆盖(后者应该与继承一起使用)。 parser_kwargs: 传递给解析器的关键字参数。

返回:

一个通用的文档加载器。

Parameters
  • path (Union[str, Path]) –

  • glob (str) –

  • exclude (Sequence[str]) –

  • suffixes (Optional[Sequence[str]]) –

  • show_progress (bool) –

  • parser (Union[Literal['default'], BaseBlobParser]) –

  • parser_kwargs (Optional[dict]) –

Return type

GenericLoader

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

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

Parameters

kwargs (Any) –

Return type

BaseBlobParser

lazy_load() Iterator[Document][source]

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

Return type

Iterator[Document]

load() List[Document]

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

Return type

List[Document]

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

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

Parameters

text_splitter (Optional[TextSplitter]) –

Return type

List[Document]

Examples using GenericLoader