6.8 KiB
Executable File
6.8 KiB
Executable File
v5集成到API - 完整执行计划
集成时间: 2026-03-31 02:08 状态: ✅ 已完成
✅ 已完成的工作
1. API路由集成
文件: api/rag_routes.py
新增内容:
# 请求模型
class PhylogenyExtractionRequest(BaseModel):
pdf_path: str
doi: Optional[str] = None
pmcid: Optional[str] = None
auto_fetch_supplementary: bool = True
# 提取接口
@router.post("/rag/phylogeny/extract")
async def extract_phylogeny(request: PhylogenyExtractionRequest)
# 状态查询接口
@router.get("/rag/phylogeny/status/{pdf_name}")
async def get_phylogeny_status(pdf_name: str)
功能:
- ✅ 接收PDF路径、DOI、PMCID
- ✅ 调用v5提取器
- ✅ 自动获取补充材料
- ✅ 返回提取结果
- ✅ 查询提取状态
📋 下一步执行计划
步骤1: 测试API接口 (立即)
# 1. 启动API服务
cd /home/xia-lab/gene-family-mas-v2
conda activate gfpy312
python -m api.main
# 2. 测试提取接口
curl -X POST http://localhost:8000/rag/phylogeny/extract \
-H "Content-Type: application/json" \
-d '{
"pdf_path": "/home/xia-lab/gene-family-mas-v2/paper/ceshi/番茄p450基因家族BMCgenomics2020.pdf",
"doi": "10.1186/s12864-019-5483-x",
"pmcid": "PMC6367802"
}'
# 3. 测试状态查询
curl http://localhost:8000/rag/phylogeny/status/番茄p450基因家族BMCgenomics2020
步骤2: 前端集成 (明天)
修改: frontend/main.py 或 Vue前端
新增功能:
- 上传PDF文件
- 输入DOI/PMCID
- 显示提取进度
- 展示分组结果
- 可视化系统发育树
步骤3: 批量处理 (本周)
脚本: scripts/batch_phylogeny_extract.py
功能:
- 读取论文列表CSV
- 批量调用提取API
- 结果存入数据库
- 生成统计报告
步骤4: 扩展到更多期刊 (下周)
优先级:
- Springer适配器 (2-3天)
- Elsevier适配器 (2-3天)
- Wiley适配器 (2-3天)
步骤5: 与RAG检索集成 (第2周)
功能:
- 提取结果存入Qdrant
- RAG回答时引用系统发育信息
- 支持系统发育相关问答
🎯 完整Pipeline架构
用户请求
↓
┌─────────────────────────────────────────┐
│ API Layer (FastAPI) │
│ ┌─────────────┐ ┌─────────────────┐ │
│ │ /rag/chat │ │ /rag/phylogeny │ │
│ │ (原有) │ │ /extract (v5) │ │
│ └──────┬──────┘ └────────┬────────┘ │
└─────────┼────────────────────┼──────────┘
↓ ↓
┌─────────┴────────────────────┴──────────┐
│ Extraction Layer (v5) │
│ ┌─────────────┐ ┌─────────────────┐ │
│ │ PDF Extract │ │ Universal │ │
│ │ (基础信息) │ │ Supplementary │ │
│ └──────┬──────┘ │ Fetcher │ │
│ ↓ └────────┬────────┘ │
│ ┌─────────────┐ ↓ │
│ │ Excel Parse │ ┌─────────────────┐ │
│ │ (分组详情) │←───│ Europe PMC │ │
│ └─────────────┘ │ Springer │ │
│ │ Crawler │ │
└─────────────────────────────────────────┘
↓
┌─────────────────────────────────────────┐
│ Storage Layer │
│ ┌─────────────┐ ┌─────────────────┐ │
│ │ JSON Results│ │ Qdrant Vector │ │
│ │ (文件系统) │ │ Store (可选) │ │
│ └─────────────┘ └─────────────────┘ │
└─────────────────────────────────────────┘
↓
┌─────────────────────────────────────────┐
│ Response Layer │
│ ┌─────────────┐ ┌─────────────────┐ │
│ │ 分组详情 │ │ Confidence │ │
│ │ 基因列表 │ │ Score 100/100 │ │
│ └─────────────┘ └─────────────────┘ │
└─────────────────────────────────────────┘
📊 时间节点
| 阶段 | 任务 | 时间 | 负责人 |
|---|---|---|---|
| ✅ 已完成 | API集成 | 3月31日 | xialab的幸运星 |
| ⏳ 今天 | 接口测试 | 3月31日 | xialab的幸运星 |
| 📅 明天 | 前端集成 | 4月1日 | 待分配 |
| 📅 本周 | 批量处理 | 4月1-5日 | 待分配 |
| 📅 下周 | 多期刊扩展 | 4月8-12日 | 待分配 |
| 📅 第2周 | RAG集成 | 4月15-19日 | 待分配 |
🚀 立即执行命令
# 1. 进入项目目录
cd /home/xia-lab/gene-family-mas-v2
# 2. 激活环境
conda activate gfpy312
# 3. 启动API服务
python -m api.main
# 4. 测试接口 (新终端)
curl -X POST http://localhost:8000/rag/phylogeny/extract \
-H "Content-Type: application/json" \
-d '{
"pdf_path": "/home/xia-lab/gene-family-mas-v2/paper/ceshi/番茄p450基因家族BMCgenomics2020.pdf",
"doi": "10.1186/s12864-019-5483-x",
"pmcid": "PMC6367802"
}'
📁 相关文件
gene-family-mas-v2/
├── api/
│ └── rag_routes.py # ✅ 已集成v5接口
├── extract_phylogeny_v5_universal.py # v5提取器
├── universal_supplementary_fetcher.py # 通用获取器
├── INTEGRATION_PLAN.md # 本计划文档
└── evaluation/auto_results/ # 提取结果目录
💡 关键决策
已完成
- ✅ v5集成到API
- ✅ 支持自动补充材料获取
- ✅ 支持状态查询
待决策
- 是否立即启动API测试?
- 是否明天开始前端集成?
- 是否本周开始批量处理?
计划制定: 2026-03-31 02:08 集成完成: 2026-03-31 02:08