Skip to main content

Overview

ArXiv is a free distribution service and open-access archive for scholarly articles. This tool allows you to search and retrieve academic papers.

Installation

pip install "praisonai[tools]"
No API key required!

Quick Start

from praisonai_tools import ArxivTool

# Initialize
arxiv = ArxivTool()

# Search
results = arxiv.search("transformer neural networks")
print(results)

Usage with Agent

from praisonaiagents import Agent
from praisonai_tools import ArxivTool

agent = Agent(
    name="Researcher",
    instructions="You are a research assistant. Use ArXiv to find academic papers.",
    tools=[ArxivTool()]
)

response = agent.chat("Find papers about large language models")
print(response)

Available Methods

search(query, max_results=5)

Search ArXiv for papers.
from praisonai_tools import ArxivTool

arxiv = ArxivTool()
results = arxiv.search("deep learning", max_results=3)

# Returns:
# [
#     {
#         "title": "...",
#         "authors": ["..."],
#         "summary": "...",
#         "published": "2024-01-15",
#         "pdf_url": "https://arxiv.org/pdf/..."
#     },
#     ...
# ]

get_paper(arxiv_id)

Get a specific paper by ArXiv ID.
paper = arxiv.get_paper("2301.00234")

# Returns full paper details including abstract and links

Configuration Options

arxiv = ArxivTool(
    sort_by="relevance",      # "relevance" or "submittedDate"
    sort_order="descending"   # "ascending" or "descending"
)

Function-Based Usage

from praisonai_tools import arxiv_search

# Quick search without instantiating class
results = arxiv_search("quantum computing", max_results=5)

CLI Usage

# Use with praisonai (no API key needed)
praisonai --tools ArxivTool "Find recent papers on reinforcement learning"

Error Handling

from praisonai_tools import ArxivTool

arxiv = ArxivTool()
results = arxiv.search("my query")

if results and "error" in results[0]:
    print(f"Error: {results[0]['error']}")
else:
    for paper in results:
        print(f"- {paper['title']}")
        print(f"  Authors: {', '.join(paper['authors'][:3])}")

Common Errors

ErrorCauseSolution
arxiv not installedMissing dependencyRun pip install arxiv
No results foundQuery too specificBroaden search terms
Connection errorNetwork issueCheck internet connection