Skip to content

Commit

Permalink
refactor: use redis_client over redis as param name in RedisCache, Re…
Browse files Browse the repository at this point in the history
…disSemanticCache, and RedisChatMessageHistory
  • Loading branch information
bsbodden committed Sep 6, 2024
1 parent ad35906 commit 805b9a2
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 9 deletions.
8 changes: 4 additions & 4 deletions libs/redis/langchain_redis/cache.py
Original file line number Diff line number Diff line change
Expand Up @@ -103,9 +103,9 @@ def __init__(
redis_url: str = "redis://localhost:6379",
ttl: Optional[int] = None,
prefix: Optional[str] = "redis",
redis: Optional[Redis] = None,
redis_client: Optional[Redis] = None,
):
self.redis = redis or Redis.from_url(redis_url)
self.redis = redis_client or Redis.from_url(redis_url)
try:
self.redis.client_setinfo("LIB-NAME", __full_lib_name__) # type: ignore
except ResponseError:
Expand Down Expand Up @@ -330,9 +330,9 @@ def __init__(
ttl: Optional[int] = None,
name: Optional[str] = "llmcache",
prefix: Optional[str] = "llmcache",
redis: Optional[Redis] = None,
redis_client: Optional[Redis] = None,
):
self.redis = redis or Redis.from_url(redis_url)
self.redis = redis_client or Redis.from_url(redis_url)
self.embeddings = embeddings
self.prefix = prefix
vectorizer = EmbeddingsVectorizer(embeddings=self.embeddings)
Expand Down
4 changes: 2 additions & 2 deletions libs/redis/langchain_redis/chat_message_history.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,10 +84,10 @@ def __init__(
key_prefix: str = "chat:",
ttl: Optional[int] = None,
index_name: str = "idx:chat_history",
redis: Optional[Redis] = None,
redis_client: Optional[Redis] = None,
**kwargs: Any,
):
self.redis_client = redis or Redis.from_url(redis_url, **kwargs)
self.redis_client = redis_client or Redis.from_url(redis_url, **kwargs)
try:
self.redis_client.client_setinfo("LIB-NAME", __full_lib_name__) # type: ignore
except ResponseError:
Expand Down
2 changes: 1 addition & 1 deletion libs/redis/langchain_redis/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -413,7 +413,7 @@ def from_existing_index(cls, index_name: str, redis: Redis) -> "RedisConfig":
config = RedisConfig.from_existing_index(
index_name="my_existing_index",
redis=redis_client
redis_client=redis_client
)
print(config.index_name) # Output: my_existing_index
Expand Down
4 changes: 2 additions & 2 deletions libs/redis/tests/integration_tests/test_cache.py
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ def test_redis_cache_chat(self, redis_cache: RedisCache) -> None:

def test_redis_cache_with_preconfigured_client(redis_url: str) -> None:
redis_client = Redis.from_url(redis_url)
cache = RedisCache(redis=redis_client)
cache = RedisCache(redis_client=redis_client)

cache.update("test_prompt", "test_llm", [Generation(text="test_response")])
result = cache.lookup("test_prompt", "test_llm")
Expand All @@ -204,7 +204,7 @@ def test_redis_semantic_cache_with_preconfigured_client(
redis_client = Redis.from_url(redis_url)
cache = RedisSemanticCache(
embeddings=openai_embeddings,
redis=redis_client,
redis_client=redis_client,
)

prompt = "What is the capital of France?"
Expand Down
18 changes: 18 additions & 0 deletions libs/redis/tests/integration_tests/test_chat_message_history.py
Original file line number Diff line number Diff line change
Expand Up @@ -252,3 +252,21 @@ def test_add_message_to_existing_session(redis_url: str) -> None:

assert len(history1.messages) == 2
assert len(history2.messages) == 2


def test_chat_history_with_preconfigured_client(redis_url: str) -> None:
redis_client = Redis.from_url(redis_url)
session_id = f"test_session_{str(ULID())}"
history = RedisChatMessageHistory(session_id=session_id, redis_client=redis_client)

history.add_message(HumanMessage(content="Hello, AI!"))
history.add_message(AIMessage(content="Hello, human!"))

messages = history.messages
assert len(messages) == 2
assert isinstance(messages[0], HumanMessage)
assert isinstance(messages[1], AIMessage)
assert messages[0].content == "Hello, AI!"
assert messages[1].content == "Hello, human!"

history.clear()

0 comments on commit 805b9a2

Please sign in to comment.