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)一个通用的文档加载器。
一个用于文档的惰性加载器。
aload
()将数据加载到文档对象中。
from_filesystem
(path, *[, glob, exclude, ...])创建一个使用文件系统blob加载器的通用文档加载器。
get_parser
(**kwargs)重写此方法以将默认解析器与类关联。
懒加载文档。在大规模工作时使用。
load
()将数据加载到文档对象中。
load_and_split
([text_splitter])加载所有文档并将它们分割成句子。
- Parameters
blob_loader (BlobLoader) –
blob_parser (BaseBlobParser) –
- Return type
None
- __init__(blob_loader: BlobLoader, blob_parser: BaseBlobParser) None [source]¶
一个通用的文档加载器。
- 参数:
blob_loader:一个知道如何生成blob的blob加载器 blob_parser:一个知道如何将blob解析为文档的blob解析器
- Parameters
blob_loader (BlobLoader) –
blob_parser (BaseBlobParser) –
- Return type
None
- 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
- static get_parser(**kwargs: Any) BaseBlobParser [source]¶
重写此方法以将默认解析器与类关联。
- Parameters
kwargs (Any) –
- Return type
- load_and_split(text_splitter: Optional[TextSplitter] = None) List[Document] [source]¶
加载所有文档并将它们分割成句子。
- Parameters
text_splitter (Optional[TextSplitter]) –
- Return type
List[Document]