Reliability with Database Logging
Example showing how to store reliability evaluation results in the database.
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.reliability import ReliabilityEval, ReliabilityResult
from agno.models.openai import OpenAIResponses
from agno.run.agent import RunOutput
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")
agent = Agent(
model=OpenAIResponses(id="gpt-5.2"),
tools=[CalculatorTools()],
)
response: RunOutput = agent.run("What is 10!?")
evaluation = ReliabilityEval(
db=db, # Pass the database to the evaluation. Results will be stored in the database.
name="Tool Call Reliability",
agent_response=response,
expected_tool_calls=["factorial"],
)
result: Optional[ReliabilityResult] = evaluation.run(print_results=True)Set up your virtual environment
uv venv --python 3.12
source .venv/bin/activateInstall dependencies
uv pip install -U openai agno psycopg sqlalchemyExport your OpenAI API key
export OPENAI_API_KEY="your_openai_api_key_here"Run Agent
python reliability_db_logging.py