From 92ee848a6b033113c48a2399783aaf8dbc272ce1 Mon Sep 17 00:00:00 2001 From: Robert Shelton <robert.b.shelton.42@gmail.com> Date: Tue, 25 Feb 2025 03:24:51 -0500 Subject: [PATCH] update for redisvl 0.4.0 (#17902) * update for redisvl 0.4.0 * update toml * bump version * simplify creation --- .../llama_index/vector_stores/redis/base.py | 42 +++++++------------ .../pyproject.toml | 4 +- 2 files changed, 18 insertions(+), 28 deletions(-) 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 de5cfd5238..9ed56f2aa0 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 106ffea44c..5ac4f9dc5c 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] -- GitLab