chore: add remaining test docs, scripts and temp files
- Add Git commit preparation checklist - Add Phase testing guides and issue tracking - Add utility scripts (env setup, test data initialization) - Add temp migration SQL files (for reference) - Update startup scripts and README - Remove obsolete scripts
This commit is contained in:
314
Phase3-快速参考.md
Normal file
314
Phase3-快速参考.md
Normal file
@@ -0,0 +1,314 @@
|
||||
# Phase 3 批处理模式 - 快速参考
|
||||
|
||||
**完成时间**:2025-10-12
|
||||
**开发用时**:6小时(开发)+ 2小时(测试修复)
|
||||
**状态**:✅ 全部完成,测试通过
|
||||
|
||||
---
|
||||
|
||||
## 🎯 核心概念
|
||||
|
||||
**批处理模式 ≠ 对话**
|
||||
**批处理模式 = 任务执行器 + 数据提取器**
|
||||
|
||||
### 与其他模式的区别
|
||||
|
||||
| 模式 | 交互方式 | 输出 | 适用场景 |
|
||||
|------|---------|------|---------|
|
||||
| 全文阅读 | 对话式 | 自然语言 | 文献综述 |
|
||||
| 逐篇精读 | 对话式 | 自然语言 | 深度分析 |
|
||||
| **批处理** | **任务式** | **结构化表格** | **批量提取** |
|
||||
|
||||
---
|
||||
|
||||
## ⚙️ 核心参数
|
||||
|
||||
| 参数 | 值 | 说明 |
|
||||
|------|-----|------|
|
||||
| 文献数量 | **3-50篇** | 最少3篇,最多50篇 |
|
||||
| 并发数 | **固定3** | 避免API限流 |
|
||||
| 预设模板 | **1个** | 临床研究信息提取(8字段) |
|
||||
| 自定义模板 | **支持** | 文本块显示(3列) |
|
||||
| 失败重试 | **支持** | 单独重试失败项 |
|
||||
| 导出格式 | **Excel** | 双Sheet设计 |
|
||||
|
||||
---
|
||||
|
||||
## 📋 预设模板:临床研究信息提取
|
||||
|
||||
### 8个提取字段
|
||||
|
||||
1. **研究目的** - 研究问题或假设
|
||||
2. **研究设计** - RCT、队列研究等
|
||||
3. **研究对象** - 纳入/排除标准
|
||||
4. **样本量** - text类型,保留原文(如"干预组156人,对照组152人")
|
||||
5. **干预组** - 实验组干预措施
|
||||
6. **对照组** - 对照组情况
|
||||
7. **结果及数据** - 主要结局指标数据
|
||||
8. **牛津评级** - 证据等级(1a/1b/2a/2b/3a/3b/4/5)
|
||||
|
||||
### 牛津评级标准
|
||||
|
||||
- **1a**:系统评价/Meta分析
|
||||
- **1b**:单个RCT
|
||||
- **2a**:设计良好的对照研究(无随机化)
|
||||
- **2b**:准实验研究(队列、病例对照)
|
||||
- **3a**:描述性研究(横断面、病例系列)
|
||||
- **3b**:个案报告
|
||||
- **4**:专家意见
|
||||
- **5**:基础研究(动物、体外)
|
||||
|
||||
---
|
||||
|
||||
## 🗂️ 文件结构
|
||||
|
||||
### 后端文件(6个新建)
|
||||
|
||||
```
|
||||
backend/src/
|
||||
├── templates/
|
||||
│ └── clinicalResearch.ts # 预设模板配置
|
||||
├── utils/
|
||||
│ └── jsonParser.ts # JSON解析工具
|
||||
├── services/
|
||||
│ └── batchService.ts # 批处理核心逻辑
|
||||
├── controllers/
|
||||
│ └── batchController.ts # API控制器
|
||||
└── routes/
|
||||
└── batchRoutes.ts # 路由定义
|
||||
```
|
||||
|
||||
### 前端文件(13个新建)
|
||||
|
||||
```
|
||||
frontend/src/
|
||||
├── api/
|
||||
│ └── batchApi.ts # API封装
|
||||
├── hooks/
|
||||
│ └── useBatchTask.ts # 状态管理
|
||||
└── components/chat/
|
||||
├── TaskDefinition.tsx/.css # 任务定义
|
||||
├── DocumentSelection.tsx/.css # 文献选择
|
||||
├── BatchProgress.tsx/.css # 执行进度
|
||||
├── PresetTable.tsx # 预设表格(8列)
|
||||
├── CustomTable.tsx # 自定义表格(3列)
|
||||
├── BatchResults.tsx/.css # 结果展示
|
||||
└── BatchMode.tsx/.css # 批处理主组件
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔌 API端点
|
||||
|
||||
### 后端API
|
||||
|
||||
```
|
||||
GET /api/v1/batch/templates # 获取模板列表
|
||||
POST /api/v1/batch/execute # 执行批处理
|
||||
GET /api/v1/batch/tasks/:taskId # 获取任务状态
|
||||
GET /api/v1/batch/tasks/:taskId/results # 获取任务结果
|
||||
POST /api/v1/batch/tasks/:taskId/retry-failed # 重试失败项
|
||||
```
|
||||
|
||||
**测试状态**:✅ 模板API已验证通过
|
||||
|
||||
---
|
||||
|
||||
## 🎨 UI设计
|
||||
|
||||
### 三栏布局
|
||||
|
||||
```
|
||||
┌────────┬───────────────┬───────────────┐
|
||||
│ 模式 │ 任务定义 │ 进度/结果 │
|
||||
│ 选择 │ + │ │
|
||||
│ (120px)│ 文献选择 │ │
|
||||
│ │ + │ │
|
||||
│ ○ 全文│ 开始按钮 │ │
|
||||
│ ○ 精读│ │ │
|
||||
│ ● 批处理│ │ │
|
||||
└────────┴───────────────┴───────────────┘
|
||||
```
|
||||
|
||||
### 步骤流程
|
||||
|
||||
```
|
||||
Step 1: 定义任务
|
||||
↓
|
||||
Step 2: 选择文献(3-50篇)
|
||||
↓
|
||||
Step 3: 开始批处理
|
||||
↓
|
||||
Step 4: 查看结果,导出Excel
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📊 结果展示
|
||||
|
||||
### 预设模板(8列表格)
|
||||
|
||||
```
|
||||
┌──┬────────┬──────┬──────┬──────┬────┬────┬────┬──────┬────┐
|
||||
│#│文献名称 │研究 │研究 │研究 │样本│干预│对照│结果 │牛津│
|
||||
│ │ │目的 │设计 │对象 │量 │组 │组 │数据 │评级│
|
||||
└──┴────────┴──────┴──────┴──────┴────┴────┴────┴──────┴────┘
|
||||
```
|
||||
|
||||
### 自定义模板(3列表格)
|
||||
|
||||
```
|
||||
┌──┬──────────┬──────────────────────┐
|
||||
│#│文献名称 │提取结果(文本块) │
|
||||
└──┴──────────┴──────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📥 Excel导出
|
||||
|
||||
### 文件结构
|
||||
|
||||
**Sheet 1: 提取结果**
|
||||
- 预设模板:8列数据
|
||||
- 自定义模板:3列数据
|
||||
|
||||
**Sheet 2: 任务信息**
|
||||
- 任务名称、模板类型
|
||||
- 执行时间、完成时间
|
||||
- 文献统计(总数、成功、失败)
|
||||
- 总用时
|
||||
|
||||
**文件名格式**:
|
||||
- 预设:`批处理结果_临床研究信息提取_2025-10-13.xlsx`
|
||||
- 自定义:`批处理结果_自定义任务_2025-10-13.xlsx`
|
||||
|
||||
---
|
||||
|
||||
## ⚡ 性能指标
|
||||
|
||||
| 指标 | 预期值 |
|
||||
|------|--------|
|
||||
| 单文档处理 | 15-25秒 |
|
||||
| 10篇总时长 | 5-8分钟 |
|
||||
| 50篇总时长 | 25-40分钟 |
|
||||
| JSON解析成功率 | >90% |
|
||||
|
||||
**效率提升**:
|
||||
- 手动:10篇 × 10分钟 = 100分钟
|
||||
- 批处理:10篇 × 20秒 = ~7分钟
|
||||
- **提升约14倍** 🚀
|
||||
|
||||
---
|
||||
|
||||
## ✅ 已完成的收尾工作
|
||||
|
||||
### 测试与修复(已完成)
|
||||
|
||||
1. ✅ **类型定义** - 已更新
|
||||
2. ✅ **依赖安装** - xlsx已安装
|
||||
3. ✅ **Frontend启动** - 正常运行
|
||||
4. ✅ **端到端测试** - 全流程测试通过
|
||||
5. ✅ **问题修复** - 5个问题已全部修复
|
||||
|
||||
### 修复的问题
|
||||
1. ✅ API导入路径错误
|
||||
2. ✅ 数据库用户数据缺失
|
||||
3. ✅ 批处理页面空白问题
|
||||
4. ✅ 结果页面布局问题(改为垂直布局)
|
||||
5. ✅ 表格显示优化(列宽、换行、滚动条)
|
||||
|
||||
**详细修复记录**:见 `docs/05-每日进度/Phase3-最终测试-修复总结.md`
|
||||
|
||||
---
|
||||
|
||||
## ✅ 验收清单(已完成)
|
||||
|
||||
### 功能测试
|
||||
|
||||
- [x] 进入批处理模式(界面正常显示)✅
|
||||
- [x] 模板选择(预设/自定义切换)✅
|
||||
- [x] 文献选择(3-50篇限制生效)✅
|
||||
- [x] 执行任务(进度显示正常)✅
|
||||
- [x] 查看结果(表格显示正确)✅
|
||||
- [x] 导出Excel(文件格式正确)✅
|
||||
- [x] 重试失败项(如有失败)✅
|
||||
|
||||
### 边界测试
|
||||
|
||||
- [x] 选择<3篇文献(应提示错误)✅
|
||||
- [x] 选择>50篇文献(应提示错误)✅
|
||||
- [x] 自定义模板空提示词(应提示错误)✅
|
||||
- [x] JSON解析失败(应标记失败,不影响其他)✅
|
||||
|
||||
### UI优化测试
|
||||
|
||||
- [x] 垂直布局显示正常 ✅
|
||||
- [x] 表格列宽合理 ✅
|
||||
- [x] 单元格内容换行显示 ✅
|
||||
- [x] 横向滚动条可用 ✅
|
||||
- [x] 牛津评级列固定右侧 ✅
|
||||
|
||||
---
|
||||
|
||||
## 📚 相关文档
|
||||
|
||||
### 设计文档
|
||||
- `docs/05-每日进度/Phase3-批处理模式-完整设计.md` (设计方案)
|
||||
|
||||
### 完成报告
|
||||
- `docs/05-每日进度/Phase3-完成总结.md` (完成总结)
|
||||
- `Phase3-Day1-后端完成总结.md` (后端详情)
|
||||
|
||||
### 开发计划
|
||||
- `docs/04-开发计划/开发里程碑.md` (整体进度)
|
||||
|
||||
### 测试工具
|
||||
- `backend/test-batch-api.js` (API测试脚本)
|
||||
|
||||
---
|
||||
|
||||
## 💡 使用提示
|
||||
|
||||
### 最佳实践
|
||||
|
||||
**文献数量**:
|
||||
- 首次测试:5-10篇
|
||||
- 常规使用:10-20篇
|
||||
- 大规模:30-50篇
|
||||
|
||||
**模板选择**:
|
||||
- 标准临床研究 → 使用预设模板
|
||||
- 特殊需求 → 使用自定义模板
|
||||
|
||||
**性能优化**:
|
||||
- 避免超大文献(>200K tokens)
|
||||
- 分批处理(如需处理100+篇)
|
||||
- 优先使用DeepSeek-V3(快且便宜)
|
||||
|
||||
---
|
||||
|
||||
## 🎉 总结
|
||||
|
||||
**Phase 3 批处理模式:**
|
||||
- ✅ 任务式交互(非对话)
|
||||
- ✅ 双模板系统(预设8字段 + 自定义文本)
|
||||
- ✅ 固定3并发(稳定可靠)
|
||||
- ✅ 完整的Excel导出
|
||||
- ✅ 友好的UI体验
|
||||
- ✅ ~4,000行代码(6小时完成)
|
||||
|
||||
**核心价值**:
|
||||
- 批量信息提取
|
||||
- 结构化数据输出
|
||||
- 效率提升14倍
|
||||
- 可追溯、可归档
|
||||
|
||||
**已完成**:开发 + 测试 + 修复 + 优化 ✅
|
||||
|
||||
---
|
||||
|
||||
**快速参考版本**:2.0
|
||||
**最后更新**:2025-10-12
|
||||
**状态**:✅ 全部完成,已通过最终测试
|
||||
|
||||
Reference in New Issue
Block a user