Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
psychic.py41 linesDownload Raw Back to document_loaders
1from typing import Iterator, Optional2 3from langchain_core.documents import Document4 5from langchain_community.document_loaders.base import BaseLoader6 7 8class PsychicLoader(BaseLoader):9    """Load from `Psychic.dev`."""10 11    def __init__(12        self, api_key: str, account_id: str, connector_id: Optional[str] = None13    ):14        """Initialize with API key, connector id, and account id.15 16        Args:17            api_key: The Psychic API key.18            account_id: The Psychic account id.19            connector_id: The Psychic connector id.20        """21 22        try:23            from psychicapi import ConnectorId, Psychic24        except ImportError:25            raise ImportError(26                "`psychicapi` package not found, please run `pip install psychicapi`"27            )28        self.psychic = Psychic(secret_key=api_key)29        self.connector_id = ConnectorId(connector_id)30        self.account_id = account_id31 32    def lazy_load(self) -> Iterator[Document]:33        psychic_docs = self.psychic.get_documents(34            connector_id=self.connector_id, account_id=self.account_id35        )36        for doc in psychic_docs.documents:37            yield Document(38                page_content=doc["content"],39                metadata={"title": doc["title"], "source": doc["uri"]},40            )41