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
            # must pass in schema and key_prefix from another index
            existing_rds = Redis.from_existing_index(
                embeddings, # an Embeddings object
                index_name="my-index",
                schema=rds.schema, # schema dumped from another index
                key_prefix=rds.key_prefix, # key prefix from another index
                redis_url="redis://localhost:6379",
            )