- last_n:检索最新的 n 条内存
- first_n:检索最早的 n 条内存
- semantic:使用语义搜索检索内存
代码
cookbook/agent_concepts/memory/05_memory_search.py
Copy
from agno.memory.v2 import Memory, UserMemory
from agno.memory.v2.db.sqlite import SqliteMemoryDb
from agno.models.google.gemini import Gemini
from rich.pretty import pprint
memory_db = SqliteMemoryDb(table_name="memory", db_file="tmp/memory.db")
# 为本示例重置
memory_db.clear()
memory = Memory(model=Gemini(id="gemini-2.0-flash-exp"), db=memory_db)
john_doe_id = "john_doe@example.com"
memory.add_user_memory(
memory=UserMemory(memory="该用户周末喜欢在山区徒步旅行"),
user_id=john_doe_id,
)
memory.add_user_memory(
memory=UserMemory(
memory="该用户喜欢睡前阅读科幻小说"
),
user_id=john_doe_id,
)
print("John Doe's memories:")
pprint(memory.memories)
memories = memory.search_user_memories(
user_id=john_doe_id, limit=1, retrieval_method="last_n"
)
print("\nJohn Doe's last_n memories:")
pprint(memories)
memories = memory.search_user_memories(
user_id=john_doe_id, limit=1, retrieval_method="first_n"
)
print("\nJohn Doe's first_n memories:")
pprint(memories)
memories = memory.search_user_memories(
user_id=john_doe_id,
query="用户周末喜欢做什么?",
retrieval_method="agentic",
)
print("\nJohn Doe's memories similar to the query (agentic):")
pprint(memories)
用法
1
创建虚拟环境
打开
Terminal
并创建一个 python 虚拟环境。Copy
python3 -m venv .venv
source .venv/bin/activate
2
安装库
Copy
pip install -U agno
3
运行示例
Copy
python cookbook/agent_concepts/memory/05_memory_search.py