Redis for Agent

Use Redis as the storage backend for an agent.

Example showing how to use Redis as the database for an agent.

redis_for_agent.py
"""
Example showing how to use Redis as the database for an agent.

Run `uv pip install redis openai ddgs` to install the dependency.

We can start Redis locally using docker:
1. Start Redis container
`docker run --name my-redis -p 6379:6379 -d redis`

2. Verify container is running
`docker ps`

3. Run the file
`python cookbook/06_storage/redis/redis_for_agent.py`
"""

from agno.agent import Agent
from agno.db.base import SessionType
from agno.db.redis import RedisDb
from agno.tools.websearch import WebSearchTools

# ---------------------------------------------------------------------------
# Setup
# ---------------------------------------------------------------------------
db = RedisDb(db_url="redis://localhost:6379")

# ---------------------------------------------------------------------------
# Create Agent
# ---------------------------------------------------------------------------
agent = Agent(
    db=db,
    tools=[WebSearchTools()],
    add_history_to_context=True,
)

# ---------------------------------------------------------------------------
# Run Agent
# ---------------------------------------------------------------------------
if __name__ == "__main__":
    agent.print_response("How many people live in Canada?")
    agent.print_response("What is their national anthem called?")

    # Verify db contents
    print("\nVerifying db contents...")
    all_sessions = db.get_sessions(session_type=SessionType.AGENT)
    print(f"Total sessions in Redis: {len(all_sessions)}")

Run the Example

Set up your virtual environment

uv venv --python 3.12
source .venv/bin/activate

Install dependencies

uv pip install -U agno ddgs openai redis

Export your OpenAI API key

export OPENAI_API_KEY="your_openai_api_key_here"

Run Redis

docker run -d --name my-redis -p 6379:6379 redis

Run the example

Save the code above as redis_for_agent.py, then run:

python redis_for_agent.py

Full source: cookbook/06_storage/redis/redis_for_agent.py