Accuracy with Database Logging
Example showing how to store evaluation results in the database for tracking and analysis.
Before running the code, provide a PostgreSQL database named ai on localhost:5432 with username and password ai, matching the example URL. For a local disposable database, run:
docker run --name agno-eval-db -e POSTGRES_DB=ai -e POSTGRES_USER=ai -e POSTGRES_PASSWORD=ai -p 5432:5432 -d postgres:18Wait for the database to accept connections. If you already have PostgreSQL, adjust the example’s db_url to match it. Reuse the same local container across examples; do not run this creation command again with the same name.
Create a Python file
"""Example showing how to store evaluation results in the database."""
from typing import Optional
from agno.agent import Agent
from agno.db.postgres.postgres import PostgresDb
from agno.eval.accuracy import AccuracyEval, AccuracyResult
from agno.models.openai import OpenAIResponses
from agno.tools.calculator import CalculatorTools
# Setup the database
db_url = "postgresql+psycopg://ai:ai@localhost:5432/ai"
db = PostgresDb(db_url=db_url, eval_table="eval_runs_cookbook")
evaluation = AccuracyEval(
db=db, # Pass the database to the evaluation. Results will be stored in the database.
name="Calculator Evaluation",
model=OpenAIResponses(id="gpt-5.2"),
agent=Agent(
model=OpenAIResponses(id="gpt-5.2"),
tools=[CalculatorTools()],
),
input="What is 10*5 then to the power of 2? do it step by step",
expected_output="2500",
additional_guidelines="Agent output should include the steps and the final answer.",
num_iterations=1,
)
result: Optional[AccuracyResult] = evaluation.run(print_results=True)
assert result is not None and result.avg_score >= 8Set up your virtual environment
uv venv --python 3.12
source .venv/bin/activateInstall dependencies
uv pip install -U openai agno sqlalchemy psycopgExport your OpenAI API key
export OPENAI_API_KEY="your_openai_api_key_here"Run Agent
python accuracy_db_logging.py