langchain.document_loaders.unstructured.UnstructuredAPIFileIOLoader

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

Load files using Unstructured API.

By default, the loader makes a call to the hosted Unstructured API. If you are running the unstructured API locally, you can change the API rule by passing in the url parameter when you initialize the loader. The hosted Unstructured API requires an API key. See https://www.unstructured.io/api-key/ if you need to generate a key.

You can run the loader in one of two modes: “single” and “elements”. If you use “single” mode, the document will be returned as a single langchain Document object. If you use “elements” mode, the unstructured library will split the document into elements such as Title and NarrativeText. You can pass in additional unstructured kwargs after mode to apply different unstructured settings.

Examples

from langchain.document_loaders import UnstructuredAPIFileLoader

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

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

) docs = loader.load()

References

https://unstructured-io.github.io/unstructured/bricks.html#partition https://www.unstructured.io/api-key/ https://github.com/Unstructured-IO/unstructured-api

Initialize with file path.

Methods

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

Initialize with file path.

lazy_load()

A lazy loader for Documents.

load()

Load file.

load_and_split([text_splitter])

Load Documents and split into chunks.

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

Initialize with file path.

lazy_load() Iterator[Document]

A lazy loader for Documents.

load() List[Document]

Load file.

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

Load Documents and split into chunks. Chunks are returned as Documents.

Parameters

text_splitter – TextSplitter instance to use for splitting documents. Defaults to RecursiveCharacterTextSplitter.

Returns

List of Documents.