3.9 KiB
3.9 KiB
处方 AI 处理进度
目的与显示口径
已开处方列表和双模型报告窗口展示后台实际步骤,帮助医生区分资料等待、模型响应较慢、已完成和失败。千问与 OpenAI 独立展示进度,单个模型失败不掩盖另一模型仍在处理。
流程包括:准备资料、等待问诊资料归档、排队、文字资料分析、附件处理、资料汇总、生成报告、校验结果、处方对比、完成。附件组数表示已结束处理的组数,其中可能包含明确记录为不支持或无法读取的附件;不等同于已读完全部附件。
已耗时来自服务端时间,界面用单调时钟补充秒级变化;模型响应耗时与最终完成时间不能可靠预估,因此不提供虚假的总进度百分比或预计完成时间。分组计数只属于当前步骤。转写等待和自动重试仅在后台提供明确截止时间时展示倒计时。
数据与权限
进度摘要仅包含固定阶段、计数、时间及系统说明,不包含患者正文、附件地址、模型回答、提示词或密钥。列表查询使用小型摘要,避免每次轮询解密完整模型缓存。
读取沿用处方与资料权限。完成状态以报告及对比结果实际落库为准。模型返回不等于整项任务完成;重试、失效及旧报告都不能继续显示为实时生成中。断网时显示最近收到的进度,并明确提示刷新失败。
验证与本地更新
覆盖分组进度、模型等待、倒计时、双模型独立状态、失败与完成状态、旧接口兼容、断网恢复、窗口关闭、敏感字段过滤及结果提交前的状态。队列与迁移测试使用项目内独立空 MySQL 数据目录,禁止连接业务库进行测试。
本地升级先确认新增进度字段可用,再在消费者空闲时加载新代码。正在执行的旧消费者保留到任务结束;旧任务没有保存的分组明细不补造。客户端源码及本地启动包完成验证后更新,用户当前打开的窗口保留到自行重启。
2026-09-10 本地验证记录
- 后端:38 项进度检查、Generator 回归、252 项比较器检查和 20 项策略检查通过。独立 MySQL 上新版结构 Queue 68 / Pipeline 80、旧版结构 Queue 66 / Pipeline 75 检查通过,包括重复迁移及旧库回退。
- 桌面:122 项测试通过,Ruff 通过。使用合成资料生成的
app/artifacts/issued-prescription-ai/progress-report-20260910.png已目视检查。追加验证失败最后步骤说明、重试等待耗时冻结、真实尝试次数和报告阅读位置保留。 - 本地应用数据库已执行
server/database/migrations/2026_09_10_prescription_ai_progress.sql。迁移只增加可空摘要列,执行前后的任务状态、尝试次数和结果数量一致;记录见artifacts/prescription-ai-runtime/progress-migration-20260910.json。 - 已等全部活动任务自然结束,再于 10:27 重启三个本地消费者。记录见
artifacts/prescription-ai-runtime/progress-worker-reload-20260910-102729.json。真实权限接口只读校验通过,状态接口返回进度,未生成新的模型请求或重写历史报告。 - 当前旧批次的进度摘要为空,显示已保存的结束状态和耗时;新执行任务才记录完整分组阶段。本次验证保留实际千问格式校验失败、OpenAI 超时状态,不将其标记成功。
- 进度版 Windows 1.4.2 包已通过冻结模块、真实计数/重试计时、媒体组件及入口检查,于 10:31 切换到
app/dist/DoctorWorkstation。EXE SHA-256 为410cf8ecacba379f8c292856d2c636c54c9f6e6e814808ce7ea59f4a92fcf945;旧包保留在app/dist/DoctorWorkstation-before-progress-20260910-103105。详情见app/artifacts/issued-prescription-ai/local-package-build-progress-20260910.md与local-package-promotion-progress-20260910.json。当前客户端会话未关闭,需自行重启以加载界面更新。