Skip to main content
This example demonstrates how to use session history with a configurable number of previous runs added to context, allowing control over how much conversation history is included.

Code

02_persistent_session_history.py
"""
This example shows how to use the session history to store the conversation history.
add_history_to_context flag is used to add the history to the messages.
num_history_runs is used to set the number of history runs to add to the messages.
"""

from agno.agent.agent import Agent
from agno.db.postgres import PostgresDb
from agno.models.openai import OpenAIChat

db_url = "postgresql+psycopg://ai:ai@localhost:5532/ai"

db = PostgresDb(db_url=db_url, session_table="sessions")

agent = Agent(
    model=OpenAIChat(id="gpt-5-mini"),
    db=db,
    session_id="session_storage",
    add_history_to_context=True,
    num_history_runs=2,
)

agent.print_response("Tell me a new interesting fact about space")

Usage

1

Create a virtual environment

Open the Terminal and create a python virtual environment.
python3 -m venv .venv
source .venv/bin/activate
2

Install libraries

pip install -U agno openai psycopg2-binary
3

Setup PostgreSQL

# Make sure PostgreSQL is running
# Update connection string in the code as needed
4

Export your OpenAI API key

  export OPENAI_API_KEY="your_openai_api_key_here"
5

Create a Python file

Create a Python file and add the above code.
touch 02_persistent_session_history.py
6

Run Agent

python 02_persistent_session_history.py
7

Find All Cookbooks

Explore all the available cookbooks in the Agno repository. Click the link below to view the code on GitHub:Agno Cookbooks on GitHub
I