MCPcopy Create free account
hub / github.com/Forethought-Technologies/AutoChain / BufferMemory

Class BufferMemory

autochain/memory/buffer_memory.py:7–40  ·  view source on GitHub ↗

Buffer for storing conversation memory and an in-memory kv store.

Source from the content-addressed store, hash-verified

5
6
7class BufferMemory(BaseMemory):
8 """Buffer for storing conversation memory and an in-memory kv store."""
9
10 conversation_history = ChatMessageHistory()
11 kv_memory = {}
12
13 def load_memory(
14 self, key: Optional[str] = None, default: Optional[Any] = None, **kwargs
15 ) -> Any:
16 """Return history buffer by key or all memories."""
17 if not key:
18 return self.kv_memory
19
20 return self.kv_memory.get(key, default)
21
22 def load_conversation(self, **kwargs) -> ChatMessageHistory:
23 """Return history buffer and format it into a conversational string format."""
24 return self.conversation_history
25
26 def save_memory(self, key: str, value: Any) -> None:
27 self.kv_memory[key] = value
28
29 def save_conversation(
30 self, message: str, message_type: MessageType, **kwargs
31 ) -> None:
32 """Save context from this conversation to buffer."""
33 self.conversation_history.save_message(
34 message=message, message_type=message_type, **kwargs
35 )
36
37 def clear(self) -> None:
38 """Clear memory contents."""
39 self.conversation_history.clear()
40 self.kv_memory = {}

Calls 1

ChatMessageHistoryClass · 0.90

Tested by 3

create_chain_from_testFunction · 0.72
test_buffer_kv_memoryFunction · 0.72