Selecting Tables
Use SQLite as the database for an Agent, selecting custom names for the tables.
"""Use SQLite as the database for an Agent, selecting custom names for the tables.
Run `uv pip install ddgs sqlalchemy openai` to install dependencies.
"""
from agno.agent import Agent
from agno.db.sqlite import SqliteDb
# ---------------------------------------------------------------------------
# Setup
# ---------------------------------------------------------------------------
db = SqliteDb(
db_file="tmp/data.db",
# Selecting which tables to use
session_table="agent_sessions",
memory_table="agent_memories",
metrics_table="agent_metrics",
)
# ---------------------------------------------------------------------------
# Create Agent
# ---------------------------------------------------------------------------
agent = Agent(
db=db,
update_memory_on_run=True,
add_history_to_context=True,
add_datetime_to_context=True,
)
# ---------------------------------------------------------------------------
# Run Agent
# ---------------------------------------------------------------------------
if __name__ == "__main__":
# The Agent sessions and runs will now be stored in SQLite
agent.print_response("How many people live in Canada?")
agent.print_response("And in Mexico?")
agent.print_response("List my messages one by one")Run the Example
Set up your virtual environment
uv venv --python 3.12
source .venv/bin/activateInstall dependencies
uv pip install -U agno openai sqlalchemyExport your OpenAI API key
export OPENAI_API_KEY="your_openai_api_key_here"Run the example
Save the code above as selecting_tables.py, then run:
python selecting_tables.pyFull source: cookbook/06_storage/examples/selecting_tables.py