InMemoryChatMessageHistory Class — langchain Architecture
Architecture documentation for the InMemoryChatMessageHistory class in chat_history.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 172321af_58bf_4793_da29_9eb028a48761["InMemoryChatMessageHistory"] bafcb99b_bf29_77cc_2ba1_06c40c54e908["BaseChatMessageHistory"] 172321af_58bf_4793_da29_9eb028a48761 -->|extends| bafcb99b_bf29_77cc_2ba1_06c40c54e908 687526cf_ffa2_1910_ab90_1c73cc3410fb["chat_history.py"] 172321af_58bf_4793_da29_9eb028a48761 -->|defined in| 687526cf_ffa2_1910_ab90_1c73cc3410fb e376169e_88f7_e872_3e59_e528f2adfd91["aget_messages()"] 172321af_58bf_4793_da29_9eb028a48761 -->|method| e376169e_88f7_e872_3e59_e528f2adfd91 31b6443f_d624_442f_5738_987241c0a35d["add_message()"] 172321af_58bf_4793_da29_9eb028a48761 -->|method| 31b6443f_d624_442f_5738_987241c0a35d 93ebcf9e_2aac_93a8_66e0_0aef15671f90["aadd_messages()"] 172321af_58bf_4793_da29_9eb028a48761 -->|method| 93ebcf9e_2aac_93a8_66e0_0aef15671f90 155354e7_2975_a5b8_c6f7_34c53a36f6f5["clear()"] 172321af_58bf_4793_da29_9eb028a48761 -->|method| 155354e7_2975_a5b8_c6f7_34c53a36f6f5 ab857f6e_1c4c_77ed_f91e_a23c51c57fd5["aclear()"] 172321af_58bf_4793_da29_9eb028a48761 -->|method| ab857f6e_1c4c_77ed_f91e_a23c51c57fd5
Relationship Graph
Source Code
libs/core/langchain_core/chat_history.py lines 202–246
class InMemoryChatMessageHistory(BaseChatMessageHistory, BaseModel):
"""In memory implementation of chat message history.
Stores messages in a memory list.
"""
messages: list[BaseMessage] = Field(default_factory=list)
"""A list of messages stored in memory."""
async def aget_messages(self) -> list[BaseMessage]:
"""Async version of getting messages.
Can over-ride this method to provide an efficient async implementation.
In general, fetching messages may involve IO to the underlying persistence
layer.
Returns:
List of messages.
"""
return self.messages
def add_message(self, message: BaseMessage) -> None:
"""Add a self-created message to the store.
Args:
message: The message to add.
"""
self.messages.append(message)
async def aadd_messages(self, messages: Sequence[BaseMessage]) -> None:
"""Async add messages to the store.
Args:
messages: The messages to add.
"""
self.add_messages(messages)
def clear(self) -> None:
"""Clear all messages from the store."""
self.messages = []
async def aclear(self) -> None:
"""Async clear all messages from the store."""
self.clear()
Defined In
Extends
Source
Frequently Asked Questions
What is the InMemoryChatMessageHistory class?
InMemoryChatMessageHistory is a class in the langchain codebase, defined in libs/core/langchain_core/chat_history.py.
Where is InMemoryChatMessageHistory defined?
InMemoryChatMessageHistory is defined in libs/core/langchain_core/chat_history.py at line 202.
What does InMemoryChatMessageHistory extend?
InMemoryChatMessageHistory extends BaseChatMessageHistory.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free