BibtexLoader#

class langchain_community.document_loaders.bibtex.BibtexLoader(file_path: str, *, parser: BibtexparserWrapper | None = None, max_docs: int | None = None, max_content_chars: int | None = 4000, load_extra_metadata: bool = False, file_pattern: str = '[^:]+\\.pdf')[source]#

加载一个bibtex文件。

每个文档代表bibtex文件中的一个条目。

如果在file bibtex字段中存在PDF文件,原始PDF将被加载到文档文本中。如果没有这样的文件条目,则使用abstract字段代替。

初始化BibtexLoader。

Parameters:
  • file_path (str) – bibtex文件的路径。

  • parser (BibtexparserWrapper | None) – 要使用的解析器。如果为None,则使用默认解析器。

  • max_docs (int | None) – 最大关联文档加载数量。使用 -1 表示无限制。

  • max_content_chars (int | None) – 从PDF中加载的最大字符数。

  • load_extra_metadata (bool) – 是否从PDF加载额外的元数据。

  • file_pattern (str) – 用于匹配bibtex中文件名的正则表达式模式。

方法

__init__(file_path, *[, parser, max_docs, ...])

初始化BibtexLoader。

alazy_load()

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

aload()

将数据加载到Document对象中。

lazy_load()

使用 bibtexparser 加载 bibtex 文件并获取文章文本和文章元数据。

load()

将数据加载到Document对象中。

load_and_split([text_splitter])

加载文档并将其分割成块。

__init__(file_path: str, *, parser: BibtexparserWrapper | None = None, max_docs: int | None = None, max_content_chars: int | None = 4000, load_extra_metadata: bool = False, file_pattern: str = '[^:]+\\.pdf')[源代码]#

初始化BibtexLoader。

Parameters:
  • file_path (str) – bibtex文件的路径。

  • parser (BibtexparserWrapper | None) – 要使用的解析器。如果为None,则使用默认解析器。

  • max_docs (int | None) – 最大关联文档加载数量。使用 -1 表示无限制。

  • max_content_chars (int | None) – 从PDF中加载的最大字符数。

  • load_extra_metadata (bool) – 是否从PDF加载额外的元数据。

  • file_pattern (str) – 用于匹配bibtex中文件名的正则表达式模式。

async alazy_load() AsyncIterator[Document]#

文档的懒加载器。

Return type:

AsyncIterator[Document]

async aload() list[Document]#

将数据加载到Document对象中。

Return type:

列表[Document]

lazy_load() Iterator[Document][source]#

使用bibtexparser加载bibtex文件并获取文章文本以及文章元数据。 参见 https://bibtexparser.readthedocs.io/en/master/

Returns:

以文本格式显示文档的document.page_content的文档列表

Return type:

迭代器[文档]

load() list[Document]#

将数据加载到Document对象中。

Return type:

列表[Document]

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

加载文档并将其分割成块。块以文档形式返回。

不要重写此方法。它应该被视为已弃用!

Parameters:

text_splitter (可选[TextSplitter]) – 用于分割文档的TextSplitter实例。 默认为RecursiveCharacterTextSplitter。

Returns:

文档列表。

Return type:

列表[Document]

使用 BibtexLoader 的示例