main
py 25 lines 769 Bytes
Raw
1 """Catch-all parser using UnstructuredLoader."""
2
3 import os
4
5 from plugins._document_query.helpers.fetch import FetchedDocument
6 from .base import BaseParser
7
8 os.environ.setdefault("USER_AGENT", "@mixedbread-ai/unstructured")
9
10
11 class UnstructuredParser(BaseParser):
12 mimetypes = ["*"]
13
14 def _parse_sync(self, document: FetchedDocument, config: dict) -> str:
15 from langchain_unstructured import UnstructuredLoader
16
17 with document.local_file() as file_path:
18 loader = UnstructuredLoader(
19 file_path=file_path,
20 mode="single",
21 partition_via_api=False,
22 strategy="hi_res",
23 )
24 elements = loader.load()
25 return "\n".join(e.page_content for e in elements)