Team With Knowledge
Demonstrates a team that combines knowledge-base retrieval with web search support.
"""
Team With Knowledge
=============================
Demonstrates a team that combines knowledge-base retrieval with web search support.
"""
from pathlib import Path
from agno.agent import Agent
from agno.knowledge.embedder.openai import OpenAIEmbedder
from agno.knowledge.knowledge import Knowledge
from agno.models.openai import OpenAIResponses
from agno.team import Team
from agno.tools.websearch import WebSearchTools
from agno.vectordb.lancedb import LanceDb, SearchType
# ---------------------------------------------------------------------------
# Setup
# ---------------------------------------------------------------------------
cwd = Path(__file__).parent
tmp_dir = cwd.joinpath("tmp")
tmp_dir.mkdir(parents=True, exist_ok=True)
agno_docs_knowledge = Knowledge(
vector_db=LanceDb(
uri=str(tmp_dir.joinpath("lancedb")),
table_name="agno_docs",
search_type=SearchType.hybrid,
embedder=OpenAIEmbedder(id="text-embedding-3-small"),
),
)
agno_docs_knowledge.insert(url="https://docs.agno.com/llms-full.txt")
# ---------------------------------------------------------------------------
# Create Members
# ---------------------------------------------------------------------------
web_agent = Agent(
name="Web Search Agent",
role="Handle web search requests",
model=OpenAIResponses(id="gpt-5-mini"),
tools=[WebSearchTools()],
instructions=["Always include sources"],
)
# ---------------------------------------------------------------------------
# Create Team
# ---------------------------------------------------------------------------
team_with_knowledge = Team(
name="Team with Knowledge",
members=[web_agent],
model=OpenAIResponses(id="gpt-5-mini"),
knowledge=agno_docs_knowledge,
show_members_responses=True,
markdown=True,
)
# ---------------------------------------------------------------------------
# Run Team
# ---------------------------------------------------------------------------
if __name__ == "__main__":
team_with_knowledge.print_response("Tell me about the Agno framework", stream=True)Example behavior
The team leader searches the local documentation knowledge; its member searches the web. The leader chooses whether to delegate. The initial insertion downloads and embeds the published llms-full.txt corpus and the LanceDB files persist beside the saved script.
Run the Example
Set up your virtual environment
uv venv --python 3.12
source .venv/bin/activateInstall dependencies
uv pip install -U agno beautifulsoup4 ddgs lancedb openai pyarrowExport your OpenAI API key
export OPENAI_API_KEY="your_openai_api_key_here"Run the example
Save the code above as team_with_knowledge.py, then run:
python team_with_knowledge.pyFull source: cookbook/03_teams/05_knowledge/01_team_with_knowledge.py