整合所有技术,构建完整的科研自动化助手(LangGraph + CrewAI + Gradio)。
整合所有学到的技术,构建一个完整的科研自动化助手。
┌─────────────────────────────────────────────┐
│ Gradio Web UI │
│ (自然语言交互界面) │
└──────────────────┬──────────────────────────┘
│
┌──────────────────▼──────────────────────────┐
│ Orchestrator (LangGraph) │
│ ┌─────────────────────────────────┐ │
│ │ Supervisor (意图分类 + 路由) │ │
│ └──────────┬──────────────────────┘ │
│ │ │
│ ┌──────────▼──────────────────────┐ │
│ │ Sub-Agent 集群 │ │
│ │ ├─ Literature Agent (CrewAI) │ │
│ │ ├─ Deep Read Agent │ │
│ │ ├─ Synthesis Agent │ │
│ │ ├─ Writing Agent │ │
│ │ └─ Experiment Agent │ │
│ └──────────┬──────────────────────┘ │
└───────────────┼─────────────────────────────┘
│
┌───────────────▼─────────────────────────────┐
│ Tool Layer (工具层) │
│ ├─ arXiv API (论文搜索) │
│ ├─ Paper Processor (PDF解析) │
│ ├─ Vision Tool (图表分析) │
│ └─ Citation Tool (引用管理) │
└───────────────┬─────────────────────────────┘
│
┌───────────────▼─────────────────────────────┐
│ Memory Layer (记忆层) │
│ ├─ ChromaDB (论文向量索引) │
│ ├─ SQLite (对话历史 + 论文元数据) │
│ └─ Experiment Registry (实验跟踪) │
└─────────────────────────────────────────────┘
"找 3 篇 BEV 感知论文"
Supervisor 识别意图 "literature"
→ Literature Agent (CrewAI: Searcher + Analyzer)
→ arXiv API 搜索
→ 返回结构化论文列表
"分析 BEVFormer 的方法"
Supervisor 识别意图 "deep_read"
→ Deep Read Agent
→ 加载 PDF → 分块 → 向量索引
→ 检索相关段落 → LLM 分析 → 结构化报告
"3D 检测有什么新趋势?"
Supervisor 识别意图 "synthesis"
→ Synthesis Agent
→ 多论文查询 → 交叉对比 → 识别趋势和空白
"写一段 BEV 感知的 related work"
Supervisor 识别意图 "writing"
→ Writing Agent
→ 检索相关论文 → 组织叙事 → 生成学术风格的文本
"记录实验: BEVDet, mAP=0.42"
Supervisor 识别意图 "experiment"
→ Experiment Agent
→ 存入 SQLite → 生成排行榜
| 文件 | 说明 |
|---|---|
agents/orchestrator.py |
LangGraph 主编排器,Intent → Route → Specialist |
tools/arxiv_tool.py |
arXiv API 搜索工具 |
tools/paper_processor.py |
PDF 解析、分块、索引 |
tools/vision_tool.py |
论文图表视觉分析 |
memory/vector_store.py |
ChromaDB 持久化向量索引 |
memory/paper_registry.py |
SQLite 论文元数据管理 |
app.py |
Gradio Web 交互界面 |
config.py |
配置中心 |
# Web 界面
python module_07_capstone/app.py
# 打开 http://localhost:7860
| 层级 | 技术 |
|---|---|
| UI | Gradio ChatInterface |
| 编排 | LangGraph StateGraph + 条件路由 |
| 子 Agent | CrewAI (文献搜索) + LangGraph (深度分析) |
| 工具 | arXiv API + PDF 解析 + Vision LLM |
| 记忆 | ChromaDB (向量) + SQLite (结构化) |
1. 真实 PDF 解析:接入 PyPDFLoader 解析用户上传的论文
2. 论文图表提取:用 Vision LLM 分析论文中的 Figure
3. 定时推送:每日自动搜索新论文并推送摘要
4. Slack/微信集成:通过 Bot 接口在聊天工具中使用
5. 多语言:支持中英文论文混合检索