langchain_unstructured.document_loaders.UnstructuredLoader

class langchain_unstructured.document_loaders.UnstructuredLoader(file_path: Optional[Union[str, Path, list[str], list[pathlib.Path]]] = None, *, file: Optional[Union[IO[bytes], list[IO[bytes]]]] = None, partition_via_api: bool = False, post_processors: Optional[list[Callable[[str], str]]] = None, api_key: Optional[str] = None, client: Optional[UnstructuredClient] = None, url: Optional[str] = None, **kwargs: Any)[source]

非结构化文档加载器接口。

使用 unstructured-client SDK 和 Unstructured API 或本地使用 unstructured 库来分片和加载文件。

API:默认情况下,此包配置为与非结构化API协同工作。要使用非结构化API,请设置partition_via_api=True并定义api_key。如果您在本地运行非结构化API,可以在初始化加载器时通过定义url来更改API规则。云托管的非结构化API需要API密钥。请参阅下面的链接,了解更多关于我们的API服务以及如何获取API密钥。

本地:

要本地分割文件,您必须安装unstructured包。您可以使用pip install unstructured安装它。默认情况下,文件加载器使用非结构化的partition函数,并会自动检测文件类型。

除此之外,Unstructured还提供了一组丰富的“分块”参数,用于将元素后处理为更有用的文本段,适用于检索增强生成(RAG)等用例。您可以通过将额外的Unstructured kwargs传递给加载器来配置不同的非结构化设置。
设置
实例化

加载

参考

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

初始化加载器。

方法

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_path, file, ...])()

alazy_load

Document的懒加载器。()

aload

将数据加载到Document对象中。()

lazy_load

将文件(们)加载到_UnstructuredBaseLoader中。()

aload

load_and_split([text_splitter])

加载Documents并将其分割成块。

参数
  • file_path (Optional[str | Path | list[str] | list[Path]]) –

  • file (Optional[IO[bytes] | list[IO[bytes]]) –

  • partition_via_api (bool) –

  • post_processors (Optional[list[Callable[[str],str]]) –

  • api_key (Optional[str]) –

  • client (Optional[UnstructuredClient]) –

  • url (Optional[str]) –

  • kwargs (Any) –

__init__(file_path: Optional[Union[str, Path, list[str], list[pathlib.Path]]] = None, *, file: Optional[Union[IO[bytes], list[IO[bytes]]]] = None, partition_via_api: bool = False, post_processors: Optional[list[Callable[[str], str]]] = None, api_key: Optional[str] = None, client: Optional[UnstructuredClient] = None, url: Optional[str] = None, **kwargs: Any)[source]

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

参数
  • file_path (Optional[Union[strPathlist[str],list[pathlib.Path]]) –

  • file (Optional[Union[IO[bytes],list[IO[bytes]]]) –

  • partition_via_api (bool) –

  • post_processors (Optional[list[Callable[[str],str]]) –

  • api_key (Optional[str]) –

  • client (Optional[UnstructuredClient]) –

  • url (Optional[str]) –

  • kwargs (Any) –

async alazy_load() AsyncIterator[Document]

alazy_load

返回类型

AsyncIterator[Document]

async aload() List[Document]

aload

返回类型

List[Document]

lazy_load() Iterator[Document][源代码]

lazy_load

返回类型

Iterator[Document]

load() List[Document]

aload

返回类型

List[Document]

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

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

不要覆盖此方法。它可能已被弃用!

参数

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

返回

文档列表。

返回类型

List[Document]