🧠 研究代理
您的人工智能学术研究伙伴
一个复杂的研究代理,与arXiv接口,用于搜索、下载和分析学术论文。该工具采用LangChain构建,利用MCP(模型上下文协议)服务器提供对学术研究的无缝访问。
特性
- 🔍 智能纸张搜索:按主题、标题或关键字查找学术论文
- 📥 自动下载:使用单个命令直接从arXiv下载论文
- 📄 全文分析:阅读并分析完整的论文内容
- 🤖 人工智能辅助:利用最先进的LLM进行论文分析
- 📊 丰富的CLI界面:带有彩色编码信息的漂亮终端界面
- 🔄 交互式和批处理模式:支持交互式和单查询模式
- 📚 本地纸张管理:列出并管理所有本地下载的论文
- ⚡ 简化工作流程:自动搜索→ 下载→ read → 分析管道
先决条件
- Python 3.12或更高版本
- Anthropic(用于Claude模型)或其他支持提供商的API密钥
uv包管理器(用于MCP服务器管理)
设置
1.克隆和安装依赖项
# Clone the repository
git clone https://github.com/devgomesai/Research-Agent-Arxiv.git
cd research-agent
# Create a virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Or if using uv: uv pip install -r requirements.txt2.创建配置文件
创建一个 .env 根目录中带有API密钥的文件:
ANTHROPIC_API_KEY=your_api_key_here
3.存储路径配置(必填)
重要:在运行应用程序之前,您必须创建一个存储文件夹,并在 --storage-path 参数。
- 创建一个新文件夹,用于存储下载的论文:
mkdir /path/to/your/storage/folder
# Example: mkdir ./arxiv_storage- 更新中的MCP服务器配置
src/mcp_server.py指向您的存储文件夹:
# In src/mcp_server.py, modify the storage path:
"--storage-path",
"/path/to/your/storage/folder/", # Update this path依赖项
该项目依赖于以下关键包:
langchain:LLM应用程序开发框架langchain-mcp-adapters:MCP服务器集成langchain-anthropic:人类模型集成langgraph:代理人的国家管理rich:终端文本丰富,格式美观python-dotenv:环境变量管理arxiv-mcp-server:用于arXiv访问的后端服务器
所有依赖项都列在 requirements.txt 和 pyproject.toml.
用法
交互模式
在交互模式下运行代理以进行持续对话:
python -m src.agent代理人将以互动模式开始,您可以在其中不断询问有关学术论文的问题。
单查询模式
运行一个查询并退出:
python -m src.agent --query "Find papers on Vision Transformers"使用不同的模型
指定其他语言模型(默认为Claude 3.5 Sonnet):
python -m src.agent --model anthropic:claude-3-5-sonnet-latest --query "Summarize recent advances in transformer architectures"其他支持的型号包括:
anthropic:claude-3-opus- 更多取决于您的配置
纸张下载控制
使用控制每个查询下载多少篇论文 --k 参数:
# Download and analyze 5 papers on the topic
python -m src.agent --query "Find papers on Vision Transformers" --k 5附加选项
# Verbose output for debugging
python -m src.agent --verbose
# Limit number of tools displayed
python -m src.agent --tools-limit 3
# Number of papers to download per query (default: 1, range: 1-20)
python -m src.agent --k 5
# Show help
python -m src.agent --help建筑
┌─────────────────┐ ┌──────────────┐ ┌─────────────────┐
│ User Input │───▶│ Research │───▶│ arXiv MCP │
│ (Query + k) │ │ Agent │ │ Server │
│ │ │ │ │ (Searches & │
└─────────────────┘ └──────────────┘ │ Downloads) │
└─────────────────┘
│
▼
┌─────────────────┐
│ Storage Path │
│ (Local Papers) │
└─────────────────┘系统遵循以下工作流程:
- 搜索:用户请求触发arXiv上的论文搜索(下载论文数量由指定)
k参数) - 下载:相关论文(最多
k计数)被下载到配置的存储路径 - 阅读:从本地存储中检索纸张内容
- 分析:AI模型分析并响应用户的查询
运作原理
研究代理使用模型上下文协议(MCP)与arXiv服务器进行接口连接。这 arxiv-mcp-server 提供以下工具:
search_papers:按主题、标题或关键字搜索arXiv中的论文download_paper:使用arXiv ID下载论文read_paper:检索下载论文的全部内容list_papers:列出所有本地下载的论文
代理遵循严格的4步工作流程:
第一步:搜索论文
- 用户提供:主题、标题或关键字
- 客服电话:
search_papers根据用户的查询 - 结果:具有arXiv ID的相关论文列表
第二步:下载精选论文
- 客服电话:
download_paper使用搜索结果中的arXiv ID - 结果:纸张已按配置的路径保存到本地存储
第三步:阅读论文内容
- 客服电话:
read_paper访问下载论文的全部内容 - 结果:全文(标题、作者、摘要、正文、参考文献)
步骤4:执行分析
根据用户的请求,代理提供:
- 总结:2-3句概述,包括主要贡献和关键成果
- 详细分析:执行摘要、研究背景、方法、结果、影响、未来方向
- 比较:使用对照表/摘要分析多篇论文
- 代码/实施:论文中的伪代码和实现细节
工作流程是完全自动化的——代理将自主完成从搜索到分析的所有步骤,而不需要用户提供arXiv ID。
存储管理
所有下载的论文都存储在由 --storage-path MCP服务器配置中的参数。默认位置为 C:/arxiv_storage/,但您应该将其更新到系统上存在的文件夹中。
该应用程序将自动创建和管理存储目录,按arXiv ID组织论文,以实现高效检索。
发展
要修改代理的行为,您可以在中更新提示 src/prompt.pyThe PAPER_ANALYSIS_PROMPT 定义代理的指令和论文分析工作流程。
故障排除
- API关键问题:确保在中正确设置了API密钥
.env文件 - 存储路径问题:验证存储文件夹是否存在以及是否具有适当的读/写权限
- 模型访问:确认您的帐户可以访问所请求的语言模型
- MCP服务器:确保arXiv MCP服务器可以通过以下方式访问
uv命令
鸣谢
这个项目使用了优秀的 arxiv mcp服务器 由blazickjp通过模型上下文协议进行arXiv集成。
