Copy
Ask AI
"""
ArXiv Tools - Academic Paper Search and Research
This example demonstrates how to use ArxivTools for searching academic papers.
Shows enable_ flag patterns for selective function access.
ArxivTools is a small tool (<6 functions) so it uses enable_ flags.
Run: `uv pip install arxiv` to install the dependencies
"""
from agno.agent import Agent
from agno.tools.arxiv import ArxivTools
# ---------------------------------------------------------------------------
# Create Agent
# ---------------------------------------------------------------------------
# Example 1: All functions enabled (default behavior)
agent_full = Agent(
tools=[ArxivTools()], # All functions enabled by default
description="You are a research assistant with full ArXiv search capabilities.",
instructions=[
"Help users find and analyze academic papers from ArXiv",
"Provide detailed paper summaries and insights",
"Support comprehensive literature reviews",
],
markdown=True,
)
# Example 2: Enable specific search functions
agent_search_only = Agent(
tools=[
ArxivTools(
enable_search_arxiv=True,
enable_read_arxiv_papers=False, # Disable detailed paper analysis
)
],
description="You are a research search specialist focused on finding relevant papers.",
instructions=[
"Search for academic papers based on keywords and topics",
"Provide basic paper information and abstracts",
"Focus on broad literature discovery",
],
markdown=True,
)
# Example 3: Enable all functions using the 'all=True' pattern
agent_comprehensive = Agent(
tools=[ArxivTools(all=True)], # Enable all functions explicitly
description="You are a comprehensive research assistant for academic literature analysis.",
instructions=[
"Perform detailed academic research using all ArXiv capabilities",
"Provide in-depth paper analysis and cross-references",
"Support advanced research methodologies",
],
markdown=True,
)
# Example 4: Custom configuration for specific research needs
agent_focused = Agent(
tools=[
ArxivTools(
enable_search_arxiv=True,
enable_read_arxiv_papers=True,
# Add other enable_ flags as needed based on available functions
)
],
description="You are a focused research assistant for specific academic domains.",
instructions=[
"Conduct targeted searches in specific academic fields",
"Provide detailed analysis of relevant papers",
"Maintain focus on research objectives",
],
markdown=True,
)
# Basic search example
# ---------------------------------------------------------------------------
# Run Agent
# ---------------------------------------------------------------------------
if __name__ == "__main__":
print("=== ArXiv Paper Search Example ===")
agent_full.print_response("Search arxiv for 'language models'", markdown=True)
print("\n=== Focused Research Example ===")
agent_focused.print_response(
"Find recent papers on 'transformer architectures' and provide detailed analysis",
markdown=True,
)
print("\n=== Search-Only Example ===")
agent_search_only.print_response(
"Search for papers related to 'machine learning interpretability'",
markdown=True,
)
Run the Example
Copy
Ask AI
# Clone and setup repo
git clone https://github.com/agno-agi/agno.git
cd agno/cookbook/91_tools
# Create and activate virtual environment
./scripts/demo_setup.sh
source .venvs/demo/bin/activate
python arxiv_tools.py