Session Summary
Generate and persist session summaries with SessionSummaryManager.
Demonstrates configuring session summaries for an agent using PostgresDb.
"""
Session Summary
===============
Demonstrates configuring session summaries for an agent using PostgresDb.
"""
from agno.agent.agent import Agent
from agno.db.postgres import PostgresDb
from agno.models.openai import OpenAIChat
from agno.session.summary import SessionSummaryManager # noqa: F401
# ---------------------------------------------------------------------------
# Setup
# ---------------------------------------------------------------------------
db_url = "postgresql+psycopg://ai:ai@localhost:5532/ai"
db = PostgresDb(db_url=db_url, session_table="sessions")
# Method 1: Set enable_session_summaries to True
#
# agent = Agent(
# model=OpenAIChat(id="gpt-5.2"),
# db=db,
# enable_session_summaries=True,
# session_id="session_summary",
# add_session_summary_to_context=True,
# )
#
# agent.print_response("Hi my name is John and I live in New York")
# agent.print_response("I like to play basketball and hike in the mountains")
# ---------------------------------------------------------------------------
# Create Agent
# ---------------------------------------------------------------------------
# Method 2: Set session_summary_manager
session_summary_manager = SessionSummaryManager(model=OpenAIChat(id="gpt-5.2"))
agent = Agent(
model=OpenAIChat(id="gpt-5.2"),
db=db,
session_id="session_summary",
session_summary_manager=session_summary_manager,
)
# ---------------------------------------------------------------------------
# Run Agent
# ---------------------------------------------------------------------------
if __name__ == "__main__":
agent.print_response("Hi my name is John and I live in New York")
agent.print_response("I like to play basketball and hike in the mountains")A supplied SessionSummaryManager generates summaries and, by default, adds an available summary to later prompts. Summary generation does not automatically prune stored runs or replace history enabled through add_history_to_context. Inspect the stored summary with agent.get_session_summary(session_id="session_summary").
Run the Example
Set up your virtual environment
uv venv --python 3.12
source .venv/bin/activateInstall dependencies
uv pip install -U agno "psycopg[binary]" openai sqlalchemyExport your OpenAI API key
export OPENAI_API_KEY="your_openai_api_key_here"Run PgVector
docker run -d \
-e POSTGRES_DB=ai \
-e POSTGRES_USER=ai \
-e POSTGRES_PASSWORD=ai \
-e PGDATA=/var/lib/postgresql \
-v pgvolume:/var/lib/postgresql \
-p 5532:5432 \
--name pgvector \
agnohq/pgvector:18Run the example
Save the code above as session_summary.py, then run:
python session_summary.pyFull source: cookbook/06_storage/02_session_summary.py