arXiv 论文工具
ArxivPaperTool
Section titled “ArxivPaperTool”ArxivPaperTool 会查询 arXiv API 获取学术论文,并返回简洁、易读的结果。它还可以选择将 PDF 下载到本地。
这个工具除了 crewai-tools 外没有额外安装要求。
uv add crewai-tools不需要 API key。该工具使用公开的 arXiv Atom API。
- 初始化工具。
- 提供
search_query(例如 “transformer neural network”)。 - 可选设置
max_results(1–100),并在构造函数中启用 PDF 下载。
from crewai import Agent, Task, Crewfrom 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()直接使用(不使用 Agent)
Section titled “直接使用(不使用 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, defaultFalse):是否下载 PDF。save_dir(str, default./arxiv_pdfs):PDF 保存目录。use_title_as_filename(bool, defaultFalse):是否使用论文标题作为文件名。
search_query(str, required):arXiv 搜索查询。max_results(int, default5, range 1–100):结果数量。
工具会返回一个人类可读的论文列表,包含:
- 标题
- 链接(arXiv 页面)
- 摘要/片段(截断)
当 download_pdfs=True 时,PDF 会保存到磁盘,摘要中会说明保存的文件。
- 工具会返回包含关键元数据和链接的格式化文本。
- 当
download_pdfs=True时,PDF 会存储在save_dir中。
- 如果遇到网络超时,请重试或减小
max_results。 - 无效 XML 错误表示 arXiv 响应解析出问题;请尝试更简单的查询。
- 保存 PDF 时可能出现文件系统错误(例如权限不足);请确保
save_dir可写。
- arXiv API 文档:https://info.arxiv.org/help/api/index.html
- 网络问题、无效 XML 和操作系统错误都会以信息明确的消息方式处理。