**kwargs,
        )
        self._embedding_function = embedding_function or embedding
        self._id_tensor_name = "ids" if "ids" in self.vectorstore.tensors() else "id"
    @property
    def embeddings(self) -> Optional[Embeddings]:
        return self._embedding_function
[docs]    def add_texts(
        self,
        texts: Iterable[str],
        metadatas: Optional[List[dict]] = None,
        ids: Optional[List[str]] = None,
        **kwargs: Any,
    ) -> List[str]:
        """Run more texts through the embeddings and add to the vectorstore.
        Examples:
            >>> ids = deeplake_vectorstore.add_texts(
            ...     texts = <list_of_texts>,
            ...     metadatas = <list_of_metadata_jsons>,
            ...     ids = <list_of_ids>,
            ... )
        Args:
            texts (Iterable[str]): Texts to add to the vectorstore.
            metadatas (Optional[List[dict]], optional): Optional list of metadatas.
            ids (Optional[List[str]], optional): Optional list of IDs.
            embedding_function (Optional[Embeddings], optional): Embedding function
                to use to convert the text into embeddings.
            **kwargs (Any): Any additional keyword arguments passed is not supported
                by this method.
        Returns:
            List[str]: List of IDs of the added texts.
        """
        if kwargs:
            unsupported_items = "`, `".join(set(kwargs.keys()))
            raise TypeError(
                f"`{unsupported_items}` is/are not a valid argument to add_text method"
            )
        kwargs = {}
        if ids:
            if self._id_tensor_name == "ids":  # for backwards compatibility