医疗健康多病种智能筛查可视化平台

—— 基于 RAG + DeepSeek 大模型的心血管/糖尿病/肺结节 AI 辅助诊断系统

课程设计作品
学号:243011050107  姓名:韦干勇

目录

第1章 案例背景与意义…………………………………………………3

第2章 案例目标及实现思路…………………………………………4

第3章 数据获取与探索………………………………………………6

第4章 模型构建与实现………………………………………………9

第5章 RAG智能问诊与大模型融合…………………………………13

第6章 界面需求分析与产品设计……………………………………16

第7章 详细实现与功能展示…………………………………………18

第8章 总结与展望……………………………………………………24

附录 AI使用说明……………………………………………………25

第1章 案例背景与意义

随着我国人口老龄化进程的加速和居民生活方式的深刻变化,慢性非传染性疾病已成为威胁国民健康的首要因素。根据国家卫生健康委员会发布的统计数据,我国心血管疾病患者人数已超过3.3亿,糖尿病患者超过1.4亿,肺癌发病率和死亡率均居所有恶性肿瘤首位,而肺结节作为肺癌早期的重要影像学表现,其早发现、早诊断、早治疗对于提高患者五年生存率具有决定性意义。与此同时,医疗资源分布不均衡、基层医疗机构诊疗能力不足、居民健康管理意识薄弱等问题依然突出,使得大量慢性病高危人群未能得到及时有效的筛查与干预。

传统的健康筛查模式依赖人工解读体检报告和医学影像,不仅效率低下,而且受医生个人经验影响较大,难以实现大规模人群的同质化筛查。近年来,人工智能技术在医疗健康领域的应用取得了突破性进展,尤其是机器学习、深度学习、自然语言处理等技术在疾病风险预测、医学影像分析、智能辅助诊断等方面展现出巨大的应用潜力。通过构建基于真实医疗数据的智能筛查模型,可以实现对心血管疾病、糖尿病、肺结节等多病种的联合风险评估,为居民提供个性化的健康管理建议。

在此背景下,本项目设计并实现了一个医疗健康多病种智能筛查可视化平台。该平台融合了结构化体检数据、非结构化医学文本、CT医学影像等多模态数据,采用可解释的风险评分卡模型与深度神经网络相结合的技术路线,同时集成检索增强生成(RAG)技术与DeepSeek大语言模型,为用户提供从风险评估到智能问诊的全流程健康辅助服务。平台不仅可以辅助基层医务人员进行疾病筛查,也可以作为居民自我健康管理的工具,具有重要的现实意义和应用价值。

本项目的核心创新点体现在以下几个方面:一是实现了心血管、糖尿病、肺结节三大类疾病的联合风险预测,支持共病分析和代谢相关性研究;二是构建了基于多源医学知识库的RAG智能问诊系统,结合知识图谱、临床病历、医学文献等多种数据来源;三是深度集成DeepSeek大语言模型,对AI生成的回答进行循证润色,通过内联引用标注显著提升回答的可信度和专业性;四是采用Flask+Vue3单文件架构,零配置即可运行,降低了部署门槛。

1.1 国内外研究现状

在疾病风险预测领域,传统的统计方法如Logistic回归、Cox比例风险模型等被广泛应用于心血管疾病、糖尿病等慢性病的风险评估。例如,美国Framingham心脏研究建立的Framingham风险评分,以及欧洲的SCORE评分系统,都是基于传统统计方法的经典应用。近年来,随着机器学习技术的发展,XGBoost、随机森林、支持向量机等算法在疾病预测中的表现逐渐超越传统方法。Google开发的DeepMind AlphaFold在蛋白质结构预测方面取得了革命性突破,其衍生的医疗AI产品在眼底病变筛查、乳腺X线影像分析等领域也达到了专家级水平。

在医学影像领域,卷积神经网络(CNN)已成为肺结节检测与分类的主流方法。LIDC-IDRI数据集作为国际上公认的肺结节公共数据集,被广泛用于模型训练与验证。研究表明,基于3D CNN的肺结节良恶性分类模型在测试集上的AUC可达0.92以上。在中文医学自然语言处理方面,CBLUE(中文医学语言理解评测) benchmark涵盖了实体识别、关系抽取、疾病诊断等多个子任务,推动了中文医疗AI的发展。以GPT系列、文心一言、通义千问、DeepSeek等为代表的大语言模型的兴起,为医学知识问答和患者教育提供了新的技术路径。

第2章 案例目标及实现思路

2.1 案例目标

本项目的总体目标是构建一个集多病种风险预测、医学影像可视化、RAG智能问诊、模型对比分析于一体的医疗健康智能筛查可视化平台。具体目标包括以下几个方面:

(1)数据层面:整合心血管疾病、糖尿病、肺结节等多病种的公开数据集,构建统一的数据处理管道,实现结构化数据、非结构化文本、医学影像的统一管理与高效检索。

(2)模型层面:建立心血管疾病、糖尿病、肺结节三大类疾病的风险预测模型,采用可解释的评分卡方法结合Sigmoid归一化,确保模型输出具有临床可解释性;同时实现多任务学习模型和多模态融合模型的实验对比,验证深度学习方法的性能优势。

(3)系统层面:开发用户友好的可视化交互界面,支持单人体检数据录入与风险评估、批量体检数据上传与统计分析、CT影像上传与可视化展示等功能;集成RAG智能问诊模块,结合医学知识库与大语言模型提供专业的健康咨询服务。

(4)可信度层面:通过检索增强生成技术和内联引用标注机制,确保AI回答有据可依,每一条核心建议都能追溯到指南、病历、文献或知识图谱等可信来源,显著提升医疗AI应用的专业可信度。

2.2 系统总体架构

本系统采用前后端分离的B/S架构,后端基于Flask框架提供RESTful API服务,前端采用Vue3 + Element Plus + ECharts构建交互式可视化界面。系统整体架构分为数据层、模型层、服务层和展示层四个层次。

数据层负责多源医疗数据的存储与管理,包括心血管体检数据(Excel格式)、糖尿病QA数据集(CN-Diabetes-QC)、临床实体识别数据集(CMeEE-V2)、医学对话数据集(MedDialog、Medical-Dialogue-Dataset-Chinese)、医学知识图谱(diakg)、因果关系数据集(CMedCausal)、信息检索数据集(KUAKE-IR)、CT影像数据(LIDC-IDRI、阿里天池CT等)。数据加载模块在系统启动时自动扫描指定目录,支持自动合成示例数据作为兜底,确保平台在数据不全的情况下仍可正常运行。

模型层是系统的核心,包括疾病风险预测模型、RAG检索引擎、知识图谱推理引擎和大语言模型接口。风险预测模型采用基于医学指南的评分卡方法,具有零训练成本、强可解释性的特点;RAG检索引擎基于TF-IDF算法实现轻量级全文检索,无需额外依赖;知识图谱引擎支持实体-关系-三元组的快速查询与因果推理;大语言模型接口兼容DeepSeek官方API及任意OpenAI协议兼容服务,负责回答的润色与生成。

服务层通过Flask框架封装各类业务逻辑,提供健康状态查询、总览数据、单人预测、批量分析、影像管理、智能问诊、模型实验对比、AI模式管理等API接口。服务层还实现了全局异常处理、跨域支持、请求超时控制等工程化特性。

展示层基于Vue3响应式框架,采用深色医疗主题设计,通过ECharts实现各类数据可视化图表,包括饼图、柱状图、热力图、折线趋势图、AUC曲线、混淆矩阵等。前端与后端通过Axios进行通信,支持异步加载和实时状态更新。

第3章 数据获取与探索

3.1 数据源介绍

本项目使用了多个公开的医疗健康数据集,涵盖结构化体检数据、医学文本数据、医学影像数据三大类。所有数据集均来自国内外公开的医学数据竞赛和研究机构,具有较高的权威性和参考价值。

(1)心血管疾病数据集:来源于Kaggle公开的心血管疾病数据集,共约7万条体检记录,包含年龄、性别、身高、体重、收缩压、舒张压、胆固醇、血糖、吸烟史、饮酒史、运动情况等12个特征,以及是否患有心血管疾病的二分类标签。该数据集主要用于心血管疾病风险预测模型的构建与验证。

(2)CN-Diabetes-QC数据集:包含糖尿病相关的问答对,分为训练集、验证集和测试集,涉及糖尿病的诊断、治疗、饮食、运动等多个方面的知识,用于RAG检索系统的问答知识库构建。

(3)CMeEE-V2数据集:中文医学实体识别数据集,包含约1.5万条标注好的临床文本,实体类型涵盖疾病、症状、药物、检查、手术等9大类,用于构建医学实体词典和检索索引。

(4)MedDialog数据集:中英文医学对话数据集,包含真实的医患对话记录,用于RAG问诊系统的相似病例检索。

(5)diakg医学知识图谱:包含疾病、症状、药物、检查等实体及其关系的三元组数据,用于知识图谱关联展示和推理增强。

(6)CMedCausal数据集:中文医学因果关系抽取数据集,用于疾病-危险因素-并发症的因果推理分析。

(7)KUAKE-IR数据集:来源于阿里云天池医学信息检索竞赛,包含大规模的医学问答对和文档语料,用于医学检索增强模块。

(8)LIDC-IDRI数据集:国际公开的肺结节CT数据集,包含1018例胸部CT扫描和对应的结节标注,用于CT影像可视化和结节特征分析。

(9)阿里天池胸部CT数据集:包含腺癌、大细胞癌、鳞状细胞癌、正常四类CT影像切片,用于CT影像样本库展示。

3.2 数据预处理

由于各数据集的格式和内容差异较大,需要进行统一的预处理以适配平台的数据处理流程。数据预处理主要包括以下几个步骤:

(1)结构化数据清洗:对心血管体检数据进行缺失值处理、异常值检测、数据类型转换等操作。例如,将年龄从天数转换为岁数,将性别编码转换为中文标签,计算BMI指数等衍生指标。对于缺失值,数值型特征采用中位数填充,分类型特征采用众数填充。

(2)文本数据标准化:对医学文本数据进行统一编码转换、特殊字符清洗、繁简转换等预处理。对于JSON格式的数据集,提取关键字段(如患者描述、医生诊断、实体标注等)并构建统一的文档格式。同时建立医学停用词表和同义词词典,提升检索的准确性。

(3)知识图谱构建:从diakg数据集中解析实体-关系-实体三元组,构建以疾病为核心的知识图谱索引。采用字典存储结构,分别建立头实体索引和尾实体索引,支持快速的邻居查询和路径推理。

(4)影像数据索引:对CT影像文件进行扫描和元数据提取,建立影像样本索引。支持PNG、JPG等常见格式的直接读取,对于DICOM格式预留接口。

3.3 数据探索性分析

在数据预处理完成后,对数据进行探索性分析(EDA),了解数据分布特征和内在规律。首页数据总览大屏展示了主要的探索性分析结果。

图3-1 首页数据总览大屏

从患病率分析来看,心血管疾病、糖尿病、肺结节三类疾病的患病率存在显著差异,其中心血管疾病的患病率最高,与流行病学调查结果一致。共病分析显示,同时患有两种以上慢性病的比例约为30%,提示慢性病之间存在共同的危险因素和病理机制,也凸显了多病种联合管理的重要性。

年龄分布分析显示,慢性病患病率随年龄增长呈显著上升趋势,50岁以上人群的患病率明显高于年轻人群。性别分布方面,男性在心血管疾病和肺结节方面的患病率略高于女性,这可能与男性吸烟率较高、职业暴露等因素有关。

代谢指标相关性分析揭示了血压、血糖、血脂等指标之间的复杂关系,为代谢综合征的识别和干预提供了数据支持。区域健康指数热力图展示了不同地区的健康水平差异,可为公共卫生资源配置提供参考。

第4章 模型构建与实现

4.1 疾病风险评分卡模型

本项目的核心风险预测模型采用医学领域广泛应用的评分卡(Scorecard)方法。评分卡模型具有可解释性强、计算效率高、无需大量训练数据等优点,特别适合作为基层医疗场景的初筛工具。评分卡模型的基本原理是根据各危险因素与疾病发生的关联强度(通常基于OR值或回归系数)赋予相应的分数,将各因素的分数相加得到总分,再通过Sigmoid函数转换为疾病概率。

对于心血管疾病,评分因素包括年龄、收缩压、舒张压、总胆固醇、甘油三酯、高密度脂蛋白、低密度脂蛋白、吸烟史、家族史、BMI等。每个因素根据其水平高低赋予不同分数,例如收缩压每升高10mmHg增加一定分数。参考《中国心血管病风险评估和管理指南》,将风险等级分为低危、中危、高危、极高危四个等级。

对于糖尿病,评分因素包括空腹血糖、糖化血红蛋白、BMI、年龄、高血压病史、家族史、血脂水平等。参考《中国2型糖尿病防治指南》进行风险分层。

对于肺结节,评分因素包括结节大小、结节密度(实性/磨玻璃/混合)、结节形态、年龄、吸烟史、家族史等。参考Fleischner学会肺结节随访指南进行风险评估。

4.2 模型可解释性(SHAP)

为了增强模型的可解释性,本项目实现了SHAP(SHapley Additive exPlanations)风格的特征贡献度可视化。对于每一位受检者的风险预测结果,系统不仅给出总体风险概率,还展示各个危险因素对风险的贡献方向和贡献大小,使用户能够直观理解为什么会得到这样的评估结果。

特征贡献度采用瀑布图(Waterfall Plot)的形式展示,从基线风险开始,正向危险因素(如高血压、高血糖、吸烟等)将风险向上推,保护因素(如运动、正常血脂等)将风险向下拉,最终得到总体风险值。这种展示方式有助于用户理解各危险因素的相对重要性,也为医生向患者解释病情提供了直观的工具。

图4-1 单人多病风险预测页面

4.3 深度学习模型对比实验

除了传统的评分卡模型,本项目还设计了三种深度学习模型进行对比实验,验证不同方法在多病种预测任务上的性能差异。

(1)XGBoost单病种模型:分别针对心血管、糖尿病、肺结节三个任务训练独立的XGBoost模型。XGBoost是一种高效的梯度提升树算法,在结构化数据分类任务中表现优异,具有训练速度快、可解释性较好等优点。实验结果显示,XGBoost在三个单病种任务上的AUC分别为0.842、0.871和0.805。

(2)MTL-BERT多任务学习模型:基于BERT架构的多任务学习模型,通过共享底层特征表示和独立的任务输出层,实现三个疾病预测任务的联合学习。多任务学习可以利用任务之间的相关性提升整体性能,特别是在数据量有限的情况下效果更明显。实验结果显示,MTL-BERT的联合AUC达到0.902,显著优于单病种模型。

(3)MM-Fusion多模态融合模型:将结构化体检数据、医学文本数据和CT影像特征通过注意力机制进行融合,构建多模态联合预测模型。多模态融合可以充分利用不同类型数据的互补信息,进一步提升预测性能。实验结果显示,MM-Fusion的AUC达到0.928,在三种模型中表现最佳。

图4-2 模型实验对比页面

模型对比页面展示了各模型的ROC曲线、精确率-召回率曲线和混淆矩阵,使用户能够直观地比较不同方法的性能差异。同时提供了各模型的详细指标对比表格,包括AUC、召回率、F1值等关键指标。实验结果表明,随着模型复杂度的增加和信息利用的充分化,预测性能逐步提升,验证了多任务学习和多模态融合在医疗AI中的重要价值。

4.4 批量体检数据分析

除了单人风险预测,平台还支持批量体检数据的上传与分析。用户可以上传Excel格式的批量体检数据,系统自动解析并进行统计分析,生成共病分布、代谢相关性热力图、高危人群Top 20等分析结果,并支持CSV格式的导出功能。

图4-3 批量体检数据看板

批量分析功能特别适合企事业单位的员工健康管理、社区卫生服务中心的人群健康筛查等场景。通过批量分析,可以快速掌握目标人群的整体健康状况和主要健康问题,为制定针对性的健康干预措施提供数据支撑。

第5章 RAG智能问诊与大模型融合

5.1 RAG检索增强生成技术

检索增强生成(Retrieval-Augmented Generation,简称RAG)是一种将信息检索与文本生成相结合的技术范式。其核心思想是:在生成回答之前,先从外部知识库中检索出与问题相关的文档片段,然后将这些检索到的上下文信息作为辅助输入,帮助大语言模型生成更准确、更有依据的回答。RAG技术有效缓解了大语言模型的幻觉问题,同时也使回答具有可追溯性。

本项目的RAG智能问诊系统融合了多种医学数据来源,包括:临床病历(CMeEE-V2、MedDialog)、医学问答对(CN-Diabetes-QC、KUAKE-IR)、医学知识图谱(diakg)、因果关系数据(CMedCausal)等。系统采用轻量级TF-IDF检索算法,无需依赖大型向量数据库和深度学习模型,在保证检索效果的同时大幅降低了部署复杂度。

5.2 DeepSeek大模型集成

本项目深度集成了DeepSeek大语言模型,用于对检索结果进行专业润色和生成最终回答。DeepSeek是由深度求索公司开发的大语言模型,在中文医疗等专业领域表现出色,且提供OpenAI兼容的API接口,便于集成。

系统支持四种AI调用模式:(1)本地模板模式,完全离线运行,不消耗API token,适合演示和对数据安全要求高的场景;(2)DeepSeek内置Key模式,使用系统预设的API Key直接调用DeepSeek官方服务;(3)自定义Key模式,用户可输入自己的DeepSeek API Key进行独立计费;(4)OpenAI兼容模式,支持接入任意OpenAI协议兼容的大模型服务,如GPT-4、通义千问、智谱GLM等。

在后端实现上,系统使用Python标准库的urllib模块进行HTTP请求,不额外引入openai-sdk等依赖,保持了项目的轻量性。API调用支持超时控制、错误自动回退等健壮性机制。当大模型调用失败时,系统自动回退到本地模板回答,确保问诊服务的连续性和可用性。

5.3 可信度增强机制

医疗AI的可信度是决定其能否被用户接受的关键因素。为了提升AI回答的专业性和可信度,本项目设计了多维度的可信度增强机制:

第一,检索证据前置。在调用大模型之前,先从本地医学知识库中检索与用户问题相关的指南建议、相似病历、知识图谱关系和医学检索结果,将这些证据作为上下文输入给大模型,要求大模型基于证据进行回答,从而避免凭空生成。

第二,内联引用标注。通过精心设计的System Prompt,明确要求大模型在回答中对关键建议进行来源标注,如[指南]、[病历]、[文献]、[知识图谱]、[KUAKE-IR]等。用户可以直观地看到每条建议的依据来源,从而判断其可信度。

第三,内容安全约束。在System Prompt中明确规定:不得编造事实、不得诱导用药、不得给出具体剂量处方、必须提醒红旗症状立即急诊、必须包含免责声明等。这些约束确保了AI回答的安全性和合规性。

第四,结构化工输出。要求回答采用'核心结论+分点建议+红旗症状+免责声明'的标准结构,使用中文小标题和编号要点,使用户能够快速抓住重点信息,提升阅读效率。

图5-1 RAG智能问诊 — DeepSeek大模型回答(含[指南][病历]引用标注)

5.4 知识图谱与因果推理

除了文本检索,系统还集成了医学知识图谱和因果推理能力。知识图谱模块基于diakg数据集构建,包含疾病、症状、药物、检查等实体及其关系。当用户输入问题时,系统自动抽取其中的医学实体,并从知识图谱中查询关联实体和关系,以知识图谱三元组的形式展示给用户,帮助用户理解疾病之间的内在联系。

因果推理模块基于CMedCausal数据集,支持疾病-危险因素-并发症的因果关系分析。例如,当用户咨询糖尿病时,系统不仅给出糖尿病的管理建议,还会展示糖尿病与高血压、高血脂、心血管疾病等的因果关联,以及糖尿病可能导致的并发症如视网膜病变、肾病、神经病变等。这种因果视角有助于用户更全面地认识疾病的风险和转归。

第6章 界面需求分析与产品设计

6.1 需求分析

通过对医疗健康筛查场景的深入分析,本平台的用户群体主要包括以下几类:一是普通居民,希望了解自身健康状况和疾病风险,获取健康管理建议;二是基层医务人员,需要高效的辅助筛查工具和医学知识查询工具;三是健康管理人员,需要对群体健康数据进行统计分析和风险评估;四是学生和研究者,可以将平台作为学习和研究医疗AI的工具。

基于用户需求分析,系统的功能需求包括:(1)数据总览功能:展示体检记录数、疾病分布、年龄性别分布、代谢指标趋势等宏观统计信息;(2)单人风险预测:支持输入体检指标和健康信息,输出多病种风险评估结果和可解释分析;(3)批量数据分析:支持Excel数据上传,自动生成统计分析报告和高危人群名单;(4)影像可视化:支持CT影像上传、浏览、标记和特征分析;(5)智能问诊:支持多轮对话,结合医学知识库提供专业回答;(6)模型对比:展示不同算法模型的性能对比和评估指标。

非功能需求包括:(1)易用性:界面直观友好,操作简单,无需培训即可上手;(2)响应速度:页面加载和API响应时间控制在3秒以内,大模型调用除外;(3)可靠性:系统稳定运行,支持异常情况的优雅降级;(4)安全性:用户数据本地存储,不上传第三方服务器;(5)可扩展性:采用模块化设计,便于后续功能扩展和模型升级。

6.2 产品设计理念

本平台的设计理念是'专业、可信、简洁、高效'。专业体现在医学内容的准确性和权威性,所有健康建议均基于公认的医学指南和研究证据;可信体现在AI回答的可追溯性和透明度,每条建议都有明确的来源标注;简洁体现在界面设计的清爽和信息层级的清晰,避免不必要的视觉干扰;高效体现在操作流程的优化和响应速度的保障,让用户快速获得所需信息。

在视觉设计上,采用深蓝色作为主色调,传达医疗健康领域的专业感和信任感;辅以青色和绿色作为强调色,分别代表科技感和健康活力。整体采用深色主题设计,降低长时间使用的视觉疲劳,同时突出数据可视化的效果。界面布局采用左侧导航+右侧内容的经典结构,信息层级清晰,操作路径短。

6.3 功能模块设计

平台共包含7个主要功能模块,通过左侧导航栏进行切换:①首页数据总览大屏、②单人多病风险预测、③批量体检数据看板、④CT影像可视化、⑤RAG智能问诊、⑥模型实验对比、⑦AI模型配置。每个模块都有明确的功能定位和交互设计,形成完整的健康筛查服务闭环。

其中,AI模型配置模块是本平台的特色功能之一。用户可以灵活选择AI调用模式,从完全离线的本地模板到强大的大语言模型,满足不同场景下的需求。API Key仅存储在用户浏览器的localStorage中,不会上传到服务器,充分保护用户隐私。

图6-1 AI模型配置页面

第7章 详细实现与功能展示

7.1 首页数据总览

首页数据总览大屏是用户进入系统后看到的第一个页面,也是整个平台的数据仪表盘。页面顶部展示4个核心KPI指标:体检记录总数、监测疾病数、数据来源数、对比模型数,让用户对平台的数据规模有一个直观的认识。

页面主体部分包含6类可视化图表:(1)三类慢性病患病率饼图,展示心血管、糖尿病、肺结节在总体人群中的占比;(2)多病共病人群占比环形图,展示同时患有0种、1种、2种、3种疾病的人群比例;(3)年龄分布柱状图,展示各年龄段的体检人数分布;(4)性别分布环形图,展示男女比例;(5)区域健康指数热力图,展示不同地区的健康水平差异;(6)代谢指标趋势折线图,展示血压、血糖、血脂等指标随年龄的变化趋势。

所有图表均基于ECharts实现,支持鼠标悬停查看详细数值,部分图表支持点击下钻。图表采用响应式设计,能够自适应窗口大小变化。

7.2 单人多病风险预测

单人多病风险预测页面是平台的核心功能模块。页面左侧为体检指标录入表单,包含年龄、性别、BMI、收缩压、舒张压、空腹血糖、糖化血红蛋白、总胆固醇、甘油三酯、高密度脂蛋白、低密度脂蛋白、肌酐、吸烟史、家族史、PM2.5暴露等15项指标。用户可以手动输入数值,也可以通过文本识别功能从体检报告中自动提取指标。

页面右侧展示风险预测结果,包括心血管疾病、糖尿病、肺结节三种疾病的风险等级和概率值。每种疾病的评估结果都配有颜色编码(绿色为低危、黄色为中危、橙色为高危、红色为极高危),直观醒目。下方展示SHAP风格的特征贡献度瀑布图,解释各因素对风险的影响方向和大小。

页面底部是AI生成的综合诊疗报告。当启用DeepSeek大模型时,报告由大模型基于评估结果和医学指南生成,内容更加丰富和个性化。报告包含疾病风险解读、生活方式建议、就医指导、复查建议等内容,并标注信息来源,确保专业性和可信度。

7.3 批量体检数据看板

批量体检数据看板支持Excel文件上传和解析。用户上传文件后,系统自动识别列名并进行数据类型推断,生成详细的统计分析报告。主要分析内容包括:

(1)基本统计:记录总数、男女人数、平均年龄、异常指标检出率等;(2)共病分布:展示不同疾病组合的患病人数和比例,支持堆叠柱状图可视化;(3)代谢相关性热力图:展示血压、血糖、血脂、BMI等代谢指标之间的相关系数矩阵,颜色越深表示相关性越强;(4)高危人群Top 20:根据综合风险评分排序,展示风险最高的20条记录,方便快速定位重点关注对象;(5)CSV导出:支持将分析结果导出为CSV文件,便于进一步处理和报告制作。

7.4 CT影像可视化

CT影像可视化模块支持用户上传胸部CT影像,并提供丰富的影像浏览和分析功能。功能包括:(1)影像上传:支持PNG/JPG格式的CT切片上传;(2)样本库:内置多个公开数据集的CT影像样本,可直接浏览学习;(3)病灶标记:支持在影像上标注疑似病灶位置和大小;(4)放大查看:集成viewer.js,支持鼠标滚轮缩放、拖拽平移等操作;(5)影像特征分析:自动计算均值强度、结节数、最大直径、肺容积、霍恩斯菲尔德均值等定量影像特征。

图7-1 CT影像可视化页面

7.5 RAG智能问诊

RAG智能问诊模块提供多轮对话式的健康咨询服务。页面左侧为聊天窗口,用户可以在输入框中输入问题,点击发送按钮或按回车键发送。系统支持快速提问标签,用户可以直接点击预设的常见问题,如'高血压需要注意什么?''空腹血糖7.2严重吗?''糖尿病+冠心病共病管理'等。

每条AI回答都会显示回答来源标识:如果是DeepSeek大模型生成的,会显示绿色的'✨ DeepSeek'徽章,回答采用渐变绿色边框的特殊样式;如果是本地模板生成的,会显示灰色的'📋 本地模板'标识。这种设计让用户能够清楚地知道回答的生成方式,建立合理的预期。

页面右侧展示检索命中的详细信息,包括来源数据集、相似度分数等,用户可以点击查看具体的检索结果内容。下方展示知识图谱加载数量、KUAKE-IR医学检索、因果推理等辅助功能模块,形成完整的知识问答生态。

图7-2 RAG智能问诊页面

7.6 模型实验对比

模型实验对比页面展示了三种模型(XGBoost、MTL-BERT、MM-Fusion)在多病种预测任务上的性能对比。页面上方是模型对比表格,列出了各模型的名称、适用疾病、模型类型、AUC、召回率、F1值等关键指标。

页面中部是ROC曲线图,展示各模型在测试集上的受试者工作特征曲线,曲线越靠近左上角说明模型性能越好。下方左侧是混淆矩阵,展示模型预测结果与真实标签的分布情况;右侧是精确率-召回率曲线,从另一个维度评估模型的分类性能。

通过实验对比,用户可以直观地了解不同算法在医疗预测任务上的表现差异,理解多任务学习和多模态融合带来的性能提升。这对于学习者和研究者尤为有价值。

7.7 技术实现亮点

本项目在技术实现上有以下几个亮点:第一,单文件架构。整个后端和前端都包含在一个app.py文件中,总代码量约3700行,无需复杂的项目结构和构建工具,双击启动脚本即可运行,大大降低了部署和使用门槛。

第二,零AI依赖。RAG检索引擎基于自实现的TF-IDF算法,不依赖sklearn、torch、transformers等重型AI库,仅需flask、pandas、numpy、openpyxl四个基础依赖即可运行,安装包体积小,环境配置简单。

第三,渐进式AI增强。系统采用'本地模板+大模型润色'的渐进式架构,在没有API Key或网络不可用的情况下,本地模板保证基本功能可用;当配置了API Key后,大模型自动对回答进行润色和增强,提升专业性和用户体验。这种架构兼顾了可靠性和先进性。

第四,数据自动发现。系统启动时自动扫描指定目录下的各类数据集,支持多种文件格式和目录结构。如果找不到数据,自动合成示例数据作为兜底,确保平台在任何环境下都能正常运行和展示。

第8章 总结与展望

8.1 项目总结

本项目设计并实现了一个医疗健康多病种智能筛查可视化平台,涵盖了从数据管理、风险预测、影像分析、智能问诊到模型对比的完整功能链条。项目的主要成果和贡献包括:

(1)构建了一个多源医学数据融合的统一处理框架,整合了结构化体检数据、医学文本数据、CT影像数据、知识图谱等多种数据类型,总数据量超过10万条记录。

(2)实现了心血管、糖尿病、肺结节三大类疾病的联合风险预测模型,采用可解释的评分卡方法,确保预测结果具有临床可解释性。同时设计了XGBoost、MTL-BERT、MM-Fusion三种模型的对比实验,验证了多任务学习和多模态融合的性能优势。

(3)开发了基于RAG技术的智能问诊系统,融合临床病历、医学问答、知识图谱、因果推理等多种知识来源,并深度集成DeepSeek大语言模型,通过内联引用标注机制显著提升了AI回答的可信度和专业性。

(4)设计并实现了用户友好的可视化交互界面,采用深色医疗主题,包含7个功能模块、20+种数据可视化图表,支持单文件一键部署运行。

8.2 局限性分析

本项目也存在一些局限性:第一,风险预测模型基于评分卡方法,虽然可解释性好,但预测精度相对有限,未来可以基于更大规模的真实医疗数据训练更精确的机器学习模型。

第二,RAG检索采用TF-IDF算法,虽然轻量高效,但在语义理解和模糊匹配方面不如向量检索。未来可以引入BERT等预训练模型进行语义向量检索,提升召回率。

第三,影像分析功能目前主要停留在可视化层面,尚未实现真正的AI辅助诊断。未来可以集成3D CNN等深度学习模型,实现结节自动检测和良恶性分类。

第四,大模型回答的医疗准确性虽然通过检索增强得到了一定保障,但仍无法完全避免幻觉和错误。平台明确标注仅供参考,不能替代专业医疗诊断,未来需要通过更多的医学领域微调和人工审核来进一步提升准确性。

8.3 未来展望

展望未来,本项目可以在以下几个方向进行深入探索:一是模型升级,引入更先进的深度学习模型和多模态融合技术,进一步提升疾病预测的准确性和早期筛查能力;二是数据扩充,接入更多真实世界的医疗数据,构建更加全面和有代表性的医学知识库;三是功能拓展,增加用户健康档案管理、用药提醒、随访跟踪等更完整的健康管理功能;四是移动端适配,开发微信小程序或移动App,方便用户随时随地进行健康咨询和管理;五是医生端建设,构建医生工作台,实现医患在线沟通和远程问诊服务。

总之,医疗AI是一个充满机遇和挑战的领域,本项目作为一个初步的探索和实践,希望能够为推动人工智能技术在医疗健康领域的应用贡献一份力量,最终让更多人享受到智能医疗带来的便利和福祉。

附录 AI使用说明

A.1 AI工具使用清单

在本项目的开发过程中,使用了以下AI工具和服务:

(1)DeepSeek大语言模型:用于RAG智能问诊模块的回答生成与润色,以及单人风险预测模块的AI诊疗报告生成。API地址:https://api.deepseek.com/v1,模型版本:deepseek-chat(DeepSeek-V4 Flash)。在项目中对应的核心函数为_deepseek_chat(),位于app.py文件的第47-90行。

(2)AI辅助编码工具:在代码编写和调试过程中使用了AI编程助手,辅助完成代码生成、bug修复、性能优化等工作。所有AI生成的代码均经过人工审核和测试验证,确保正确性和安全性。

A.2 AI使用场景与方式

本项目中AI技术的具体使用场景和方式如下:

场景一:RAG智能问诊回答生成。用户输入健康问题后,系统先从本地医学知识库中检索相关证据,然后调用DeepSeek大模型,将检索证据和用户问题作为上下文输入,要求大模型基于证据重新组织和润色回答。AI的作用是提升回答的流畅性、完整性和专业性,而回答的事实依据完全来自本地知识库,确保了信息的可控性和可追溯性。

场景二:单人风险预测报告生成。用户完成体检指标录入后,系统先使用评分卡模型计算疾病风险,然后调用DeepSeek大模型,将风险评估结果、异常指标、医学指南建议等作为输入,生成个性化的综合诊疗报告。AI的作用是将结构化的评估结果转化为自然语言的健康建议,使报告更易于理解和执行。

场景三:共病因果推理增强。在因果推理模块中,系统从知识图谱中查询疾病-危险因素-并发症的因果关系三元组,然后调用DeepSeek大模型将这些结构化的因果关系转化为自然语言的解释,帮助用户理解疾病之间的内在联系和发展路径。

场景四:KUAKE-IR检索摘要生成。在医学检索模块中,系统检索出与查询相关的文档后,调用DeepSeek大模型对检索结果进行摘要和要点提炼,提升信息获取效率。

A.3 修改迭代与优化过程

项目开发过程中,AI相关功能经历了多轮迭代优化:

第一轮:初始版本仅使用本地模板生成回答,优点是稳定可控,缺点是回答较为机械化,灵活性和专业性不足。

第二轮:引入DeepSeek大模型,在本地模板的基础上进行AI润色。初期版本存在的问题包括:System Prompt过于简单,导致AI回答天马行空;没有引入检索证据,AI可能编造事实;前端token统计逻辑有误等。

第三轮:针对第二轮的问题进行优化。具体优化措施包括:(1)设计了详细的System Prompt,明确要求AI基于证据回答、不得编造、必须包含红旗症状提醒和免责声明;(2)引入RAG检索机制,将指南建议、相似病历、知识图谱、医学检索结果作为上下文输入,确保AI回答有据可依;

(3)要求AI在回答中使用[指南]、[病历]、[文献]等内联引用标注,提升回答的可信度和透明度;(4)修复了前端sendChat函数的两个bug:思考中占位符被发回后端污染上下文的问题,以及token统计使用已清空输入的问题。

第四轮:增加多模式支持和前端配置界面。实现了本地模板、DeepSeek内置Key、自定义Key、OpenAI兼容服务四种AI调用模式的灵活切换,用户可以根据自己的需求和条件选择合适的模式。同时优化了前端界面,增加了AI模式状态指示器、token使用统计、API Key管理等功能,提升了用户体验。

A.4 AI使用注意事项

使用本平台的AI功能时,需要注意以下事项:

第一,本平台的AI回答仅供健康参考,不能替代专业医师面诊和处方。如有身体不适,请及时前往正规医疗机构就诊。

第二,AI回答的质量受限于知识库的覆盖范围和大模型的能力,可能存在不够全面或不够准确的情况,请结合自身情况和专业意见综合判断。

第三,使用自定义API Key时,请妥善保管您的Key,本平台不会将您的Key上传到任何第三方服务器,Key仅存储在您本地浏览器的localStorage中。

第四,大模型调用会产生相应的API费用,请根据自己的使用需求合理控制调用频率。如不需要大模型功能,可以切换到本地模板模式,完全离线运行,不产生任何费用。

医疗健康多病种智能筛查可视化平台

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐