DEV · 开发
Nursing VP Sim · 项目笔记
Nursing VP Sim · 项目笔记
LLM 虚拟标准化病人训练平台(
fire-disposal/nursing-vp-sim):学生与虚拟患者护患对话、按需床旁检查、结构化护理评估,全程不提前看到病例答案。测试test.205716.xyz· 生产iomt.205716.xyz。
定位
- 核心不是"让模型聊天",而是不泄题的可复盘训练闭环:对话 → 检查 → 护理评估 → 结束 → 综合评分 → 学生复盘 / 教师复核。
- 能力:虚拟患者、19 项细粒度评分、证据与评分理由、教师逐项复核、情绪轨迹、语音交互、护理记录、成本管理。状态 ACTIVE SYSTEM。
- PiOps:不是独立项目,而是 VP Sim 的受控运维自动化——代码负责上下文 / 安全边界 / PR 流程,模型只负责诊断分析与补丁生成。
架构与数据流
学生 → 对话/床旁检查/护理评估 → LLM 多 Provider 路由(优先级/熔断/限流/健康检查 + SSE)
→ 评分(19项) + 证据/理由 → 学生复盘 / 教师复核
技术栈
- 后端:FastAPI + PostgreSQL + DeepSeek/OpenAI 兼容 Provider + SSE。
- 前端:React 19 + Vite。
- 部署:前端静态、推理按需 LLM API(无常驻模型)、会话服务端缓存(空闲 30 min 自动回收)。
核心设计要点
- 患者表现层(核心设计):把「情绪数据」与「怎么渲染」解耦——表现策略可插拔,切换只改一行策略链。
- 协议:上游只产出
EmotionSnapshot(6 态 / 4D 9 态 / values 四维)+PatientIdentity(name/gender/age);下游只管渲染。 - 范式:每策略一个模块
{ kind, build, render };build纯函数返回null=让位链上下一策略;表现负载(判别联合)static | realistic | png-variant | svg | video;render只管展示(尺寸/圆角不参与策略选择)。 - 策略链即优先级:生产链
["video", "realistic", "static"];static恒兜底,链永不落空;切换技术栈=改一行链常量,新增策略=一个模块+注册表一行。 realistic按姓名查写实头像(import.meta.glob),未绑定返回null(王建国/张美华);video填VIDEO_SOURCES即激活;svg/png-variant预留,改链即启用。
- 协议:上游只产出
- 运维要点:角色一致性漂移(系统提示固化病例卡+每轮注入病程摘要,已缓解待回归);首 token 延迟(流式输出+客户端打字机,观察中);事故红线:病例库变更先跑基线对话脚本。
近期重点与路线图
- 收敛可信训练闭环:病例真相不泄漏、工具调用可信(授权/幂等/持久化/可回放)、评分可审计(绑定病例/rubric/prompt/模型快照)、上下文边界清晰、训练结束可靠。
- 架构收敛:病史采集为唯一产品路径;
TrainingAction统一事务;集中 dispatcher 校验所有权/状态/capability;前端 Bridge 单实例 + 全局request_id+ 幂等键;删历史表(Grade/UserClass 先数据盘点与迁移验收)。 - 运营可靠性即产品能力:清晰拆分 staging/production/PR Gate/migration job;完善 Provider 超时/熔断/限流/成本/降级/诊断快照;真实浏览器验收完整训练流。
边界与不做
- 不横向加训练类型、面板、无明确消费者的 LLM 调用。
- 不让 LLM 生成不可审计的体格检查客观结果。
- 不以删除前端组件代替后端数据边界。
- 不把 PiOps 扩成无诊断边界的任意反馈自动修复器。
部署与门禁
- 部署拓扑:前端静态、推理按需、会话服务端缓存回收(空闲 30 min)。
- 运维备忘:改病例库先跑基线对话脚本;LLM 调用必有超时与降级文案;日志保留 14 天。
情报来源
- GitHub README 与截至 2026-08-05 主分支提交;本地
docs/10-training-system-roadmap.md、docs/09-operations.md、docs/ops/。
更新动向
- 2026-08-07:近期聚焦线上诊断、PiOps 修复链路、CI/CD 可靠性——
bf08426同步 PiOpsaction_required、93db12d移除不可靠 tag 自动部署 + Alembic 校验入 PR Gate、02cdea9修复 annotated tag 缺 Git 身份、cce501e/f641e9e修线上+staging 诊断链路、7b54708等收紧 PiOps 提交格式/目录隔离/pnpm 缓存/API key 传参/固定 Pi 版本。