diff --git a/libs/core/langchain_core/chat_history.py b/libs/core/langchain_core/chat_history.py index 9e74dfca2bb..f985f25ad01 100644 --- a/libs/core/langchain_core/chat_history.py +++ b/libs/core/langchain_core/chat_history.py @@ -65,28 +65,32 @@ class BaseChatMessageHistory(ABC): .. code-block:: python class FileChatMessageHistory(BaseChatMessageHistory): - storage_path: str + storage_path: str session_id: str - @property - def messages(self): - with open(os.path.join(storage_path, session_id), 'r:utf-8') as f: - messages = json.loads(f.read()) + @property + def messages(self): + with open( + os.path.join(storage_path, session_id), + "r", + encoding="utf-8", + ) as f: + messages = json.loads(f.read()) return messages_from_dict(messages) - def add_messages(self, messages: Sequence[BaseMessage]) -> None: - all_messages = list(self.messages) # Existing messages - all_messages.extend(messages) # Add new messages + def add_messages(self, messages: Sequence[BaseMessage]) -> None: + all_messages = list(self.messages) # Existing messages + all_messages.extend(messages) # Add new messages - serialized = [message_to_dict(message) for message in all_messages] - # Can be further optimized by only writing new messages - # using append mode. - with open(os.path.join(storage_path, session_id), 'w') as f: - json.dump(f, messages) + serialized = [message_to_dict(message) for message in all_messages] + # Can be further optimized by only writing new messages + # using append mode. + with open(os.path.join(storage_path, session_id), "w") as f: + json.dump(messages, f) - def clear(self): - with open(os.path.join(storage_path, session_id), 'w') as f: - f.write("[]") + def clear(self): + with open(os.path.join(storage_path, session_id), "w") as f: + f.write("[]") """ messages: list[BaseMessage]