Source code for langchain.docstore.base
"""Interface to access to place that stores documents."""
from abc import ABC, abstractmethod
from typing import Dict, List, Union
from langchain.docstore.document import Document
[docs]class Docstore(ABC):
    """Interface to access to place that stores documents."""
[docs]    @abstractmethod
    def search(self, search: str) -> Union[str, Document]:
        """Search for document.
        If page exists, return the page summary, and a Document object.
        If page does not exist, return similar entries.
        """
[docs]    def delete(self, ids: List) -> None:
        """Deleting IDs from in memory dictionary."""
        raise NotImplementedError
[docs]class AddableMixin(ABC):
    """Mixin class that supports adding texts."""
[docs]    @abstractmethod
    def add(self, texts: Dict[str, Document]) -> None:
        """Add more documents."""