跳转到内容

arXiv 论文工具

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

这个工具除了 crewai-tools 外没有额外安装要求。

Terminal window
uv add crewai-tools

不需要 API key。该工具使用公开的 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="研究员",
goal="查找相关的 arXiv 论文",
backstory="擅长文献发现的专家",
tools=[tool],
verbose=True,
)
task = Task(
description="在 arXiv 中搜索 'transformer neural network' 并列出前 5 条结果。",
expected_output="包含标题、链接和摘要的简明论文列表。",
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, default False):是否下载 PDF。
  • save_dir (str, default ./arxiv_pdfs):PDF 保存目录。
  • use_title_as_filename (bool, default False):是否使用论文标题作为文件名。
  • search_query (str, required):arXiv 搜索查询。
  • max_results (int, default 5, range 1–100):结果数量。

工具会返回一个人类可读的论文列表,包含:

  • 标题
  • 链接(arXiv 页面)
  • 摘要/片段(截断)

download_pdfs=True 时,PDF 会保存到磁盘,摘要中会说明保存的文件。

  • 工具会返回包含关键元数据和链接的格式化文本。
  • download_pdfs=True 时,PDF 会存储在 save_dir 中。
  • 如果遇到网络超时,请重试或减小 max_results
  • 无效 XML 错误表示 arXiv 响应解析出问题;请尝试更简单的查询。
  • 保存 PDF 时可能出现文件系统错误(例如权限不足);请确保 save_dir 可写。
  • 网络问题、无效 XML 和操作系统错误都会以信息明确的消息方式处理。