"""
    _LANGCHAIN_DEFAULT_DB_NAME = "langchain_store"
    _LANGCHAIN_DEFAULT_DB_PATH = "/tmp/langchain-epsilla"
    _LANGCHAIN_DEFAULT_TABLE_NAME = "langchain_collection"
[docs]    def __init__(
        self,
        client: Any,
        embeddings: Embeddings,
        db_path: Optional[str] = _LANGCHAIN_DEFAULT_DB_PATH,
        db_name: Optional[str] = _LANGCHAIN_DEFAULT_DB_NAME,
    ):
        """Initialize with necessary components."""
        try:
            import pyepsilla
        except ImportError as e:
            raise ImportError(
                "Could not import pyepsilla python package. "
                "Please install pyepsilla package with `pip install pyepsilla`."
            ) from e
        if not isinstance(client, pyepsilla.vectordb.Client):
            raise TypeError(
                f"client should be an instance of pyepsilla.vectordb.Client, "
                f"got {type(client)}"
            )
        self._client: vectordb.Client = client
        self._db_name = db_name
        self._embeddings = embeddings
        self._collection_name = Epsilla._LANGCHAIN_DEFAULT_TABLE_NAME
        self._client.load_db(db_name=db_name, db_path=db_path)
        self._client.use_db(db_name=db_name)
    @property
    def embeddings(self) -> Optional[Embeddings]:
        return self._embeddings
[docs]    def use_collection(self, collection_name: str) -> None:
        """
        Set default collection to use.
        Args:
            collection_name (str): The name of the collection.
        """
        self._collection_name = collection_name