——集成项目)
经过前段时间在各个技术难点上的反复折腾我们的“医患沟通评价系统”终于迎来了阶段性的进展——项目初步集成。在将前端、后端和美术的成果正式合拢之前我先对前期大家各自攻关完成的工作做了一个整体的梳理与总结一、 各模块工作的落地与准备1. 前端虚幻引擎端在前端开发中我们主要攻克了两个核心难点引擎版本与第三方插件适配针对旧版插件停止维护、无法原生兼容新版引擎的问题我们对 OVR LipSync 增强分支以及 RuntimeAudioImporter 进行了底层 C 源码的重构与重新编译。克服了虚幻引擎中程序化音频Procedural不允许创建分析代理CreateSoundWaveProxy的底层限制使这两款关键插件在 UE 5.6.1 环境中稳定运行为后续的音频处理与口型同步打下了架构基础。UI搭建与实时数据交互完成了系统核心交互界面的视觉搭建与蓝图逻辑编写。通过自研的 C 异步 SSE 接收程序ConnectToSSE打通了前后端的实时通信。前端能够直接在内存中接收并解码后端传输的 Base64 字节流数据并将其同时注入 RawPCMData 与 RawData在不产生本地文件读写的前提下完成了音频播放和唇形数据的实时准备避免了磁盘文件锁带来的延迟。2. 后端算法与数据处理后端工作则主要围绕“流畅度”和“专业度”展开全链路流式对话闭环构建完成了 ASR语音转文字、LLM大语言模型、TTS文字转语音的整套流式对话链路编写。通过开启大模型的流式输出配合标点符号进行合理的语义切片将文本数据近乎同步地送入阿里云 TTS 合成 PCM 音频并以 Base64 格式流式下发给前端成功将整套系统的交互延迟控制在可容忍范围内约 3 秒。对话策略与 Prompt 调优针对“医患沟通”这一特定专业场景设计并迭代了多轮 System Prompt。明确了虚拟病人的性格特征、病症表现、情绪波动及沟通偏好引导大模型输出符合真实临床沟通逻辑的文本确保对话的专业度、情感共鸣与评估有效性。知识库构建与数据库注入完成了相关医学评估标准、经典教学病例等专业数据的本地结构化存储并完成了数据库的注入工作。通过优化后端的检索与知识注入逻辑确保大模型能基于准确的医学背景知识进行响应为后续的沟通能力评测提供科学的数据支持。3. 美术资产与表现力美术团队在视觉呈现与运行性能之间做到了较好的平衡三维虚拟场景搭建完成了医院诊室、沟通窗口等核心虚拟评测场景的基础模型搭建、材质贴图设置以及灯光布局。在保证画质表现力的同时针对实时运行性能进行了资源和光影的优化确保系统在普通性能级别的设备上仍能维持合理的渲染帧率。虚拟数字人形象设计基于 MetaHuman 框架完成了系统中虚拟医生与虚拟患者等角色的造型方案设计。精细化配置了皮肤、毛发表现及服装材质确保角色的视觉观感符合真实医患沟通环境并能与后续的骨骼及曲线驱动系统完美契合。16种音素口型微调依托 Pose Asset姿势资产中的 ARKit 标准姿势映射针对 Oculus Lipsync 计算出的 16 种标准音素Visemes逐一进行了精细的面部与唇部姿势微调。重点优化了音素姿势的物理形变和过渡平滑度为后续在动画蓝图中使用 Modify Curve 进行低开销的口型融合做好了资产储备。二、 当前项目集成现状伴随着这些模块的拼合目前系统在本地已经初步实现了以下几个核心交互功能医患实时对话问诊医生按下按钮进行语音输入系统会将语音传输至后端处理虚拟患者会流式进行语音回答同时所有的聊天记录会同步保存在界面上的聊天框中。在线 AI 求助为了提供教学引导医生可以在问诊过程中点击“询问 AI”按钮向助手求助。AI 助手会根据当前的问答历史记录给出接下来建议询问的引导性方向。SEGUE 评分系统问诊结束后系统会根据经典的 SEGUE 评分量表对医生的沟通表现生成最终评分。为了保证评分的可信度系统还支持得分关键证据查询以及每轮对话的得分详情查询。三、 下一步的打算目前的集成工作帮我们验证了整套架构的可行性但系统在细节和体验上还有不少需要打磨的地方。下一步我计划把项目打包分发给组里的其他成员以及指导老师进行测试。根据大家的反馈去调整和修补一些潜在的 bug进一步优化性能开销争取尽快拿出一个更完整、更稳定的 Demo。