ChromaDB

Code

1from kern.agent import Agent
2from kern.knowledge.knowledge import Knowledge
3from kern.vectordb.chroma import ChromaDb
4
5# Create Knowledge Instance with ChromaDB
6knowledge = Knowledge(
7 name="Basic SDK Knowledge Base",
8 description="Kern 2.0 Knowledge Implementation with ChromaDB",
9 vector_db=ChromaDb(
10 collection="vectors", path="tmp/chromadb", persistent_client=True
11 ),
12)
13
14knowledge.insert(
15 name="Recipes",
16 url="https://kern-public.s3.amazonaws.com/recipes/ThaiRecipes.pdf",
17 metadata={"doc_type": "recipe_book"},
18 )
19
20# Create and use the agent
21agent = Agent(knowledge=knowledge)
22agent.print_response("List down the ingredients to make Massaman Gai", markdown=True)
23
24# Delete operations examples
25vector_db = knowledge.vector_db
26vector_db.delete_by_name("Recipes")
27# or
28vector_db.delete_by_metadata({"user_tag": "Recipes from website"})

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 chromadb pypdf openai kern-ai

Set environment variables

1export OPENAI_API_KEY=xxx

Run Agent

1python cookbook/08_knowledge/vector_db/chroma_db/chroma_db.py