Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions libs/redis/langchain_redis/chat_message_history.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from typing import Any, Dict, List, Optional

from langchain_core.chat_history import BaseChatMessageHistory
from langchain_core.messages import BaseMessage, messages_from_dict
from langchain_core.messages import BaseMessage, ToolMessage, messages_from_dict
from redis import Redis
from redis.exceptions import ResponseError
from redisvl.index import SearchIndex # type: ignore
Expand Down Expand Up @@ -267,7 +267,7 @@ def add_message(self, message: BaseMessage) -> None:

timestamp = datetime.now().timestamp()
message_id = str(ULID())
redis_msg = {
common_data_to_store: dict[str, Any] = {
"type": message.type,
"message_id": message_id,
"data": {
Expand All @@ -278,10 +278,15 @@ def add_message(self, message: BaseMessage) -> None:
"session_id": self.session_id,
"timestamp": timestamp,
}
if isinstance(message, ToolMessage):
common_data_to_store["data"]["tool_call_id"] = message.tool_call_id
common_data_to_store["data"]["status"] = message.status

# Use RedisVL to load the data
self.index.load(
data=[redis_msg], keys=[self._message_key(message_id)], ttl=self.ttl
data=[common_data_to_store],
keys=[self._message_key(message_id)],
ttl=self.ttl,
)

def clear(self) -> None:
Expand Down