Lab数据分析系统
项目概述
这是一个基于FastAPI开发的实验室数据分析平台,提供实验数据采集、分析、项目管理和文献管理等功能。 系统使用MongoDB作为主数据库,Redis作为缓存和消息队列,并集成了DeepSeek API进行智能分析。
主要功能
1. 用户管理
- 用户注册和登录
- JWT token认证
- 用户权限管理
2. 项目管理
- 创建和管理研究项目
- 项目数据分析和报告生成
- 项目级别的问答系统
- 项目备忘录功能
3. 实验管理
- 实验创建和配置
- 实验设备关联
- 实验数据实时采集
- 实验数据分析和可视化
- 实验报告自动生成
- 实验问答功能
- 传感器数据采集
- 实时数据传输(WebSocket)
4. 设备管理
- 设备注册和激活
5. 文献管理
- 文献上传和管理
- 文献智能分析
- 文献总结报告
- 文献问答系统
6. web界面
技术架构
后端框架
- FastAPI: 主要Web框架
- Pydantic: 数据验证和序列化
- Motor: 异步MongoDB驱动
- aioredis: 异步Redis客户端
- PyJWT: JWT认证
- WebSocket: 实时数据传输
数据库
- MongoDB: 主数据库
- Redis: 缓存和消息队列
AI集成
- DeepSeek API: 智能分析和问答系统
项目结构
frontend/ # web界面
docs/ # 说明文档
app/
├── init.py
├── cores/ # 核心配置和工具
│ ├── config.py # 配置文件
│ └── db.py # 数据库工具
├── models/ # 数据模型
│ ├── basemodel.py # 基础模型
│ ├── project.py # 项目报告
│ ├── experiment.py # 实验报告
│ ├── paper.py # 文献报告
│ └── paper_summary.py # 文献总结报告
└── routers/ # API路由
├── device.py # 设备管理
├── project.py # 项目管理
├── project_report.py # 项目报告
├── experiment.py # 实验管理
├── experiment_report.py # 实验报告
├── experiment_device.py # 实验设备
├── login.py # 用户认证
├── paper.py # 文献报告
├── paper_summary.py # 文献总结报告
├── memo.py # 备忘录
└── websocket.py # WebSocket处理
Redis数据库映射
- db199: 实验状态
- db200: 原始数据
- db201: 实验分析报告
- db202: 项目分析报告
- db203: 文献分析报告
- db204: 文献汇总报告
- db205: 项目备忘录
- db206: 实验备忘录
- db207: 问答历史记录
- db208: 问答任务状态
安装和部署
- 环境要求
Python 3.8+ MongoDB 4.0+ Redis 6.0+ - 启动服务
uvicorn app.main:app --host 0.0.0.0 --port 8000
API文档
启动服务后访问:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc