CardioAI - 心血管疾病智能辅助系统
CardioAI 是一个多模块智能辅助系统,集成了数据可视化、机器学习预测和 AI 语音问答功能,旨在为心血管疾病的预防和管理提供科学支持。
项目结构
D:\AI_Coding
├── data/ # 数据文件目录
│ └── 心血管疾病.xlsx # 心血管疾病数据集
├── module1_dashboard/ # 数据可视化模块
│ └── cardio_dashboard.py # Streamlit 应用
├── module2_predictor/ # 机器学习预测模块
│ ├── templates/ # 前端模板
│ │ └── index.html # 预测界面
│ ├── app.py # Flask API 后端
│ ├── train_and_save.py # 模型训练脚本
│ └── cardio_predictor_model.pkl # 训练好的模型
├── module3_voice_assistant/ # AI 语音问答模块
│ ├── templates/ # 前端模板
│ │ └── voice_index.html # 语音助手界面
│ └── voice_assistant_app.py # Flask 后端
├── aicodes/ # 参考代码和配置
│ ├── .env # 环境变量配置
│ ├── llm_streaming.py # LLM 流式调用示例
│ └── 语音合成CosyVoice.md # 语音合成参考文档
├── requirements.txt # 项目依赖
└── README.md # 项目说明文档
环境配置
1. 创建并激活 Conda 虚拟环境
# 创建虚拟环境
conda create -n cardioenv python=3.10
# 激活虚拟环境
conda activate cardioenv
2. 安装依赖
pip install -r requirements.txt
3. 配置环境变量
在 aicodes/.env 文件中配置以下环境变量:
# DeepSeek API 配置
DEEPSEEK_API_KEY1=your_deepseek_api_key
base_url1=https://api.deepseek.com/v1
# DashScope API 配置 (用于 CosyVoice)
DASHSCOPE_API_KEY=your_dashscope_api_key
模块启动方法
1. 数据可视化模块 (Streamlit)
# 在项目根目录执行
streamlit run module1_dashboard/cardio_dashboard.py
访问地址:http://localhost:8501
2. 机器学习预测模块 (Flask)
第一步:训练模型
# 在项目根目录执行
python module2_predictor/train_and_save.py
第二步:启动 API 服务
# 在项目根目录执行
python module2_predictor/app.py
访问地址:http://localhost:5000
3. AI 语音问答模块 (Flask)
# 在项目根目录执行
python module3_voice_assistant/voice_assistant_app.py
访问地址:http://localhost:5001
功能说明
数据可视化模块
- 数据清洗和特征工程
- 交互式数据筛选(年龄、性别、疾病状态)
- 年龄分布和 BMI 类别对心血管疾病影响的可视化
- 实时数据统计和风险率计算
机器学习预测模块
- 基于 XGBoost 的心血管疾病预测
- 完整的特征预处理 pipeline
- 实时预测 API 接口
- 用户友好的预测表单界面
AI 语音问答模块
- 集成 DeepSeek 大模型作为专业心血管健康顾问
- 使用 CosyVoice 实现文字到语音的转换
- 语音自动播放功能
- 专业的心血管健康知识问答
技术栈
- 数据处理:Pandas, NumPy, Scikit-learn
- 机器学习:XGBoost, Joblib
- 数据可视化:Streamlit, Plotly Express
- Web 框架:Flask
- 大模型:DeepSeek (LangChain)
- 语音合成:CosyVoice (DashScope)
- 环境管理:Conda, Python-dotenv
注意事项
- 确保已配置正确的 API Key 才能使用 AI 语音问答功能
- 数据文件
心血管疾病.xlsx必须存在于data/目录中 - 首次运行机器学习预测模块时需要先训练模型
- 所有模块需要在激活的
cardioenv虚拟环境中运行
项目维护
- 数据更新:可直接替换
data/心血管疾病.xlsx文件 - 模型更新:重新运行
train_and_save.py脚本 - 依赖更新:修改
requirements.txt文件后重新安装
许可证
本项目仅供学习和研究使用。
Description
Languages
HTML
60.7%
Python
39.3%