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

注意事项

  1. 确保已配置正确的 API Key 才能使用 AI 语音问答功能
  2. 数据文件 心血管疾病.xlsx 必须存在于 data/ 目录中
  3. 首次运行机器学习预测模块时需要先训练模型
  4. 所有模块需要在激活的 cardioenv 虚拟环境中运行

项目维护

  • 数据更新:可直接替换 data/心血管疾病.xlsx 文件
  • 模型更新:重新运行 train_and_save.py 脚本
  • 依赖更新:修改 requirements.txt 文件后重新安装

许可证

本项目仅供学习和研究使用。

Description
No description provided
Readme 46 KiB
Languages
HTML 60.7%
Python 39.3%