Wikipedia Tools

Search Wikipedia and optionally add results to a knowledge base with WikipediaTools.

wikipedia_tools.py
"""
Wikipedia Tools
=============================

Demonstrates wikipedia tools.
"""

from agno.agent import Agent
from agno.knowledge.knowledge import Knowledge
from agno.tools.wikipedia import WikipediaTools

# ---------------------------------------------------------------------------
# Create Agent
# ---------------------------------------------------------------------------


# Example 1: Basic Wikipedia search (without knowledge base)
agent = Agent(tools=[WikipediaTools()])

# Example 2: Wikipedia with knowledge base integration
knowledge_base = Knowledge()
kb_agent = Agent(tools=[WikipediaTools(knowledge=knowledge_base)])

# Test the agents

# ---------------------------------------------------------------------------
# Run Agent
# ---------------------------------------------------------------------------
if __name__ == "__main__":
    agent.print_response(
        "Search Wikipedia for 'artificial intelligence'", markdown=True
    )
    kb_agent.print_response(
        "Find information about machine learning and add it to knowledge base",
        markdown=True,
    )

The first agent returns a Wikipedia summary without a knowledge store. The second needs a vector database: bare Knowledge() cannot store and retrieve those documents. Replace its initialization with:

from agno.vectordb.pgvector import PgVector

knowledge_base = Knowledge(
    vector_db=PgVector(
        table_name="wikipedia_documents",
        db_url="postgresql+psycopg://ai:ai@localhost:5532/ai",
    )
)

The toolkit inserts Wikipedia content and then searches the store. To make this store searchable on later requests as well, pass knowledge=knowledge_base, search_knowledge=True to kb_agent.

Run the Example

Set up your virtual environment

uv venv --python 3.12
source .venv/bin/activate

Install dependencies

uv pip install -U agno openai wikipedia pgvector sqlalchemy "psycopg[binary]"

Export your OpenAI API key

export OPENAI_API_KEY="your_openai_api_key_here"

Run PgVector

docker run -d \
  -e POSTGRES_DB=ai \
  -e POSTGRES_USER=ai \
  -e POSTGRES_PASSWORD=ai \
  -e PGDATA=/var/lib/postgresql \
  -v pgvolume:/var/lib/postgresql \
  -p 5532:5432 \
  --name pgvector \
  agnohq/pgvector:18

Run the example

Save the code above as wikipedia_tools.py, then run:

python wikipedia_tools.py

Full source: cookbook/91_tools/wikipedia_tools.py