Files
AIclinicalresearch/Phase3-快速参考.md
HaHafeng 855d142fec 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
2025-11-16 15:44:55 +08:00

8.6 KiB
Raw Blame History

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


验收清单(已完成)

功能测试

  • 进入批处理模式(界面正常显示)
  • 模板选择(预设/自定义切换)
  • 文献选择3-50篇限制生效
  • 执行任务(进度显示正常)
  • 查看结果(表格显示正确)
  • 导出Excel文件格式正确
  • 重试失败项(如有失败)

边界测试

  • 选择<3篇文献应提示错误
  • 选择>50篇文献应提示错误
  • 自定义模板空提示词(应提示错误)
  • JSON解析失败应标记失败不影响其他

UI优化测试

  • 垂直布局显示正常
  • 表格列宽合理
  • 单元格内容换行显示
  • 横向滚动条可用
  • 牛津评级列固定右侧

📚 相关文档

设计文档

  • 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
状态 全部完成,已通过最终测试