Agent with Knowledge Base
Code
1import asyncio2from kern.agent import Agent3from kern.knowledge.embedder.azure_openai import AzureOpenAIEmbedder4from kern.knowledge.knowledge import Knowledge5from kern.models.azure import AzureOpenAI6from kern.vectordb.pgvector import PgVector78db_url = "postgresql+psycopg://ai:ai@localhost:5532/ai"910knowledge = Knowledge(11 vector_db=PgVector(12 table_name="recipes",13 db_url=db_url,14 embedder=AzureOpenAIEmbedder(),15 ),16)17# Add content to the knowledge18asyncio.run(knowledge.ainsert(19 url="https://kern-public.s3.amazonaws.com/recipes/ThaiRecipes.pdf"20))2122agent = Agent(23 model=AzureOpenAI(id="gpt-5-mini"),24 knowledge=knowledge,25)26agent.print_response("How to make Thai curry?", markdown=True)Usage
Set up your virtual environment
1uv venv --python 3.122source .venv/bin/activate1uv venv --python 3.122.venv\Scripts\activateSet your API key
1export AZURE_OPENAI_API_KEY=xxx2export AZURE_OPENAI_ENDPOINT=xxx3export AZURE_DEPLOYMENT=xxxInstall dependencies
1uv pip install -U openai kern-ai sqlalchemy pgvector pypdfRun 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:16Run Agent
1python cookbook/11_models/azure/openai/knowledge.py