Agent with Storage

Code

1"""Run `uv pip install sqlalchemy anthropic` to install dependencies."""
2
3from kern.agent import Agent
4from kern.db.postgres import PostgresDb
5from kern.models.azure import AzureOpenAI
6from kern.tools.hackernews import HackerNewsTools
7
8# Setup the database
9db_url = "postgresql+psycopg://ai:ai@localhost:5532/ai"
10db = PostgresDb(db_url=db_url)
11
12agent = Agent(
13 model=AzureOpenAI(id="gpt-5-mini"),
14 db=db,
15 tools=[HackerNewsTools()],
16 add_history_to_context=True,
17)
18agent.print_response("How many people live in Canada?")
19agent.print_response("What is their national anthem called?")

Usage

Set up your virtual environment

1uv venv --python 3.12
2source .venv/bin/activate
1uv venv --python 3.12
2.venv\Scripts\activate

Set your API key

1export AZURE_OPENAI_API_KEY=xxx
2export AZURE_OPENAI_ENDPOINT=xxx
3export AZURE_DEPLOYMENT=xxx

Install dependencies

1uv pip install -U openai sqlalchemy psycopg kern-ai

Run PgVector

1docker run -d \
2 -e POSTGRES_DB=ai \
3 -e POSTGRES_USER=ai \
4 -e POSTGRES_PASSWORD=ai \
5 -e PGDATA=/var/lib/postgresql/data/pgdata \
6 -v pgvolume:/var/lib/postgresql/data \
7 -p 5532:5432 \
8 --name pgvector \
9 agnohq/pgvector:16

Run Agent

1python cookbook/11_models/azure/openai/db.py