> ## Documentation Index
> Fetch the complete documentation index at: https://phidatainc.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

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

> Use Valkey as the storage backend for an agent.

Run `uv pip install valkey-glide-sync openai ddgs` to install dependencies.

```python theme={null}
"""
Example showing how to use Valkey as the database for an agent.

Run `uv pip install valkey-glide-sync openai ddgs` to install dependencies.

We can start Valkey locally using docker:
1. Start Valkey container
`docker run --name my-valkey -p 6379:6379 -d valkey/valkey-bundle`

2. Verify container is running
`docker ps`

3. Run the file
`python cookbook/06_storage/valkey/valkey_for_agent.py`
"""

from agno.agent import Agent
from agno.db.base import SessionType
from agno.db.valkey import ValkeyDb
from agno.tools.websearch import WebSearchTools

# ---------------------------------------------------------------------------
# Setup
# ---------------------------------------------------------------------------
db = ValkeyDb()

# ---------------------------------------------------------------------------
# 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 Valkey: {len(all_sessions)}")
```

## Run the Example

<Steps>
  <Step title="Clone Agno">
    Clone the repository and run the remaining commands from its root:

    ```bash theme={null}
    git clone https://github.com/agno-agi/agno.git
    cd agno
    ```
  </Step>

  <Step title="Set up the demo environment">
    ```bash theme={null}
    ./scripts/demo_setup.sh
    source .venvs/demo/bin/activate
    uv pip install -U ddgs openai valkey-glide-sync
    ```
  </Step>

  <Step title="Export your OpenAI API key">
    <CodeGroup>
      ```bash Mac/Linux theme={null}
      export OPENAI_API_KEY="your_openai_api_key_here"
      ```

      ```bash Windows theme={null}
      $Env:OPENAI_API_KEY="your_openai_api_key_here"
      ```
    </CodeGroup>
  </Step>

  <Step title="Run Valkey">
    ```bash theme={null}
    docker run -d --name my-valkey -p 6379:6379 valkey/valkey-bundle
    ```
  </Step>

  <Step title="Run the example">
    ```bash theme={null}
    python cookbook/06_storage/valkey/valkey_for_agent.py
    ```
  </Step>
</Steps>
