关于 chat-with-arxiv
chat-with-arxiv 是用于构建 ArXiv 论文对话 Agent 的技能,面向需要检索、理解和综合学术文献的研究者。它涵盖论文发现、PDF 内容处理、带引用问答和多论文综合。
主要功能
- 01按主题、作者或标题搜索论文
- 02下载并解析论文 PDF
- 03基于检索内容回答问题并引用
- 04综合多篇论文的发现与主题
- 05管理多轮对话和论文上下文
适用场景
- 01进行学术文献综述
- 02询问单篇论文的方法与结论
- 03比较同一主题的多篇研究
- 04探索研究趋势和相关论文
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ qodex-ai/ ai-agent-skills --skill chat-with-arxiv安装后在 Claude Code 中输入/chat-with-arxiv确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
examples/arxiv_chatbot.pyarxiv_paper_retriever.pypaper_content_processor.pypaper_question_answerer.py详细介绍
与 ArXiv 对话
构建能够理解、讨论和综合 ArXiv 学术论文的智能 Agent,实现对科学文献的对话式探索。
概述
ArXiv 聊天 Agent 结合了:
- 论文发现:搜索并检索相关研究
- 内容处理:提取并理解论文内容
- 问答:回答有关论文的问题
- 研究综合:识别论文之间的联系
- 对话界面:围绕研究展开自然讨论
应用场景
- 文献综述研究助手
- 论文摘要与讲解
- 跨多篇论文探索主题
- 引文分析与联系发现
- 识别研究领域趋势
- 论文与学位论文支持
架构
User Query
↓
Query Classifier (Paper Search vs Q&A)
├→ Paper Search
│ ├ Query ArXiv API
│ ├ Retrieve papers
│ └ Process metadata
│
├→ Question Answering
│ ├ Retrieve relevant papers
│ ├ Extract relevant sections
│ ├ Generate answer with LLM
│ └ Cite sources
│
└→ Conversational Analysis
├ Analyze paper relationships
├ Identify themes
└ Synthesize findings
↓
Response with Citations
论文发现与检索
1. ArXiv API 集成
请参阅 examples/arxiv_paper_retriever.py 中的 ArXivPaperRetriever:
- 按查询搜索论文并按相关性排序
- 按类别、作者或标题关键词搜索
- 按类别和日期范围检索热门论文
- 查找与指定论文相似的论文
- 从论文摘要中提取关键词
2. 论文内容处理
请参阅 examples/paper_content_processor.py 中的 PaperContentProcessor:
- 下载并提取 PDF 内容
- 解析论文结构(摘要、引言、方法、结果、结论、参考文献)
- 从论文中提取引文
- 缓存已处理的论文以提升性能
- 将论文分块以集成到 RAG 中
问答系统
1. 基于 RAG 的问答
请参阅 examples/paper_question_answerer.py 中的 PaperQuestionAnswerer:
- 从 ArXiv 搜索相关论文
- 下载并处理论文
- 将论文分块以供 RAG 检索
- 使用嵌入检索最相关的文本块
- 生成带有恰当引文的答案
2. 多论文综合
构建综合能力以便:
- 分析某个主题的多篇论文
- 提取关键发现和结论
- 识别共同的研究主题
- 生成对研究领域的全面综合
对话界面
1. 多轮对话
请参阅 examples/arxiv_chatbot.py 中的 ArXivChatbot:
- 保留对话历史
- 对查询类型进行分类(单篇论文问答、多论文综合、趋势、常规问题)
- 处理带有引文的单篇论文问题
- 处理跨多篇论文的综合查询
- 检测并检索研究趋势
- 生成结合上下文的回复
2. 上下文管理
构建上下文管理能力以便:
- 跟踪当前讨论主题
- 记住已讨论的论文
- 在对话中查找相关论文
- 总结讨论进展
最佳实践
论文检索
- ✓ 使用具体查询以获得更好的结果
- ✓ 将结果限制为相关论文(最多 50-100 篇)
- ✓ 在本地缓存已下载的论文
- ✓ 处理 API 速率限制
- ✓ 验证 PDF 提取结果
问答
- ✓ 始终使用 ArXiv ID 标注来源
- ✓ 采用多篇论文的不同视角
- ✓ 承认不确定性
- ✓ 突出相互矛盾的发现
- ✓ 推荐相关论文
对话管理
- ✓ 保留对话历史
- ✓ 跟踪已讨论的论文
- ✓ 澄清含糊的查询
- ✓ 推荐后续问题
- ✓ 提供论文推荐
实施清单
- 设置 ArXiv API 客户端
- 实现论文检索
- 创建 PDF 处理流程
- 构建用于问答的 RAG 系统
- 实现多论文综合
- 创建对话界面
- 添加搜索筛选
- 设置缓存系统
- 实现引文格式化
- 添加错误处理和日志记录
- 在不同研究领域进行测试
资源
ArXiv API
- ArXiv 官方 API:https://arxiv.org/help/api
- arxiv Python 客户端:https://github.com/lukasschwab/arxiv.py
Paper Processing
- PyPDF2: https://github.com/py-pdf/PyPDF2
- pdfplumber: https://github.com/jsvine/pdfplumber
RAG and QA
- LangChain: https://python.langchain.com/
- Hugging Face Transformers: https://huggingface.co/transformers/
Citation Management
- CrossRef API: https://www.crossref.org/services/metadata-retrieval/
- Semantic Scholar API: https://www.semanticscholar.org/product/api
评论
支持 Markdown