.. code-block:: python
        from langchain.vectorstores import Redis
        from langchain.embeddings import OpenAIEmbeddings
    Initialize, create index, and load Documents
        .. code-block:: python
            from langchain.vectorstores import Redis
            from langchain.embeddings import OpenAIEmbeddings
            rds = Redis.from_documents(
                documents, # a list of Document objects from loaders or created
                embeddings, # an Embeddings object
                redis_url="redis://localhost:6379",
            )
    Initialize, create index, and load Documents with metadata
        .. code-block:: python
            rds = Redis.from_texts(
                texts, # a list of strings
                metadata, # a list of metadata dicts
                embeddings, # an Embeddings object
                redis_url="redis://localhost:6379",
            )
    Initialize, create index, and load Documents with metadata and return keys
        .. code-block:: python
            rds, keys = Redis.from_texts_return_keys(
                texts, # a list of strings
                metadata, # a list of metadata dicts
                embeddings, # an Embeddings object
                redis_url="redis://localhost:6379",
            )
    For use cases where the index needs to stay alive, you can initialize
    with an index name such that it's easier to reference later
        .. code-block:: python
            rds = Redis.from_texts(
                texts, # a list of strings
                metadata, # a list of metadata dicts
                embeddings, # an Embeddings object
                index_name="my-index",
                redis_url="redis://localhost:6379",
            )
    Initialize and connect to an existing index (from above)
        .. code-block:: python
            rds = Redis.from_existing_index(
                embeddings, # an Embeddings object