# 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 虚拟环境 ```bash # 创建虚拟环境 conda create -n cardioenv python=3.10 # 激活虚拟环境 conda activate cardioenv ``` ### 2. 安装依赖 ```bash pip install -r requirements.txt ``` ### 3. 配置环境变量 在 `aicodes/.env` 文件中配置以下环境变量: ```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) ```bash # 在项目根目录执行 streamlit run module1_dashboard/cardio_dashboard.py ``` 访问地址:`http://localhost:8501` ### 2. 机器学习预测模块 (Flask) #### 第一步:训练模型 ```bash # 在项目根目录执行 python module2_predictor/train_and_save.py ``` #### 第二步:启动 API 服务 ```bash # 在项目根目录执行 python module2_predictor/app.py ``` 访问地址:`http://localhost:5000` ### 3. AI 语音问答模块 (Flask) ```bash # 在项目根目录执行 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` 文件后重新安装 ## 许可证 本项目仅供学习和研究使用。