从零开始搭建我的 ML 环境:MedMind
发布: (2026年5月2日 GMT+8 15:50)
3 分钟阅读
原文: Dev.to
Source: Dev.to
概览 – 第 1 天:搭建环境
我决定从零开始构建一个临床 AI 系统——不使用 OpenAI API,也不使用教程式的包装器。目标是训练自己的模型,创建一个检索增强生成(RAG)流水线,并将整个系统部署上线。
该项目 MedMind 接收临床问题,检索医学知识库,并使用在真实医学考试题目上微调的模型生成答案。
全栈
- 下载并清洗真实医学数据集
- 在该数据上微调语言模型
- 使用向量数据库构建 RAG 流水线
- 诚实地评估模型
- 使用 FastAPI 提供服务
- 使用 Streamlit 构建 UI
Python 版本
推荐使用 Python 3.11,因为 PyTorch 和 Hugging Face 对该版本提供了最佳支持。
虚拟环境
python -m venv venv
# Windows
venv\Scripts\activate
# macOS / Linux
source venv/bin/activate
创建虚拟环境可以将项目的依赖与系统的其他部分隔离。
核心库
pip install torch transformers datasets peft trl accelerate
pip install chromadb sentence-transformers
pip install fastapi uvicorn streamlit
| 库 | 用途 |
|---|---|
transformers | 访问预训练模型,如 OPT、Mistral、LLaMA |
peft | 使用 LoRA 进行高效微调 |
trl | 简化指令微调 |
chromadb | 用于存储医学知识的向量数据库 |
sentence-transformers | 将文本转换为向量以进行相似度检索 |
fastapi | 后端 API 服务器 |
uvicorn | FastAPI 的 ASGI 服务器 |
streamlit | 前端 UI 框架 |
项目结构
medmind/
├── data/ # 数据获取和清洗脚本
├── training/ # 微调代码
├── rag/ # 检索流水线
├── eval/ # 评估脚本
├── api/ # FastAPI 后端
└── frontend/ # Streamlit UI
硬件考虑
我的本地机器没有 GPU,在 CPU 上训练语言模型可能需要数周时间。因此,我使用配有免费 T4 GPU 的 Google Colab,这是一种对没有专用硬件的开发者常用的方案。