Memory 类创建持久化内存。
每次运行时,Memory 对象都将从数据库重新初始化。
代码
cookbook/agent_concepts/memory/02_persistent_memory.py
from typing import List
from agno.memory.v2.db.schema import MemoryRow
from agno.memory.v2.db.sqlite import SqliteMemoryDb
from agno.memory.v2.memory import Memory
from agno.memory.v2.schema import UserMemory
memory_db = SqliteMemoryDb(table_name="memory", db_file="tmp/memory.db")
memory = Memory(db=memory_db)
john_doe_id = "john_doe@example.com"
# 第一次运行
memory.add_user_memory(
memory=UserMemory(memory="The user's name is John Doe", topics=["name"]),
user_id=john_doe_id,
)
# 第二次运行时取消注释
# memory.add_user_memory(
# memory=UserMemory(memory="The user works at a softward company called Agno", topics=["name"]),
# user_id=john_doe_id,
# )
memories: List[MemoryRow] = memory_db.read_memories()
print("All the DB memories:")
for i, m in enumerate(memories):
print(f"{i}: {m.memory['memory']} ({m.last_updated})")
用法
1
创建虚拟环境
打开
Terminal 并创建一个 python 虚拟环境。python3 -m venv .venv
source .venv/bin/activate
python3 -m venv .venv
.venv/scripts/activate
2
安装库
pip install -U agno
3
运行示例
python cookbook/agent_concepts/memory/02_persistent_memory.py
python cookbook/agent_concepts/memory/02_persistent_memory.py