非结构化文件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的示例