非结构化文件IO加载器#
- class langchain_community.document_loaders.unstructured.UnstructuredFileIOLoader(file: IO[bytes], *, mode: str = 'single', **unstructured_kwargs: Any)[source]#
- 自版本0.2.8起已弃用:请改用 - :class:`~langchain_unstructured.UnstructuredLoader`。在langchain-community==1.0之前不会移除。- 使用Unstructured加载以读取模式打开的文件类对象。 - 文件加载器使用非结构化分区函数,并会自动检测文件类型。您可以在不同的模式下运行加载器:“single”(单一)、“elements”(元素)和“paged”(分页)。默认的“single”模式将返回一个单一的langchain Document对象。如果您使用“elements”模式,非结构化库将文档拆分为诸如标题和叙述文本等元素,并将它们作为单独的langchain Document对象返回。除了这些后处理模式(这些模式特定于LangChain加载器),Unstructured还有自己的“chunking”(分块)参数,用于将后处理元素分块为更有用的块,适用于诸如检索增强生成(RAG)等用例。您可以传入额外的非结构化kwargs来配置不同的非结构化设置。 - 示例 - 从langchain_community.document_loaders导入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])- 使用文件路径进行初始化。 - 一个用于文档的懒加载器。 - aload()- 将数据加载到Document对象中。 - 加载文件。 - load()- 将数据加载到Document对象中。 - load_and_split([text_splitter])- 加载文档并将其分割成块。 - Parameters:
- 文件 (IO[字节]) 
- mode (str) 
- unstructured_kwargs (Any) 
 
 - __init__(file: IO[bytes], *, mode: str = 'single', **unstructured_kwargs: Any)[来源]#
- 使用文件路径进行初始化。 - Parameters:
- 文件 (IO[字节]) 
- mode (str) 
- unstructured_kwargs (Any) 
 
 
 - load_and_split(text_splitter: TextSplitter | None = None) list[Document]#
- 加载文档并将其分割成块。块以文档形式返回。 - 不要重写此方法。它应该被视为已弃用! - Parameters:
- text_splitter (可选[TextSplitter]) – 用于分割文档的TextSplitter实例。 默认为RecursiveCharacterTextSplitter。 
- Returns:
- 文档列表。 
- Return type:
- 列表[Document] 
 
 
使用UnstructuredFileIOLoader的示例
