enable_user_memories=True
in the Agent config.
from agno.agent.agent import Agent
from agno.memory.v2.db.sqlite import SqliteMemoryDb
from agno.memory.v2.memory import Memory
from agno.models.openai import OpenAIChat
from agno.storage.sqlite import SqliteStorage
from rich.pretty import pprint
from utils import print_chat_history
memory_db = SqliteMemoryDb(table_name="memory", db_file="tmp/memory.db")
# No need to set the model, it gets set by the agent to the agent's model
memory = Memory(db=memory_db)
# Reset the memory for this example
memory.clear()
session_id = "session_1"
john_doe_id = "john_doe@example.com"
agent = Agent(
model=OpenAIChat(id="gpt-4o-mini"),
memory=memory,
storage=SqliteStorage(
table_name="agent_sessions", db_file="tmp/persistent_memory.db"
),
enable_user_memories=True,
)
agent.print_response(
"My name is John Doe and I like to hike in the mountains on weekends.",
stream=True,
user_id=john_doe_id,
session_id=session_id,
)
agent.print_response(
"What are my hobbies?", stream=True, user_id=john_doe_id, session_id=session_id
)
# -*- Print the chat history
session_run = memory.runs[session_id][-1]
print_chat_history(session_run)
memories = memory.get_user_memories(user_id=john_doe_id)
print("John Doe's memories:")
pprint(memories)
agent.print_response(
"Ok i dont like hiking anymore, i like to play soccer instead.",
stream=True,
user_id=john_doe_id,
session_id=session_id,
)
# -*- Print the chat history
session_run = memory.runs[session_id][-1]
print_chat_history(session_run)
# You can also get the user memories from the agent
memories = agent.get_user_memories(user_id=john_doe_id)
print("John Doe's memories:")
pprint(memories)
Create a virtual environment
Terminal
and create a python virtual environment.python3 -m venv .venv
source .venv/bin/activate
Set your API key
export GOOGLE_API_KEY=xxx
Install libraries
pip install -U agno google-generativeai
Run Example
python cookbook/agent_concepts/memory/06_agent_with_memory.py
Was this page helpful?