Agent with Storage

Persist a LiteLLM-backed agent's chat history to SQLite and reuse it across runs.

Code

from agno.agent import Agent
from agno.db.sqlite import SqliteDb
from agno.models.litellm import LiteLLM
from agno.tools.websearch import WebSearchTools

# Setup the database
db = SqliteDb(
    db_file="tmp/data.db",
)

# Add storage to the Agent
agent = Agent(
    model=LiteLLM(id="gpt-4o"),
    db=db,
    tools=[WebSearchTools()],
    add_history_to_context=True,
)

agent.print_response("How many people live in Canada?")
agent.print_response("What is their national anthem called?")

Usage

Set up your virtual environment

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

Set your API key

export LITELLM_API_KEY=xxx

Install dependencies

uv pip install -U "litellm>=1.83.0" openai ddgs sqlalchemy agno

Run Agent

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

python db.py