山东大学软件学院项目实训-基于语言大模型的智能居家养老健康守护系统-个人博客(一)
大家好,最近,我们团队正在推进一个具有社会意义的项目——《基于语言大模型的智能居家养老健康守护系统》。
就在昨天,我们刚刚结束了一次至关重要的团队技术碰撞会议。我们的前端基础UI框架已经初步成型,后端的底层架构也完成了重大升级——全面建立并接入了 PostgreSQL 数据库。我想通过这篇博客,复盘一下我在项目中的主要工作,以及我们是如何用前沿的AI技术“破局”的。
在本项目中,我和栾先曜共同负责项目的全周期管理,同时我个人的技术攻坚重点主要集中在LLM大模型微调与Agent构建、RAG个性化干预引擎以及多维健康大屏可视化引擎的开发上。
1. 架构的务实与重构
在最近的会议中,作为项目管理者,我们做出了一个非常务实的决定:取消基于智能硬件的实时体征流监控。
在实际调研中我们发现,要求居家老人24小时佩戴专业医疗级监测硬件并不现实,并且以学生身份,很难找到相关的企业合作。因此,我们将系统的预警与分析逻辑,果断转移到了“基于OCR非结构化解析入库”与“手动单次录入”的触发机制上。为了完美适配这种灵活性极高的数据结构(有时录入血压,有时录入血糖,字段极不固定),我们果断采用了 PostgreSQL 数据库,并深度利用其 JSONB 特性来存储 OCR 提取的异构健康数据。
同时,我们确立了双端协同的理念——不仅服务于老人(关怀模式),更服务于家属(大屏监控与跨端强提醒)。这一架构调整,让我们的系统彻底从“伪需求”走向了真正的“可落地”。
与此,我推动落地的另一项核心成果,是制定了《API 接口文档》。
“无文档,不开发”是我们团队的共识。作为前后端分离架构的契约,我们在接口文档中严格规范了以下几点:
-
全局鉴权规范:确立了双端(老人端、家属端)基于 JWT (JSON Web Token) 的无状态请求头标准。
-
多端角色调度:规范了 elderId 的传参逻辑,确保家属端可以通过绑定关系,安全地越权查询老人数据并下发强提醒指令。
-
AI 与流式响应规范:针对我负责的 AI Agent 模块,明确了基于 SSE (Server-Sent Events) 的流式输出接口格式。
这份接口文档的建立,彻底打通了团队协作的任督二脉,让前端的界面调试与后端的逻辑开发得以并行。
2. 构建垂直领域的 AI Agent 矩阵
大语言模型(LLM)是这个系统的大脑,而我的核心任务,就是不让AI“胡说八道”,而是让它成为一个专业的医疗助手。
在项目中,我主要负责对接并微调主流大模型接口,打破了单一对话框的局限,构建了多角色协同的 Agent 矩阵:
-
主界面全科陪诊 Agent:它就像驻留在家中的全科医生,随时解答老人的养生与导诊问题,并提供带有高共情能力的心理慰藉。
-
个性化营养与康复干预引擎(核心攻坚):这是我投入精力最多的地方。我准备引入了 RAG (检索增强生成) 技术。当老人询问“我今天该吃什么”时,Agent 不会给出泛泛而谈的菜谱。我的引擎会在后台悄悄检索 PG 数据库中该老人的专属“数字病历夹”(包含历史高血压、高血糖等真实病理特征),将其作为上下文(Context)强制注入 Prompt 给到大模型进行深度推理
3. 多维度健康聚合与大屏可视化引擎
老人端的数据越碎片化,家属端看到的就必须越直观。结合前端同学(宋咪杰)提供的界面,我负责在底层驱动多维度健康数据聚合与实时大屏可视化分析引擎的构建。
-
时序基线动态建模:我准备编写后端聚合算法,将 PG 数据库中散落的单次体检数据、OCR录入数据进行长周期的时序清洗与拟合。
-
ECharts 动态渲染:结合 Vue 与 ECharts,我们将冰冷的生化指标转化为了直观的波动曲线和安全阈值线
4. 展望下一步:AI 辅诊与双端联调
随着 PG 数据库的建立和前端的初步跑通,接下来的两周,我的工作重心将转移到跨角色 AI 辅诊辅助的深度联调上。
我将赋予家属端大屏更高的智能化——家属在看家属端的时候,可以直接向 Agent 提问:“根据大屏上我父亲最近一周的血压波动,我需要带他去复查吗?”系统将严格执行双重权限核验,基于 RAG 技术提取该老人的专属时序数据,提供跨角色的深度照护建议。
写在最后:
用技术对抗遗忘,用代码传递温度。这个项目对我而言,不仅仅是一次全栈架构、LLM 对接与复杂数据可视化的技术练兵,更是一次探索科技向善的宝贵实践。期待我们的《智能居家养老健康守护系统》在最终答辩时,能交出一份令人惊艳的答卷。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)