# 小k **Repository Path**: Foggydays2021/small-k ## Basic Information - **Project Name**: 小k - **Description**: 医疗平台+ai大模型 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-10 - **Last Updated**: 2026-04-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # small-k-health-assistant 一个基于 Flask 和大语言模型(LLM)的智能健康助手 Web 应用。 ## 项目简介 small-k-health-assistant旨在为用户提供一个集成化的智能健康服务平台。它结合了多种AI驱动的功能,包括智能导诊、药物信息查询与对比、心理健康支持和营养咨询,旨在为用户提供便捷、个性化的健康信息服务。 ## 主要功能 * **用户系统**: 支持用户注册、登录和个人信息管理。 * **智能导诊 (Triage)**: 模拟医生问诊,根据用户症状提供就诊科室建议。 * **药物工具箱**: * **药品信息查询**: 提供常见药品的详细说明。 * **药品对比**: 支持两种或多种药物的并排比较。 * **药物相互作用检查**: 分析多种药物同时使用时的潜在风险。 * **营养咨询**: 提供个性化的饮食建议和营养计划。 * **心理健康**: 提供一个私密的、AI驱动的对话空间,用于情绪支持。 * **历史记录**: 统一存储和展示用户与所有AI功能的交互历史,并支持分类查看。 ## 近期更新 (v1.3.2) **新增功能和修复:** * **功能改进:UI/UX优化** * 将"心理健康"更名为"心灵驿站",提供更友好、无压力的用户体验 * 调整导航栏布局,优化了"我的主页"和"智能导诊"的位置顺序 * 统一了TTS播放和PDF导出按钮的对齐方式,提升视觉体验 * **修复:药物工具箱界面问题** * 修复了药物工具箱中播放和导出按钮对齐不一致的问题 * 统一了各个页面中TTS播放按钮的样式和行为 * **优化:使用体验提升** * 改进了多个页面的UI元素,提高了界面统一性 * 优化按钮布局,使功能更加直观易用 ### 历史版本 (v1.3.1) * **功能:智能导诊页面改进** * 添加了"保存历史"按钮,用户可以手动选择是否保存对话历史 * 优化导诊历史记录保存逻辑,避免自动产生过多记录 * **修复:咨询历史显示问题** * 修复了各类咨询历史记录(除心理健康外)未正确显示用户对话的问题 * 修复了查看历史详情页面的Jinja2模板语法错误 * 修复了咨询历史页面标题显示问题,现在显示用户第一句话 * **修复:历史记录清空功能** * 修复了咨询历史清空功能的HTTP方法问题,现在支持POST和DELETE方法 * **优化:项目代码库整洁度** * 清理了30多个测试文件、调试工具和临时脚本,使代码库更加整洁 * 优化项目结构,去除无用的临时文档和测试代码 ## 技术栈 * **后端**: Flask * **数据库**: SQLAlchemy, Flask-Migrate, SQLite (开发) / PostgreSQL (生产) * **AI服务**: 基于 SiliconFlow 平台提供的 Qwen、CosyVoice 等大语言模型 * **前端**: Bootstrap, jQuery, Day.js * **部署**: Nginx, Gunicorn, Systemd ## 安装与部署 请参考 `manual_steps.md` 获取详细的本地设置和服务器部署指南。 --- *上次更新: 2025-06-20* ## 🚀 快速开始 ### 1. 克隆项目 ```bash git clone https://gitee.com/your-username/small-k.git cd small-k ``` ### 2. 创建并激活虚拟环境 - **Windows**: ```bash python -m venv venv .\venv\Scripts\activate ``` - **macOS / Linux**: ```bash python3 -m venv venv source venv/bin/activate ``` ### 3. 安装依赖 ```bash pip install -r requirements.txt ``` ### 4. 配置环境变量 在项目根目录下创建一个名为 `.env` 的文件,并填入以下内容。请根据您的实际情况修改。 ```ini # Flask 应用配置 # --------------------- # 生产环境中务必替换为一个随机、强壮的密钥。 # 可以通过 `python -c 'import secrets; print(secrets.token_hex())'` 生成。 SECRET_KEY="a_very_strong_and_random_secret_key_here" # 设置为 'production' 或 'development' 来加载不同的配置 FLASK_CONFIG="development" FLASK_APP="app.py" # 数据库配置 (以MySQL为例) # ---------------------- # 推荐生产环境直接使用 DATABASE_URL # DATABASE_URL="mysql+pymysql://user:password@host/dbname?charset=utf8mb4" # 本地开发可使用分项配置: DB_USER="root" DB_PASSWORD="" DB_HOST="localhost" DB_NAME="health_assistant_dev" # SiliconFlow AI 服务配置 # ------------------------------------ # 你的 SiliconFlow API Key SILICONFLOW_API_KEY="your_siliconflow_api_key_here" # (可选) API 的 Base URL,默认为 https://api.siliconflow.cn/v1 # SILICONFLOW_BASE_URL="https://api.siliconflow.cn/v1" # 默认大模型配置 MODEL_NAME="meta-llama/Meta-Llama-3.1-405B-Instruct" # 专用模型配置 # 医疗咨询专用模型 MEDICAL_MODEL_NAME="Qwen/Qwen2.5-72B-Instruct" # 药物咨询专用模型 DRUG_MODEL_NAME="Qwen/Qwen2.5-72B-Instruct" # 心理健康专用模型 MENTAL_MODEL_NAME="meta-llama/Meta-Llama-3.1-70B-Instruct" # 营养咨询专用模型 NUTRITION_MODEL_NAME="meta-llama/Meta-Llama-3.1-70B-Instruct" # (可选) wkhtmltopdf 路径, 用于PDF导出 # --------------------------------- # 如果 wkhtmltopdf 没有在系统的 PATH 中,请指定其可执行文件路径 # Windows 示例: WKHTMLTOPDF_PATH="C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe" # Linux 示例: WKHTMLTOPDF_PATH="/usr/bin/wkhtmltopdf" WKHTMLTOPDF_PATH="" ``` ### 5. 初始化数据库 ```bash flask db upgrade ``` 这将根据 `migrations` 文件夹中的迁移脚本创建或更新数据库表。 ### 6. 运行应用 ```bash flask run ``` 现在,您可以通过浏览器访问 `http://127.0.0.1:5000` 来查看应用了。 ### 7. 创建管理员账户 ```bash python create_admin.py