Wikipedia Tools
Search Wikipedia and optionally add results to a knowledge base with WikipediaTools.
"""
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/activateInstall 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:18Run the example
Save the code above as wikipedia_tools.py, then run:
python wikipedia_tools.pyFull source: cookbook/91_tools/wikipedia_tools.py