通用加载器#
- 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)一个通用的文档加载器。
一个用于文档的懒加载器。
aload
()将数据加载到Document对象中。
from_filesystem
(path, *[, glob, exclude, ...])使用文件系统 blob 加载器创建通用文档加载器。
get_parser
(**kwargs)重写此方法以将默认解析器与类关联。
懒加载文档。
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:
无
- 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:
- static get_parser(**kwargs: Any) BaseBlobParser [source]#
重写此方法以将默认解析器与类关联。
- Parameters:
kwargs (任意)
- Return type:
- load_and_split(text_splitter: TextSplitter | None = None) List[Document] [source]#
加载所有文档并将它们分割成句子。
- Parameters:
text_splitter (可选[TextSplitter])
- Return type:
列表[Document]
使用 GenericLoader 的示例