redis_url="redis://localhost:6379",
)
Initialize, create index, and load Documents with metadatards = 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
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
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)
rds = Redis.from_existing_index(
    embeddings, # an Embeddings object
    index_name="my-index",
    redis_url="redis://localhost:6379",
)
Advanced examples:
Custom vector schema can be supplied to change the way that
Redis creates the underlying vector schema. This is useful
for production use cases where you want to optimize the
vector schema for your use case. ex. using HNSW instead of
FLAT (knn) which is the default
vector_schema = {
    "algorithm": "HNSW"
}
rds = Redis.from_texts(
    texts, # a list of strings
    metadata, # a list of metadata dicts
    embeddings, # an Embeddings object