AI Agent 智慧医院智能导诊就诊系统

SpringbootLangChain4JAgentMCPRAG地狱锤炼
演示视频

项目简介:项目简介:基于医学知识库 RAG、向量检索、数据库驱动工具中心、Spring Boot + LangChain4j、Function Calling,实现文档切分与 Embedding 向量化、按库收窄的内存余弦 topK 检索、SSE 真流式多轮预问诊、数据库驱动 ReAct 分诊 Agent 多轮自主取证、工具注册表真开关与调用日志、科室医生查库核验、挂号乐观锁扣减、Agent 执行时间线与 AI 调用观测、就诊运营,覆盖从预问诊、智能分诊、在线挂号到接诊写病历与运营复盘的完整就诊闭环。

查看 →
24道
学完能答的面试题
来自 AIGC 面试刷题网
9个
核心技术点
下方逐项列出
23章
视频 + 喂饭级文档
每个功能细节都讲透
查看 →
17项
完整功能模块
下方功能清单逐项列出

本项目覆盖的技术点

多步 ReAct 分诊 Agent数据库驱动工具中心(mcp_tool 真开关)医学知识库 RAG(切分 + Embedding + MySQL 向量表)AI 输出代码二次核验危急征象硬拦截预问诊多轮 SSE 真流式统一 AI 出口与调用观测分诊命中率统计看板现场聚合不建统计表

学完能答的面试题

学完这个项目,下面 24 道面试题你都能结合项目细节讲出来。题目在 AIGC 面试刷题网可以免费看。

① 原理题 · 刷题网能学会
Agent 给出的最终结论能直接落库吗?怎么让它可信?
原理题,背熟就能答:模型的结论只能当建议,关键字段要由代码查真实数据核验,核验通过才落库;高风险判断不交给模型。
➜
② 项目追问 · 答案在这个项目里
你项目里分诊 Agent 推荐了一个当天没出诊的医生,怎么处理?危急症状怎么办?
只有亲手做过才答得上:推荐科室要在科室表里真实存在,推荐医生要当天真有可挂号排班,都由代码查库重算;症状标签命中 is_red_flag 直接转急诊科,这条拦截写死在代码里。
llm-03上下文窗口与长文本处理大模型应用基础 · 1 题
1大模型应用如何做上下文压缩?去刷题网 ↗
rag-03Embedding 与相似度RAG 检索增强 · 1 题
1RAG 中 Embedding 模型怎么选?部分涉及去刷题网 ↗

系统架构

一张图看清整个系统的分层与核心链路,点开可缩放查看细节。

  • 1
    接入层:患者 + 管理端患者智能导诊、预问诊流式对话、查号源挂号;管理端维护科室医生排班、医学知识库、工具中心,看 Agent 时间线、调用观测和运营看板。
  • 2
    医学知识库 RAG · 不装 PGVector知识片段向量化后存进 MySQL 普通表的文本列,按库收窄候选后在内存算余弦相似度取 TopK,一个 SQL 脚本就能初始化。
  • 3
    工具中心:真开关、真数据mcp_tool 表按启用状态现查现建工具池,停用的工具模型下一次真的调不到;调用成功失败都写日志。
  • 4
    多步 ReAct 分诊 Agent后端只交工具清单和循环上限,调几次、调哪几个由模型逐轮决定;每一步落 agent_step,前端时间线可回放。
  • 5
    AI 输出先核验再落库推荐科室必须真实存在,推荐医生必须当天有可挂号排班,都由代码查库重算;命中危急征象直接转急诊科。
  • 6
    分诊命中率统计推荐结果被拿去挂号就置为已挂号,看板按推荐科室统计「推荐了多少次、多少次真的挂了号」,管理员可据此在后台调整 Prompt 与症状标签权重。
  • 7
    存储与观测底座MySQL 8 共 23 张表,向量也在里面;统一 AI 出口写 ai_usage_log,看板三组数字从业务表现场聚合,不建统计表。

技术栈

用到的框架、中间件和模型。

后端
JDK 21Spring Boot 3.5LangChain4j 1.15MyBatisPageHelperHutoolJava JWT
Agent
多步 ReAct数据库驱动工具中心Agent Run / Step代码二次核验
RAG
文档切分EmbeddingMySQL 向量表余弦相似度 TopK
前端
Vue 3ViteElement PlusVue RouterAxiosSSE
数据库
MySQL 8
对话模型
deepseek-v4-flash
DeepSeek · 预问诊与分诊 Agent
向量模型
text-embedding-v3
阿里云百炼 · 医学知识片段 1024 维
版本要求:JDK 21,MySQL 8,Node.js 18 以上,Maven 3.8 及以上;需要对话和向量两类模型的 API Key。

技术难点与解法

每一项优化都针对一个真实问题,讲清楚问题、做法和背后的原理。

01Agent 输出要可信,而不是「看起来对」

问题
模型会编造科室、推荐一个当天没出诊的医生,甚至漏掉危急征象。
做法
AI 自由发挥和系统核验分层:推荐科室反查科室表,推荐医生反查当天排班余号,危急征象由症状标签库判定并直接转急诊,核验通过才落库。
原理
模型只负责「选科室 + 写依据」,页面展示的科室与医生都取查库结果,不采信模型原话。

02停用一个工具,模型要真的调不到

问题
界面上有个工具开关,代码里却写死了工具列表,关了也照样被调用。
做法
工具编码、说明、入参全在 mcp_tool 表,每次运行按「启用」状态现查现建工具池;调用成功失败都写 mcp_tool_call_log。
原理
管理页看到的,就是模型这一次能调到的。

03自主决策的过程不可见

问题
一次分诊调几次工具、调哪几个,每次都可能不同,出了问题不知道模型当时看到了什么。
做法
agent_run / agent_step / mcp_tool_call_log 三张过程表加执行时间线页,再用 ai_usage_log 记录每次模型调用的 Token 和耗时。
原理
每一步的工具、入参、返回、耗时都能回放,才能从结果一路反查到原因。

04怎么衡量 Agent 推荐得准不准

问题
Agent 跑成功不等于推荐得对,推荐质量没有数字就没法调优。
做法
分诊结果被患者拿去挂号后置为「已挂号」,运营看板按推荐科室统计「推荐了多少次、多少次真的转成挂号」。
原理
把主观的推荐质量变成可以持续观察的命中率,作为调 Prompt 和症状标签权重的依据。

05不装向量库也能做 RAG

问题
为了向量检索单独装一套 PostgreSQL + PGVector,本地复现和运维成本都高。
做法
medical_chunk_vector 用文本列存 1024 维向量,按知识库收窄候选后在内存算余弦相似度取 TopK。
原理
中小规模下 MySQL 普通表够用,23 张表一个 SQL 脚本就能初始化;数据量大了再换专用向量库。

功能清单

按角色看这个系统都能做什么。

医院基础数据4 项

  • 科室与医生管理维护科室、医生资料并开通医生账号
  • 排班与号源管理维护医生排班和号源,支持排班日期一键顺延
  • 患者档案查看与维护患者档案
  • 症状标签库维护症状标签与科室映射,标记危急征象

AI 能力3 项

  • AI 模型配置与 Prompt 模板聊天与向量模型配置,支持连通性测试
  • 医学知识库文档上传解析、切片查看、向量化与相似度检索
  • 工具中心工具注册、真启用开关、工具调用日志

统计与观测3 项

  • 就诊运营看板挂号量、号源使用率、分诊推荐命中率,按科室 / 医生 / 推荐科室汇总
  • Agent 执行时间线查看每次分诊的运行和步骤
  • AI 调用观测按用途统计调用次数、成功率、Token 和耗时

页面截图

共 11 张

真实运行截图,点击大图查看高清原图。

智能预问诊与分诊建议点击放大
01 / 11智能预问诊与分诊建议多轮对话描述症状后,给出推荐科室、医生、危急等级和置信度

你将获得

购买后可以拿到的全部内容。

喂饭级学习教程23 章

从科室、医生、排班等医院基础数据讲起,到医学知识库、工具中心、预问诊、分诊 Agent 和运营看板,按开发顺序一章一章讲。

完整源码 + SQL23 张表

Spring Boot 后端 + Vue3 前端完整源码,一个 SQL 脚本初始化全部表和数据,向量也存在 MySQL 里。

配套面试文档

电梯陈述、架构与选型、SSE 流式、ReAct 分诊与工具中心深挖、高频面试题和难点包装,面试时照着讲。

环境安装文档

JDK、MySQL、Node.js、Maven 等开发环境的安装与配置。

项目运行文档

数据库初始化、前后端启动、模型配置,从零把项目跑起来。

常见问题

下单前最常被问到的几个问题。

这个项目是 Java 还是 Python?

后端是 Java(JDK 21 + Spring Boot 3.5 + LangChain4j),前端是 Vue3。

模型需要自己准备吗?

需要自己准备两个 API Key:DeepSeek 用于预问诊和分诊,阿里云百炼用于医学知识向量化,在管理端「AI 模型配置」里填入即可,改完立刻生效。模型都走接口调用,不需要显卡,也不用装向量数据库。

基础薄弱能学会吗?

教程是喂饭级的,从登录注册、统一返回这些工程底座讲起,每章都有验证步骤。基础不够的话,可以先按上面的「学习路径」从基础项目学起。

能写进简历、用作毕业设计吗?

可以,配套面试文档里有项目介绍、难点包装和高频追问,照着就能讲清楚。至于毕业设计,有小伙伴问过我,统一回答一下:AI 实战库板块的项目拿去做毕业设计,就四个字——降维打击。

源码能用于商业项目吗?

源码和教程本质上是给大家学习、提升技能的。如果需要商用,自己二次开发一下也没问题,但禁止原项目 + 教程转手倒卖。我是一个程序员,能看到你们学习我的教程提升能力,能听你们叫我一声大佬,挺幸福的!知足~

售后答疑

买完不是结束

跟着教程学习,遇到问题不用自己硬扛。

专门的付费答疑群,有问题随时问学习过程中卡住了直接问,无后顾之忧。
原理没吃透哪个知识点没想明白,直接在群里问
代码看不懂哪一章哪一段代码卡住就问哪里
没事也能交流交流和一起学的同学吹吹水,岂不快哉
把这 24 道面试题,变成你做过的项目喂饭级学习教程 + 完整源码 + SQL + 配套面试文档 + 环境安装文档,一次拿全
¥189¥399
限时优惠,已省 ¥210
  • 购买前请观看完整功能演示视频和了解左侧项目信息
  • 源码和教程资料属于虚拟产品,下单后不支持退款
成长 VIP 更划算整单 8 折 性价比拉满 去看看
¥189¥39924 道面试题学完就能答