# v5集成到API - 完整执行计划 > 集成时间: 2026-03-31 02:08 > 状态: ✅ 已完成 --- ## ✅ 已完成的工作 ### 1. API路由集成 **文件**: `api/rag_routes.py` **新增内容**: ```python # 请求模型 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接口 (立即) ```bash # 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: 扩展到更多期刊 (下周) **优先级**: 1. Springer适配器 (2-3天) 2. Elsevier适配器 (2-3天) 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日 | 待分配 | --- ## 🚀 立即执行命令 ```bash # 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*