diff --git a/langchain/vectorstores/redis.py b/langchain/vectorstores/redis.py index 618b11ee..ad32616d 100644 --- a/langchain/vectorstores/redis.py +++ b/langchain/vectorstores/redis.py @@ -328,7 +328,15 @@ class Redis(VectorStore): }, ) pipeline.execute() - return cls(redis_url, index_name, embedding.embed_query) + return cls( + redis_url, + index_name, + embedding.embed_query, + content_key=content_key, + metadata_key=metadata_key, + vector_key=vector_key, + **kwargs, + ) @staticmethod def drop_index( @@ -375,6 +383,9 @@ class Redis(VectorStore): cls, embedding: Embeddings, index_name: str, + content_key: str = "content", + metadata_key: str = "metadata", + vector_key: str = "content_vector", **kwargs: Any, ) -> Redis: """Connect to an existing Redis index.""" @@ -400,7 +411,15 @@ class Redis(VectorStore): except Exception as e: raise ValueError(f"Redis failed to connect: {e}") - return cls(redis_url, index_name, embedding.embed_query) + return cls( + redis_url, + index_name, + embedding.embed_query, + content_key=content_key, + metadata_key=metadata_key, + vector_key=vector_key, + **kwargs, + ) def as_retriever(self, **kwargs: Any) -> BaseRetriever: return RedisVectorStoreRetriever(vectorstore=self, **kwargs)