1import asyncio
2
3from kern.agent import Agent
4from kern.knowledge.embedder.mistral import MistralEmbedder
5from kern.knowledge.knowledge import Knowledge
6from kern.models.mistral import MistralChat
7from kern.vectordb.cassandra import Cassandra
8
9try:
10 from cassandra.cluster import Cluster # type: ignore
11except (ImportError, ModuleNotFoundError):
12 raise ImportError(
13 "Could not import cassandra-driver python package.Please install it with pip install cassandra-driver."
14 )
15
16cluster = Cluster()
17
18session = cluster.connect()
19session.execute(
20 """
21 CREATE KEYSPACE IF NOT EXISTS testkeyspace
22 WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 }
23 """
24)
25
26knowledge = Knowledge(
27 vector_db=Cassandra(
28 table_name="recipes",
29 keyspace="testkeyspace",
30 session=session,
31 embedder=MistralEmbedder(),
32 ),
33)
34
35agent = Agent(
36 model=MistralChat(),
37 knowledge=knowledge,
38)
39
40if __name__ == "__main__":
41 asyncio.run(
42 knowledge.ainsert(url="https://kern.ndx.rocks/introduction/agents.md")
43 )
44
45 asyncio.run(
46 agent.aprint_response(
47 "What is the purpose of an Kern Agent?",
48 markdown=True,
49 )
50 )