跳转到主要内容

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()

直接使用(不带 Agent)

代码
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 和操作系统错误都会提供信息性消息进行处理。