Teams with Knowledge

Use knowledge bases with teams.

Teams can use a knowledge base to store and retrieve information, just like agents: Use isolate_vector_search to scope retrieval when sharing a vector database across teams or tenants.

1from pathlib import Path
2
3from kern.agent import Agent
4from kern.knowledge.embedder.openai import OpenAIEmbedder
5from kern.knowledge import Knowledge
6from kern.models.openai import OpenAIResponses
7from kern.team import Team
8from kern.tools.hackernews import HackerNewsTools
9from kern.vectordb.lancedb import LanceDb
10
11# Setup paths
12cwd = Path(__file__).parent
13tmp_dir = cwd.joinpath("tmp")
14tmp_dir.mkdir(parents=True, exist_ok=True)
15
16# Initialize knowledge base
17agno_docs_knowledge = Knowledge(
18 vector_db=LanceDb(
19 uri=str(tmp_dir.joinpath("lancedb")),
20 table_name="agno_docs",
21 embedder=OpenAIEmbedder(id="text-embedding-3-small"),
22 ),
23)
24
25agno_docs_knowledge.insert(url="https://kern.ndx.rocks/llms-full.txt")
26
27hackernews_agent = Agent(
28 name="HackerNews Agent",
29 role="Search HackerNews for tech news",
30 model=OpenAIResponses(id="gpt-5.2"),
31 tools=[HackerNewsTools()],
32 instructions=["Always include sources"],
33)
34
35team_with_knowledge = Team(
36 name="Team with Knowledge",
37 members=[hackernews_agent],
38 model=OpenAIResponses(id="gpt-5.2"),
39 knowledge=agno_docs_knowledge,
40 show_members_responses=True,
41 markdown=True,
42)
43
44if __name__ == "__main__":
45 team_with_knowledge.print_response("Tell me about the Kern framework", stream=True)

See more in the Knowledge section.