singlestore_for_agent.py
"""Use SingleStore as the database for an agent.
Run `uv pip install ddgs sqlalchemy openai` to install dependencies."""
from os import getenv
from agno.agent import Agent
from agno.db.singlestore.singlestore import SingleStoreDb
from agno.tools.websearch import WebSearchTools
# ---------------------------------------------------------------------------
# Setup
# ---------------------------------------------------------------------------
USERNAME = getenv("SINGLESTORE_USERNAME")
PASSWORD = getenv("SINGLESTORE_PASSWORD")
HOST = getenv("SINGLESTORE_HOST")
PORT = getenv("SINGLESTORE_PORT")
DATABASE = getenv("SINGLESTORE_DATABASE")
db_url = (
f"mysql+pymysql://{USERNAME}:{PASSWORD}@{HOST}:{PORT}/{DATABASE}?charset=utf8mb4"
)
db = SingleStoreDb(db_url=db_url)
# ---------------------------------------------------------------------------
# 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?")
Run the Example
1
Set up your virtual environment
uv venv --python 3.12
source .venv/bin/activate
uv venv --python 3.12
.venv\Scripts\activate
2
Install dependencies
uv pip install -U agno ddgs openai pymysql sqlalchemy
3
Export environment variables
export OPENAI_API_KEY="your_openai_api_key_here"
export SINGLESTORE_PASSWORD="your_singlestore_password_here"
$Env:OPENAI_API_KEY="your_openai_api_key_here"
$Env:SINGLESTORE_PASSWORD="your_singlestore_password_here"
4
Run the example
Save the code above as
singlestore_for_agent.py, then run:python singlestore_for_agent.py