非结构化API文件IO加载器#

class langchain_community.document_loaders.unstructured.UnstructuredAPIFileIOLoader(file: IO[bytes] | Sequence[IO[bytes]], *, mode: str = 'single', url: str = 'https://api.unstructuredapp.io/general/v0/general', api_key: str = '', **unstructured_kwargs: Any)[source]#

自版本0.2.8起已弃用:请改用:class:`~langchain_unstructured.UnstructuredLoader`。在langchain-community==1.0之前不会移除。

使用unstructured-client SDK将类似文件的对象发送到Unstructured API。

默认情况下,加载器会调用托管的Unstructured API。如果您在本地运行unstructured API,可以通过在初始化加载器时传入url参数来更改API规则。托管的Unstructured API需要一个API密钥。请参阅以下链接以了解更多关于我们的API产品并获取API密钥。

您可以在不同的模式下运行加载器:“single”、“elements”和“paged”。默认的“single”模式将返回一个单一的langchain Document对象。如果您使用“elements”模式,unstructured库将文档拆分为诸如Title和NarrativeText等元素,并将它们作为单独的langchain Document对象返回。除了这些后处理模式(这些模式特定于LangChain加载器),Unstructured还有自己的“chunking”参数,用于将后处理元素拆分为更有用的块,适用于诸如检索增强生成(RAG)等用例。您可以传入额外的unstructured kwargs来配置不同的unstructured设置。

示例

从langchain_community.document_loaders导入UnstructuredAPIFileLoader

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

f, mode="elements", strategy="fast", api_key="MY_API_KEY",

) docs = loader.load()

参考文献

https://docs.unstructured.io/api-reference/api-services/sdk https://docs.unstructured.io/api-reference/api-services/overview https://docs.unstructured.io/open-source/core-functionality/partitioning https://docs.unstructured.io/open-source/core-functionality/chunking

使用文件路径进行初始化。

方法

__init__(file, *[, mode, url, api_key])

使用文件路径进行初始化。

alazy_load()

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

aload()

将数据加载到Document对象中。

lazy_load()

加载文件。

load()

将数据加载到Document对象中。

load_and_split([text_splitter])

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

Parameters:
  • 文件 (联合[IO[字节], 序列[IO[字节]]])

  • mode (str)

  • url (str)

  • api_key (str)

  • unstructured_kwargs (Any)

__init__(file: IO[bytes] | Sequence[IO[bytes]], *, mode: str = 'single', url: str = 'https://api.unstructuredapp.io/general/v0/general', api_key: str = '', **unstructured_kwargs: Any)[source]#

使用文件路径进行初始化。

Parameters:
  • 文件 (IO[字节] | 序列[IO[字节]])

  • mode (str)

  • url (str)

  • api_key (str)

  • unstructured_kwargs (Any)

async alazy_load() AsyncIterator[Document]#

文档的懒加载器。

Return type:

AsyncIterator[Document]

async aload() list[Document]#

将数据加载到Document对象中。

Return type:

列表[Document]

lazy_load() Iterator[Document]#

加载文件。

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]