MongoDB Async

Code

1import asyncio
2
3from kern.agent import Agent
4from kern.knowledge.knowledge import Knowledge
5from kern.vectordb.mongodb import MongoVectorDb
6
7mdb_connection_string = "mongodb://localhost:27017"
8
9knowledge = Knowledge(
10 vector_db=MongoVectorDb(
11 collection_name="recipes",
12 db_url=mdb_connection_string,
13 ),
14)
15
16agent = Agent(knowledge=knowledge)
17
18if __name__ == "__main__":
19 asyncio.run(
20 knowledge.ainsert(
21 url="https://kern-public.s3.amazonaws.com/recipes/ThaiRecipes.pdf"
22 )
23 )
24
25 asyncio.run(agent.aprint_response("How to make Thai curry?", markdown=True))

Usage

Set up your virtual environment

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

Install dependencies

1uv pip install -U pymongo pypdf openai kern-ai

Run MongoDB

1docker run -d \
2--name local-mongo \
3-p 27017:27017 \
4-e MONGO_INITDB_ROOT_USERNAME=mongoadmin \
5-e MONGO_INITDB_ROOT_PASSWORD=secret \
6mongo

Run Agent

1python cookbook/08_knowledge/vector_db/mongo_db/async_mongo_db.py