PgVector Async
Code
1import asyncio23from kern.agent import Agent4from kern.knowledge.knowledge import Knowledge5from kern.vectordb.pgvector import PgVector67db_url = "postgresql+psycopg://ai:ai@localhost:5532/ai"89vector_db = PgVector(table_name="recipes", db_url=db_url)1011knowledge_base = Knowledge(12 vector_db=vector_db,13)1415agent = Agent(knowledge=knowledge_base)1617if __name__ == "__main__":1819 asyncio.run(20 knowledge_base.ainsert(url="https://kern.ndx.rocks/introduction/agents.md")21 )2223 asyncio.run(24 agent.aprint_response("What is the purpose of an Kern Agent?", markdown=True)25 )Usage
Set up your virtual environment
1uv venv --python 3.122source .venv/bin/activate1uv venv --python 3.122.venv\Scripts\activateInstall dependencies
1uv pip install -U psycopg2-binary pgvector pypdf openai kern-aiRun PgVector on Docker
Create a file resources.py with the following contents:
1from kern.docker.app.postgres import PgVectorDb2from kern.docker.resources import DockerResources34# -*- PgVector running on port 5432:54325vector_db = PgVectorDb(6 pg_user="ai",7 pg_password="ai",8 pg_database="ai",9 debug_mode=True,10)1112# -*- DockerResources13dev_docker_resources = DockerResources(apps=[vector_db])Start resources using:
1ag start resources.py1ag start resources.pyPress Enter to confirm and verify container status on the docker dashboard.
Set environment variables
1export OPENAI_API_KEY=xxxRun Agent
1python cookbook/08_knowledge/vector_db/pgvector/async_pg_vector.py