Code

cookbook/agent_concepts/memory/07_agent_manages_memories.py

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.chat import OpenAIChat

memory_db = SqliteMemoryDb(table_name="memory", db_file="tmp/memory.db")

memory = Memory(db=memory_db)

# Reset the memory for this example
memory.clear()

john_doe_id = "john_doe@example.com"

agent = Agent(
    model=OpenAIChat(id="gpt-4o"),
    memory=memory,
    enable_agentic_memory=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,
)

agent.print_response("What are my hobbies?", stream=True, user_id=john_doe_id)

memories = memory.get_user_memories(user_id=john_doe_id)
print("Memories about John Doe:")
for i, m in enumerate(memories):
    print(f"{i}: {m.memory}")


agent.print_response(
    "Remove all existing memories of me. Completely clear the DB.",
    stream=True,
    user_id=john_doe_id,
)

memories = memory.get_user_memories(user_id=john_doe_id)

print("Memories about John Doe:")
for i, m in enumerate(memories):
    print(f"{i}: {m.memory}")

agent.print_response(
    "My name is John Doe and I like to paint.", stream=True, user_id=john_doe_id
)

memories = memory.get_user_memories(user_id=john_doe_id)

print("Memories about John Doe:")
for i, m in enumerate(memories):
    print(f"{i}: {m.memory}")


agent.print_response("Remove any memory of my name.", stream=True, user_id=john_doe_id)

memories = memory.get_user_memories(user_id=john_doe_id)

print("Memories about John Doe:")
for i, m in enumerate(memories):
    print(f"{i}: {m.memory}")

Usage

1

Create a virtual environment

Open the Terminal and create a python virtual environment.

python3 -m venv .venv
source .venv/bin/activate
2

Set your API key

export OPENAI_API_KEY=xxx
3

Install libraries

pip install -U agno openai
4

Run Example

python cookbook/agent_concepts/memory/07_agent_manages_memories.py