Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
nuclia.py39 linesDownload Raw Back to document_loaders
1import json2import uuid3from typing import List4 5from langchain_core.documents import Document6 7from langchain_community.document_loaders.base import BaseLoader8from langchain_community.tools.nuclia.tool import NucliaUnderstandingAPI9 10 11class NucliaLoader(BaseLoader):12    """Load from any file type using `Nuclia Understanding API`."""13 14    def __init__(self, path: str, nuclia_tool: NucliaUnderstandingAPI):15        self.nua = nuclia_tool16        self.id = str(uuid.uuid4())17        self.nua.run({"action": "push", "id": self.id, "path": path, "text": None})18 19    def load(self) -> List[Document]:20        """Load documents."""21        data = self.nua.run(22            {23                "action": "pull",24                "id": self.id,25                "path": None,26                "text": None,27            }28        )29        if not data:30            return []31        obj = json.loads(data)32        text = obj["extracted_text"][0]["body"]["text"]33        print(text)  # noqa: T20134        metadata = {35            "file": obj["file_extracted_data"][0],36            "metadata": obj["field_metadata"][0],37        }38        return [Document(page_content=text, metadata=metadata)]39 
codekingpro/portable-devtools · Team Ai