langchain_community.document_loaders.unstructured.UnstructuredFileIOLoader

class langchain_community.document_loaders.unstructured.UnstructuredFileIOLoader(file: IO[bytes], *, mode: str = 'single', **unstructured_kwargs: Any)[来源代码]

自版本 0.2.8 被弃用: 请使用 langchain_unstructured.UnstructuredLoader 代替。

使用 Unstructured 加载处于读取模式下的文件对象。

文件加载器使用非结构化分区函数,将自动检测文件类型。您可以在不同的模式下运行加载器:“single”,“elements”,和“paged”。默认的“single”模式将返回一个单个 langchain 文档对象。如果您使用“elements”模式,非结构化库将把文档拆分为诸如标题和叙事文本等元素,并以单个 langchain 文档对象的形式返回。除了这些后处理模式(专门针对 LangChain Loaders)之外,非结构化还为其后处理元素到更实用的块提供了自己的“chunking”参数,用于诸如检索增强生成(RAG)等用例。您可以传递额外的非结构化 kwarg 来配置不同的非结构化设置。

示例

from langchain_community.document_loaders import UnstructuredFileIOLoader

with open(“example.pdf”, “rb”) as f
loader = UnstructuredFileIOLoader(

f, mode=”elements”, strategy=”fast”,

) docs = loader.load()

参考

https://docs.unstructured.io/open-source/core-functionality/partitioning https://docs.unstructured.io/open-source/core-functionality/chunking

通过文件路径初始化。

方法

__init__(file, *[, mode])

通过文件路径初始化。

alazy_load()

Documents 的懒惰加载器。

aload()

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

lazy_load()

加载文件。

load()

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

load_and_split([text_splitter])

加载文档并分割成块。

参数
  • file (IO[bytes]) –

  • mode (str) –

  • unstructured_kwargs (Any) –

__init__(file: IO[bytes], *, mode: str = 'single', **unstructured_kwargs: Any)[源代码]

通过文件路径初始化。

参数
  • file (IO[bytes]) –

  • mode (str) –

  • unstructured_kwargs (Any) –

async alazy_load() AsyncIterator[Document]

Documents 的懒惰加载器。

返回类型

AsyncIterator[Document]

async aload() List[Document]

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

返回类型

List[Document]

lazy_load() Iterator[Document]

加载文件。

返回类型

Iterator[Document]

load() List[Document]

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

返回类型

List[Document]

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

加载文档并将其划分为块。这些块被作为文档返回。

请勿重写此方法。应考虑将其废弃!

参数

text_splitter (Optional[TextSplitter]) – 用于拆分文档的TextSplitter实例。默认值为RecursiveCharacterTextSplitter。

返回

文档列表。

返回类型

列表[Document]

使用UnstructuredFileIOLoader的示例