Files
AIclinicalresearch/docs/03-业务模块/ASL-AI智能文献/[AI对接] ASL模块快速上下文.md
HaHafeng 31d555f7bb docs: Update architecture docs with platform infrastructure details
- Add platform infrastructure chapter to frontend-backend architecture design
- Update system architecture document with 6 new infrastructure modules
- Update AI onboarding guide with infrastructure overview
- Link to backend/src/common/README.md for detailed usage guide

Key Updates:
- Storage service (LocalAdapter + OSSAdapter)
- Logging system (Winston + JSON format)
- Cache service (Memory + Redis)
- Async job queue (Memory + Database)
- Health check endpoints
- Monitoring metrics
- Database connection pool
- Environment config management

All modules support zero-code switching between local and cloud environments.

Related: #Platform-Infrastructure
2025-11-17 08:36:10 +08:00

13 KiB
Raw Blame History

ASL模块开发 - AI对接快速上下文

创建日期: 2025-11-16
适用对象: 新的AI编程助手、新开发人员
目的: 5分钟快速了解项目状态立即开始工作
版本: V1.0


📍 项目定位

AIclinicalresearch 是一个医学科研AI平台当前正在开发 ASLAI智能文献 模块。

ASL模块功能AI驱动的医学文献筛选和数据提取系统类似Cochrane系统评价流程


当前状态2025-11-16

已完成的基础工作

工作项 状态 完成时间
数据库Schema隔离10个Schema 完成 Week 1 (11月初)
Frontend-v2架构顶部导航+模块注册) 完成 Week 2 Day 6-7
Backend增量演进legacy/common/modules 完成 Week 2 Day 8-9
ASL开发计划文档3个 完成 2025-11-16
ASL模块代码 🚧 未开始 待Week 3

架构现状

Frontend-v2           Backend混合              Database隔离
    ↓                          ↓                           ↓
顶部导航 + 6模块           legacy/ + common/          10个独立Schema
  ASL占位                   + modules/asl/              asl_schema空

✅ 架构已就绪              ✅ LLM可复用                🚧 表结构待定义
✅ 路由框架完成            ✅ 工具可复用                🚧 Prisma模型待添加

🎯 下一步任务

MVP阶段4周标题摘要初筛

交付目标

  • Excel文献导入 → AI双模型筛选DeepSeek+Qwen3 → 人工复核 → 导出结果
  • 准确率 ≥ 85%
  • 成本 ≤ ¥50/1000篇

开发顺序

Week 1: Prisma Schema设计4张表 + 后端API框架 + 路由注册
Week 2: LLM筛选核心双模型并行 + JSON Schema + 冲突检测)
Week 3: 前端模块开发3个页面 + 审核工作台)
Week 4: 集成测试与验收(准确率测试 + 性能测试)

📚 必读文档5个按顺序

1 理解架构(必读)

docs/00-系统总体设计/前后端模块化架构设计-V2.md

  • 📍 位置第51-519行
  • 🎯 重点:「📸 当前架构真实状态2025-11-14」章节
  • ⏱️ 阅读时间10分钟
  • 📌 关键信息:
    • Frontend-v2 目录结构(framework/ + modules/
    • Backend 目录结构(legacy/ + common/ + modules/
    • 10个Schema列表
    • API路由规范/api/v1/asl/*

2 理解数据库(必读)

docs/09-架构实施/01-Schema隔离架构设计10个.md

  • 🎯 重点asl_schema 当前为空Schema需在Week 3 Day 1定义表结构
  • ⏱️ 阅读时间5分钟
  • 📌 关键信息:
    • 10个Schema名称和用途
    • asl_schema 占位说明
    • Prisma multiSchema配置

3 执行任务清单(核心)

docs/03-业务模块/ASL-AI智能文献/04-开发计划/03-任务分解.md

  • 🎯 重点80+个详细任务每个有ID、耗时、验收标准
  • ⏱️ 阅读时间15分钟
  • 📌 关键信息:
    • 第一个任务T1.1.1 - 设计Prisma Schema
    • Week 1-4 每天的任务清单
    • 每个任务的验收标准

4 技术实现细节(参考)

docs/03-业务模块/ASL-AI智能文献/04-开发计划/02-标题摘要初筛开发计划.md

  • 🎯 重点Week 1 Day 1 包含完整的Prisma Schema代码可直接复制
  • ⏱️ 阅读时间20分钟
  • 📌 关键信息:
    • 完整的Prisma Schema定义4个模型
    • LLM筛选服务代码示例
    • 提示词模板示例

5 质量保障策略(重要)

docs/03-业务模块/ASL-AI智能文献/02-技术设计/06-质量保障与可追溯策略.md

  • 🎯 重点双模型验证、JSON Schema、置信度评分、自动分流规则
  • ⏱️ 阅读时间10分钟

🚀 立即行动(第一步)

Step 1: 设计数据库Schema

# 1. 打开文件
code backend/prisma/schema.prisma

# 2. 添加4个模型参考 02-标题摘要初筛开发计划.md Week 1 Day 1
# - AslScreeningProject
# - AslLiterature
# - AslScreeningResult
# - AslScreeningTask
# 注意:每个模型必须添加 @@schema("asl_schema")

# 3. 在User模型中添加关联
# aslProjects AslScreeningProject[] @relation("AslProjects")

# 4. 运行迁移
cd backend
npx prisma migrate dev --name add_asl_screening_tables
npx prisma generate

Step 2: 创建后端目录

cd backend/src/modules
mkdir -p asl/{routes,controllers,services,schemas,types,utils}

Step 3: 注册路由

backend/src/index.ts 中添加:

import { aslRoutes } from './modules/asl/routes/index.js'
await app.register(aslRoutes, { prefix: '/api/v1/asl' })

📋 关键架构路径

Frontend-v2真实

frontend-v2/src/
├── framework/
│   ├── layout/
│   │   ├── MainLayout.tsx          # ✅ 顶部导航布局
│   │   └── TopNavigation.tsx       # ✅ 6个模块导航
│   └── modules/
│       └── moduleRegistry.ts       # ✅ 模块注册中心
│
└── modules/asl/
    ├── index.tsx                   # 🚧 需移除 placeholder: true
    └── routes.tsx                  # 🚧 待创建

Backend真实

backend/src/
├── common/                         # ✅ 可复用
│   ├── llm/adapters/
│   │   ├── LLMFactory.ts           # ✅ 调用DeepSeek+Qwen3
│   │   ├── DeepSeekAdapter.ts
│   │   └── QwenAdapter.ts
│   └── utils/
│       └── jsonParser.js           # ✅ JSON解析工具
│
├── legacy/                         # ✅ 现有业务(不动)
│   ├── routes/                     # 7个路由文件
│   └── services/
│
└── modules/                        # 🚧 新模块开发区
    └── asl/                        # 🚧 空目录(待创建)
        ├── routes/index.ts         # 注册到 /api/v1/asl
        ├── controllers/
        ├── services/
        │   └── llmScreeningService.ts  # 复用common/llm
        └── schemas/

Database真实

// backend/prisma/schema.prisma
datasource db {
  provider = "postgresql"
  schemas  = [
    "platform_schema",  # ✅ users表
    "aia_schema",       # ✅ 5张表AI问答
    "pkb_schema",       # ✅ 5张表知识库
    "asl_schema",       # 🚧 空SchemaWeek 3定义4张表
    // ...其他6个预留Schema
  ]
}

🎯 MVP验收标准

功能

  • Excel上传 → 解析 → 导入
  • AI双模型筛选DeepSeek + Qwen3
  • 冲突检测和标记
  • 人工复核界面
  • 结果导出

质量指标

  • 准确率 ≥ 85%
  • 双模型一致率 ≥ 80%
  • JSON Schema验证通过率 ≥ 95%
  • 人工复核队列 ≤ 20%

性能指标

  • 100篇文献筛选 ≤ 10分钟
  • Excel上传响应 ≤ 3秒

🔑 技术要点速查

复用现有能力

// ✅ LLM调用已实现
import { LLMFactory } from '../../../common/llm/adapters/LLMFactory.js'
const llm = LLMFactory.createLLM('deepseek')  // 或 'qwen'

// ✅ JSON解析已实现
import { parseJSON } from '../../../common/utils/jsonParser.js'
const result = parseJSON(llmOutput)

// ✅ 数据库操作Prisma
import { prisma } from '../../../config/database.js'
await prisma.aslScreeningProject.create({ data: {...} })

前端模块注册

// frontend-v2/src/modules/asl/index.tsx
const ASLModule: ModuleDefinition = {
  id: 'literature-platform',
  name: 'AI智能文献',
  path: '/literature',
  placeholder: false,  // ← 改为 false
  requiredVersion: 'advanced',
  component: lazy(() => import('./routes')),
}

后端路由注册

// backend/src/index.ts
import { aslRoutes } from './modules/asl/routes/index.js'
await app.register(aslRoutes, { prefix: '/api/v1/asl' })

⚠️ 常见陷阱

陷阱 正确做法
创建新架构 在 Frontend-v2 和 Backend/modules/ 下开发
表放在 public schema 必须使用 @@schema("asl_schema")
重新实现LLM调用 复用 common/llm/adapters/LLMFactory.ts
不更新moduleRegistry 必须在 moduleRegistry.ts 注册
忽略编码规范 参考 docs/04-开发规范/06-Git提交规范.md

📞 关键文件路径速查

开发计划文档

docs/03-业务模块/ASL-AI智能文献/04-开发计划/
├── 01-开发里程碑.md              ⭐ MVP/V1.0/V2.0三阶段路线图
├── 02-标题摘要初筛开发计划.md     ⭐⭐ 包含完整代码示例
└── 03-任务分解.md                 ⭐⭐⭐ 80+个详细任务清单(立即执行)

架构设计文档

docs/00-系统总体设计/
└── 前后端模块化架构设计-V2.md      ⭐ 第51-519行当前架构真实状态

docs/09-架构实施/
└── 01-Schema隔离架构设计10个.md ⭐ 10个Schema全景

技术设计文档

docs/03-业务模块/ASL-AI智能文献/02-技术设计/
├── 06-质量保障与可追溯策略.md      双模型、JSON Schema、分流规则
└── 07-文献处理技术选型.md          Excel、PDF、Unpaywall API

需求与原型

docs/03-业务模块/ASL-AI智能文献/
├── 01-需求分析/
│   ├── AI智能文献PRD1-产品概览.md
│   ├── AI智能文献PRD2-初筛与复筛.md
│   └── AI智能文献PRD3-提取与分析模块.md
└── 03-UI设计/
    ├── AI智能文献-标题摘要初筛原型.html   # 原型图
    └── AI智能文献-全文复筛.html

🔥 立即开始3步走

第1步阅读核心文档20分钟

  1. 打开 前后端模块化架构设计-V2.md阅读第51-519行
  2. 打开 03-任务分解.md了解80+个任务清单
  3. 打开 02-标题摘要初筛开发计划.md查看Week 1 Day 1的Prisma Schema代码

第2步执行第一个任务30分钟

任务IDT1.1.1 - 设计Prisma Schema

  1. 打开 backend/prisma/schema.prisma
  2. 复制 02-标题摘要初筛开发计划.md 中Week 1 Day 1的完整Prisma代码
  3. 添加4个模型AslScreeningProject、AslLiterature、AslScreeningResult、AslScreeningTask
  4. 运行迁移:cd backend && npx prisma migrate dev --name add_asl_screening_tables
  5. 生成Clientnpx prisma generate

第3步创建后端目录10分钟

cd backend/src/modules
mkdir -p asl/{routes,controllers,services,schemas,types,utils}

💡 快速问答

Q1前端是左侧导航还是顶部导航
A 顶部导航Frontend-v2使用TopNavigation.tsx显示6个模块

Q2后端代码放在哪里
A backend/src/modules/asl/(新模块标准位置)

Q3数据库表放在哪个Schema
A 必须使用 @@schema("asl_schema")不能放在public

Q4如何调用LLM
A 复用 common/llm/adapters/LLMFactory.ts已支持DeepSeek和Qwen3

Q5如何注册前端模块
A 更新 frontend-v2/src/modules/asl/index.tsx,移除 placeholder: true

Q6API路由前缀是什么
A /api/v1/asl/*(在 backend/src/index.ts 中注册)

Q7第一个任务是什么
A T1.1.1 - 在 backend/prisma/schema.prisma 中定义4个模型


📊 技术栈速查

层级 技术 版本
前端 React + TypeScript + Ant Design 19 + 5.x
后端 Node.js + Fastify + Prisma 20 + 4.x + 6.17.0
数据库 PostgreSQL 15.x
LLM DeepSeek-V3 + Qwen3-72B via CloseAI

🎬 工作流

1. 阅读 → 2. 设计Prisma Schema → 3. 创建后端目录 → 4. 实现API → 5. 前端开发 → 6. 测试
   (20min)      (2hr)                (30min)          (2天)      (1周)        (1周)

参考03-任务分解.md 中的详细清单

📌 最后提醒

  1. 不要从零开始Frontend-v2和Backend架构已完成直接在此基础上开发
  2. 复用common层LLM、JSON解析、文档提取都可复用
  3. 遵循Schema隔离所有ASL表必须在 asl_schema
  4. 参考任务清单03-任务分解.md 有80+个任务,逐个执行
  5. 代码在文档中02-标题摘要初筛开发计划.md 包含完整代码示例,可直接复制

📞 求助指南

遇到问题时,优先查看:

  1. 架构问题 → 前后端模块化架构设计-V2.md
  2. 数据库问题 → Schema隔离架构设计10个.md
  3. 任务不清楚 → 03-任务分解.md
  4. 代码不会写 → 02-标题摘要初筛开发计划.md(有示例)
  5. 质量不达标 → 06-质量保障与可追溯策略.md

文档路径AIclinicalresearch/docs/03-业务模块/ASL-AI智能文献/[AI对接] ASL模块快速上下文.md
下次更新ASL模块MVP开发完成后
维护者AI助手 + 开发团队


🎉 祝开发顺利!从 T1.1.1 开始吧!