1from kern.agent import Agent
2from kern.knowledge.knowledge import Knowledge
3from kern.vectordb.search import SearchType
4from kern.vectordb.weaviate import Weaviate
5from kern.vectordb.weaviate.index import Distance, VectorIndex
6
7vector_db = Weaviate(
8 collection="vectors",
9 search_type=SearchType.vector,
10 vector_index=VectorIndex.HNSW,
11 distance=Distance.COSINE,
12 local=False, # Set to True if using Weaviate locally
13)
14
15# Create Knowledge Instance with Weaviate
16knowledge = Knowledge(
17 name="Basic SDK Knowledge Base",
18 description="Kern 2.0 Knowledge Implementation with Weaviate",
19 vector_db=vector_db,
20)
21
22knowledge.insert(
23 name="Recipes",
24 url="https://kern-public.s3.amazonaws.com/recipes/ThaiRecipes.pdf",
25 metadata={"doc_type": "recipe_book"},
26 skip_if_exists=True,
27)
28
29# Create and use the agent
30agent = Agent(knowledge=knowledge)
31agent.print_response("List down the ingredients to make Massaman Gai", markdown=True)
32
33# Delete operations
34vector_db.delete_by_name("Recipes")
35# or
36vector_db.delete_by_metadata({"doc_type": "recipe_book"})