本示例展示了如何使用 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
2

安装库

pip install -U agno
3

运行示例

python cookbook/agent_concepts/memory/02_persistent_memory.py