跳转到主要内容

ArxivPaperTool

描述

ArxivPaperTool 查询 arXiv API 获取学术论文,并返回简洁、易读的结果。它还可以选择性地将 PDF 文件下载到磁盘。

安装

除了 crewai-tools 外,此工具无需特殊安装。
uv add crewai-tools
无需 API 密钥。此工具使用公共的 arXiv Atom API。

开始步骤

  1. 初始化工具。
  2. 提供一个 search_query(例如,“transformer neural network”)。
  3. 可选择在构造函数中设置 max_results(1–100)并启用 PDF 下载。

示例

代码
from crewai import Agent, Task, Crew
from crewai_tools import ArxivPaperTool

tool = ArxivPaperTool(
    download_pdfs=False,
    save_dir="./arxiv_pdfs",
    use_title_as_filename=True,
)

agent = Agent(
    role="Researcher",
    goal="Find relevant arXiv papers",
    backstory="Expert at literature discovery",
    tools=[tool],
    verbose=True,
)

task = Task(
    description="Search arXiv for 'transformer neural network' and list top 5 results.",
    expected_output="A concise list of 5 relevant papers with titles, links, and summaries.",
    agent=agent,
)

crew = Crew(agents=[agent], tasks=[task])
result = crew.kickoff()

直接使用(不通过代理)

代码
from crewai_tools import ArxivPaperTool

tool = ArxivPaperTool(
    download_pdfs=True, 
    save_dir="./arxiv_pdfs",
)
print(tool.run(search_query="mixture of experts", max_results=3))

参数

初始化参数

  • download_pdfs (bool, 默认为 False): 是否下载 PDF。
  • save_dir (str, 默认为 ./arxiv_pdfs): 保存 PDF 的目录。
  • use_title_as_filename (bool, 默认为 False): 使用论文标题作为文件名。

运行参数

  • search_query (str, 必需): arXiv 搜索查询。
  • max_results (int, 默认为 5, 范围 1–100): 结果数量。

输出格式

该工具返回一份易于阅读的论文列表,包含:
  • 标题
  • 链接(摘要页面)
  • 片段/摘要(截断)
download_pdfs=True 时,PDF 将被保存到磁盘,并且摘要中会提及已保存的文件。

使用说明

  • 该工具返回包含关键元数据和链接的格式化文本。
  • download_pdfs=True 时,PDF 将存储在 save_dir 中。

故障排除

  • 如果遇到网络超时,请重试或减少 max_results 的值。
  • 无效 XML 错误表示 arXiv 响应解析问题;请尝试使用更简单的查询。
  • 保存 PDF 时可能会出现文件系统错误(例如权限被拒绝);请确保 save_dir 是可写的。

错误处理

  • 网络问题、无效的 XML 和操作系统错误都会通过信息性消息进行处理。