> ## Documentation Index
> Fetch the complete documentation index at: https://agno-v2-docs-scavio-google-v2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Team with Knowledge Tools

> Give a Team leader KnowledgeTools backed by a LanceDB knowledge base to search and reason before delegating.

This is a team reasoning example with knowledge tools.

<Tip>
  Enabling the knowledge option on the team leader helps optimize delegation and enhances multi-agent collaboration by selectively invoking deeper knowledge when required.
</Tip>

<Steps>
  <Step title="Add the following code to your Python file">
    ```python knowledge_tool_team.py theme={null}
    from agno.agent import Agent
    from agno.knowledge.knowledge import Knowledge
    from agno.models.openai import OpenAIResponses
    from agno.team.team import Team
    from agno.tools.hackernews import HackerNewsTools
    from agno.tools.knowledge import KnowledgeTools
    from agno.tools.websearch import WebSearchTools
    from agno.vectordb.lancedb import LanceDb, SearchType

    agno_docs = Knowledge(
        # Use LanceDB as the vector database and store embeddings in the `agno_docs` table
        vector_db=LanceDb(
            uri="tmp/lancedb",
            table_name="agno_docs",
            search_type=SearchType.hybrid,
        ),
    )
    # Add content to the knowledge
    agno_docs.insert(url="https://www.paulgraham.com/read.html")

    knowledge_tools = KnowledgeTools(
        knowledge=agno_docs,
        enable_think=True,
        enable_search=True,
        enable_analyze=True,
        add_few_shot=True,
    )

    web_agent = Agent(
        name="Web Search Agent",
        role="Handle web search requests",
        model=OpenAIResponses(id="gpt-5.2"),
        tools=[HackerNewsTools()],
        instructions="Always include sources",
        add_datetime_to_context=True,
    )

    finance_agent = Agent(
        name="Finance Agent",
        role="Handle financial data requests",
        model=OpenAIResponses(id="gpt-5.2"),
        tools=[WebSearchTools(enable_news=False)],
        add_datetime_to_context=True,
    )

    team_leader = Team(
        name="Reasoning Finance Team",
        model=OpenAIResponses(id="gpt-5.2"),
        members=[
            web_agent,
            finance_agent,
        ],
        tools=[knowledge_tools],
        instructions=[
            "Only output the final answer, no other text.",
            "Use tables to display data",
        ],
        markdown=True,
        show_members_responses=True,
        add_datetime_to_context=True,
    )


    def run_team(task: str):
        team_leader.print_response(
            task,
            stream=True,
            show_full_reasoning=True,
        )


    if __name__ == "__main__":
        run_team("What does Paul Graham talk about the need to read in this essay?")
    ```
  </Step>

  <Snippet file="create-venv-step.mdx" />

  <Step title="Install dependencies">
    ```bash theme={null}
    uv pip install -U agno openai lancedb ddgs
    ```
  </Step>

  <Step title="Export your OpenAI API key">
    <CodeGroup>
      ```bash Mac/Linux theme={null}
        export OPENAI_API_KEY="your_openai_api_key_here"
      ```

      ```bash Windows theme={null}
        $Env:OPENAI_API_KEY="your_openai_api_key_here"
      ```
    </CodeGroup>
  </Step>

  <Step title="Run Agent">
    ```bash theme={null}
    python knowledge_tool_team.py
    ```
  </Step>
</Steps>
