UnstructuredFileLoader#

class langchain_community.document_loaders.unstructured.UnstructuredFileLoader(
file_path: str | List[str] | Path | List[Path],
*,
mode: str = 'single',
**unstructured_kwargs: Any,
)[source]#

Deprecated since version 0.2.8: Use :class:`~langchain_unstructured.UnstructuredLoader` instead. It will not be removed until langchain-community==1.0.

Load files using Unstructured.

The file loader uses the unstructured partition function and will automatically detect the file type. You can run the loader in different modes: β€œsingle”, β€œelements”, and β€œpaged”. The default β€œsingle” mode will return a single langchain Document object. If you use β€œelements” mode, the unstructured library will split the document into elements such as Title and NarrativeText and return those as individual langchain Document objects. In addition to these post-processing modes (which are specific to the LangChain Loaders), Unstructured has its own β€œchunking” parameters for post-processing elements into more useful chunks for uses cases such as Retrieval Augmented Generation (RAG). You can pass in additional unstructured kwargs to configure different unstructured settings.

Examples

from langchain_community.document_loaders import UnstructuredFileLoader

loader = UnstructuredFileLoader(

β€œexample.pdf”, mode=”elements”, strategy=”fast”,

) docs = loader.load()

References

https://docs.unstructured.io/open-source/core-functionality/partitioning https://docs.unstructured.io/open-source/core-functionality/chunking

Initialize with file path.

Methods

__init__(file_path, *[, mode])

Initialize with file path.

alazy_load()

A lazy loader for Documents.

aload()

Load data into Document objects.

lazy_load()

Load file.

load()

Load data into Document objects.

load_and_split([text_splitter])

Load Documents and split into chunks.

Parameters:
  • file_path (Union[str, List[str], Path, List[Path]])

  • mode (str)

  • unstructured_kwargs (Any)

__init__(
file_path: str | List[str] | Path | List[Path],
*,
mode: str = 'single',
**unstructured_kwargs: Any,
)[source]#

Initialize with file path.

Parameters:
  • file_path (str | List[str] | Path | List[Path])

  • mode (str)

  • unstructured_kwargs (Any)

async alazy_load() β†’ AsyncIterator[Document]#

A lazy loader for Documents.

Yields:

the documents.

Return type:

AsyncIterator[Document]

async aload() β†’ list[Document]#

Load data into Document objects.

Returns:

the documents.

Return type:

list[Document]

lazy_load() β†’ Iterator[Document]#

Load file.

Return type:

Iterator[Document]

load() β†’ list[Document]#

Load data into Document objects.

Returns:

the documents.

Return type:

list[Document]

load_and_split(
text_splitter: TextSplitter | None = None,
) β†’ list[Document]#

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

Do not override this method. It should be considered to be deprecated!

Parameters:

text_splitter (Optional[TextSplitter]) – TextSplitter instance to use for splitting documents. Defaults to RecursiveCharacterTextSplitter.

Raises:

ImportError – If langchain-text-splitters is not installed and no text_splitter is provided.

Returns:

List of Documents.

Return type:

list[Document]