From e3cf00b88b3efbc28f3374958bcd42ef2f4c7a14 Mon Sep 17 00:00:00 2001 From: Harrison Chase Date: Mon, 17 Apr 2023 20:28:12 -0700 Subject: [PATCH] redis from url (#3024) --- langchain/vectorstores/redis.py | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) 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)