Agno 支持使用 RedisStorage 类将 Redis 作为 Agent 的存储后端。

用法

运行 Redis

安装 docker desktop 并使用以下命令在端口 6379 上运行 Redis

docker run --name my-redis -p 6379:6379 -d redis
redis_storage_for_agent.py
from agno.agent import Agent
from agno.storage.redis import RedisStorage
from agno.tools.duckduckgo import DuckDuckGoTools

# 初始化 Redis 存储,使用默认的本地连接
storage = RedisStorage(
    prefix="agno_test",    # Redis 键的前缀,用于会话命名空间
    host="localhost",      # Redis 主机地址
    port=6379,             # Redis 端口号
)

# 创建带有 Redis 存储的 Agent
agent = Agent(
    storage=storage,
    tools=[DuckDuckGoTools()],
    add_history_to_messages=True,
)

agent.print_response("How many people live in Canada?")

agent.print_response("What is their national anthem called?")

# 验证存储内容
print("\nVerifying storage contents...")
all_sessions = storage.get_all_sessions()
print(f"Total sessions in Redis: {len(all_sessions)}")

if all_sessions:
    print("\nSession details:")
    session = all_sessions[0]
    print(f"Session ID: {session.session_id}")
    print(f"Messages count: {len(session.memory['messages'])}")

参数

参数类型描述默认值
prefixstr用于 Redis 键的 prefix,以 namespace 会话Required
hoststrRedis host 地址"localhost"
portintRedis 端口号6379
dbintRedis 数据库号0
passwordOptional[str]需要 authentication 时的 Redis passwordNone
modeOptional[Literal["agent", "team", "workflow"]]Storage mode"agent"

开发者资源