diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-redis/llama_index/vector_stores/redis/base.py b/llama-index-integrations/vector_stores/llama-index-vector-stores-redis/llama_index/vector_stores/redis/base.py
index de5cfd523885277980fbe58accc5b80703b617ee..9ed56f2aa0787402af732acddd34132cf16de66c 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-redis/llama_index/vector_stores/redis/base.py
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-redis/llama_index/vector_stores/redis/base.py
@@ -7,6 +7,16 @@ import logging
 from typing import Any, Dict, List, Optional
 
 import fsspec
+from redis import Redis
+from redis.exceptions import RedisError
+from redis.exceptions import TimeoutError as RedisTimeoutError
+from redisvl.index import SearchIndex
+from redisvl.query import CountQuery, FilterQuery, VectorQuery
+from redisvl.query.filter import FilterExpression, Tag
+from redisvl.redis.utils import array_to_buffer
+from redisvl.schema import IndexSchema
+from redisvl.schema.fields import BaseField
+
 from llama_index.core.bridge.pydantic import PrivateAttr
 from llama_index.core.schema import (
     BaseNode,
@@ -17,8 +27,8 @@ from llama_index.core.schema import (
 )
 from llama_index.core.vector_stores.types import (
     BasePydanticVectorStore,
-    MetadataFilters,
     MetadataFilter,
+    MetadataFilters,
     VectorStoreQuery,
     VectorStoreQueryResult,
 )
@@ -27,27 +37,15 @@ from llama_index.core.vector_stores.utils import (
     node_to_metadata_dict,
 )
 from llama_index.vector_stores.redis.schema import (
-    NODE_ID_FIELD_NAME,
-    NODE_CONTENT_FIELD_NAME,
     DOC_ID_FIELD_NAME,
+    NODE_CONTENT_FIELD_NAME,
+    NODE_ID_FIELD_NAME,
     TEXT_FIELD_NAME,
     VECTOR_FIELD_NAME,
     RedisVectorStoreSchema,
 )
 from llama_index.vector_stores.redis.utils import REDIS_LLAMA_FIELD_SPEC
 
-from redis import Redis
-from redis.exceptions import RedisError
-from redis.exceptions import TimeoutError as RedisTimeoutError
-
-from redisvl.index import SearchIndex
-from redisvl.schema import IndexSchema
-from redisvl.query import VectorQuery, FilterQuery, CountQuery
-from redisvl.query.filter import Tag, FilterExpression
-from redisvl.schema.fields import BaseField
-from redisvl.redis.utils import array_to_buffer
-
-
 logger = logging.getLogger(__name__)
 
 
@@ -136,19 +134,11 @@ class RedisVectorStore(BasePydanticVectorStore):
             TEXT_FIELD_NAME,
             NODE_CONTENT_FIELD_NAME,
         ]
-        self._index = SearchIndex(schema=schema)
+        self._index = SearchIndex(
+            schema=schema, redis_client=redis_client, redis_url=redis_url
+        )
         self._overwrite = overwrite
 
-        # Establish redis connection
-        if redis_client:
-            self._index.set_client(redis_client)
-        elif redis_url:
-            self._index.connect(redis_url)
-        else:
-            raise ValueError(
-                "Failed to connect to Redis. Must provide a valid redis client or url"
-            )
-
         # Create index
         self.create_index()
 
diff --git a/llama-index-integrations/vector_stores/llama-index-vector-stores-redis/pyproject.toml b/llama-index-integrations/vector_stores/llama-index-vector-stores-redis/pyproject.toml
index 106ffea44cd689219666716f1bb20171c5a7b6ec..5ac4f9dc5cfd46760cba4c6e5eb59d3dc0ac7b7b 100644
--- a/llama-index-integrations/vector_stores/llama-index-vector-stores-redis/pyproject.toml
+++ b/llama-index-integrations/vector_stores/llama-index-vector-stores-redis/pyproject.toml
@@ -27,11 +27,11 @@ exclude = ["**/BUILD"]
 license = "MIT"
 name = "llama-index-vector-stores-redis"
 readme = "README.md"
-version = "0.4.0"
+version = "0.5.0"
 
 [tool.poetry.dependencies]
 python = ">=3.9,<4.0"
-redisvl = "^0.3.4"
+redisvl = "^0.4.1"
 llama-index-core = "^0.12.0"
 
 [tool.poetry.group.dev.dependencies]