代码
cookbook/agent_concepts/memory/redis_memory.py
Copy
"""
本示例展示了如何将 Memory 类与 Redis 存储结合使用。
"""
from agno.agent.agent import Agent
from agno.memory.v2.db.redis import RedisMemoryDb
from agno.memory.v2.memory import Memory
from agno.models.openai import OpenAIChat
from agno.storage.redis import RedisStorage
# 创建 Redis 内存数据库
memory_db = RedisMemoryDb(
prefix="agno_memory", # Redis 键的前缀,用于对内存进行命名空间划分
host="localhost", # Redis 主机地址
port=6379, # Redis 端口号
)
# 使用 Redis 后端创建 memory 实例
memory = Memory(db=memory_db)
# 这将清除所有现有内存
memory.clear()
# 会话和用户标识符
session_id = "redis_memories"
user_id = "redis_user"
# 创建带有 memory 和 Redis 存储的 agent
agent = Agent(
model=OpenAIChat(id="gpt-4o-mini"),
memory=memory,
storage=RedisStorage(prefix="agno_test", host="localhost", port=6379),
enable_user_memories=True,
enable_session_summaries=True,
)
# 第一次交互 - 引入个人信息
agent.print_response(
"My name is John Doe and I like to hike in the mountains on weekends.",
stream=True,
user_id=user_id,
session_id=session_id,
)
# 第二次交互 - 测试内存是否已存储
agent.print_response(
"What are my hobbies?",
stream=True,
user_id=user_id,
session_id=session_id
)
# 显示存储在 Redis 中的内存
memories = memory.get_user_memories(user_id=user_id)
print("Memories stored in Redis:")
for i, m in enumerate(memories):
print(f"{i}: {m.memory}")
用法
1
创建虚拟环境
打开
Terminal
并创建一个 python 虚拟环境。Copy
python3 -m venv .venv
source .venv/bin/activate
2
设置环境变量
Copy
export OPENAI_API_KEY=xxx
3
安装库
Copy
pip install -U agno openai redis
4
运行 Redis
Copy
docker run --name my-redis -p 6379:6379 -d redis
5
运行示例
Copy
python cookbook/agent_concepts/memory/redis_memory.py