-
Notifications
You must be signed in to change notification settings - Fork 279
/
Copy pathsummarize_memory.py
43 lines (34 loc) · 1.12 KB
/
summarize_memory.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import asyncio
import sys
import traceback
from beeai_framework.backend import AssistantMessage, ChatModel, SystemMessage, UserMessage
from beeai_framework.errors import FrameworkError
from beeai_framework.memory import SummarizeMemory
async def main() -> None:
# Initialize the LLM with parameters
llm = ChatModel.from_name(
"ollama:granite3.1-dense:8b",
# ChatModelParameters(temperature=0),
)
# Create summarize memory instance
memory = SummarizeMemory(llm)
# Add messages
await memory.add_many(
[
SystemMessage("You are a guide through France."),
UserMessage("What is the capital?"),
AssistantMessage("Paris"),
UserMessage("What language is spoken there?"),
]
)
# Print results
print(f"Is Empty: {memory.is_empty()}")
print(f"Message Count: {len(memory.messages)}")
if memory.messages:
print(f"Summary: {memory.messages[0].get_texts()[0].text}")
if __name__ == "__main__":
try:
asyncio.run(main())
except FrameworkError as e:
traceback.print_exc()
sys.exit(e.explain())