ai-doctor:多模型协同的 AI 医疗会诊模拟系统
ai-doctor 是一款旨在模拟多医生协同会诊的纯前端系统。它允许用户配置多个由不同大语言模型(LLM)驱动的虚拟“医生”,针对同一病例展开讨论、互评与淘汰,通过群体博弈逐步收敛,最终得出具有参考价值的诊断结论。
⚠️ 重要免责声明:本项目仅用于会诊模拟、教学研究及技术演示,其输出结果不构成医疗建议,不可用于临床诊断。
界面预览
Core features
- 多模型协同机制:支持接入 OpenAI、Anthropic Claude、Google Gemini、硅基流动及魔搭社区等主流模型,实现不同 AI 角色共同会诊。
- 动态淘汰流程:内置智能评估机制,医生通过互评识别不准确意见,票数最高者将被淘汰,以提升最终结论的可靠性。
- 实时交互体验:采用打字机效果呈现医生轮流发言的过程,并实时监控会诊阶段、轮次及投票统计。
- 本地化数据管理:基于
localStorage实现纯前端存储,问诊记录与配置均保存在浏览器本地,无需部署后端。 - 专业化输出:最终生成包含核心诊断、鉴别诊断、治疗建议及随访计划的完整总结,并支持导出图片。
- Modern UI Architecture:基于 Ant Design Vue 构建,提供清晰的布局与流畅的交互操作。
适用场景
- 教育演示:用于医学 AI 课程的教学演示。
- 流程验证:验证多模型协作(Multi-Agent)的逻辑链路。
- 原型研究:作为医疗 NLP 研究的交互式原型。
- 方法论对比:在团队内部对比不同 LLM 的诊断逻辑与表现。
快速上手指南
1. 环境准备与安装
要求:Node.js ≥ 16,建议使用 pnpm ≥ 9 或 npm。
git clone cd ai-medical-consultation-panel pnpm install pnpm dev # 启动后访问 http://localhost:5173 生产构建:执行 pnpm build,产物将生成在 dist/ 目录下。
关于代理:生产环境默认直连 API。如需通过本地代理,请在构建时设置 VITE_ENABLE_PROXY=true 并配置 /api-proxy 转发。
2. 操作流程
- 配置医生:在「设置」→「医生配置」中,录入医生名称、供应商、API Key、模型名称及个性化提示词。
- 输入病例:在主页填写患者基本信息(姓名、年龄、既往史)及本次主诉问题,点击「开始会诊」。
- 观察博弈:AI 医生轮流发言 $rightarrow$ 全体互评 $rightarrow$ 淘汰不准确者 $rightarrow$ 循环直至仅剩一名医生或达到轮次上限。
- 获取结论:点击「查看最终答案」,审阅由系统汇总的结构化诊断总结。
技术实现细节
评估与持久化
系统采用 自动化同行评审 机制:每轮发言后,在席医生对该观点进行投票。获得最多“不太准确”票的医生将被移除。所有配置(含 API Key)与会话状态均存储于浏览器本地,清除缓存将导致数据丢失。
支持的模型服务
| 供应商 | 典型模型 | Base URL |
|---|---|---|
| OpenAI 规范 | gpt-4o, gpt-4-turbo | https://api.openai.com/v1 |
| Anthropic | claude-3-5-sonnet, claude-3-opus | https://api.anthropic.com/v1 |
| Google Gemini | gemini-1.5-pro, gemini-1.5-flash | https://generativelanguage.googleapis.com/v1beta |
| 硅基流动 | Qwen2.5-72B, GLM-4-9B | https://api.siliconflow.cn |
| 魔搭社区 | qwen-max, qwen-plus | https://dashscope.aliyuncs.com |
技术栈清单
- 核心框架:Vue 3 + Pinia (状态管理)
- 构建工具:Vite
- UI 组件库:Ant Design Vue
- 关键依赖:Axios (请求), Marked (Markdown 渲染)
- 架构逻辑:
src/api(API 封装) $rightarrow$components(功能组件) $rightarrow$store(流程控制) $rightarrow$utils/prompt.js(提示词工程)
隐私与安全
由于采用纯前端架构,系统 不存在后端服务器,所有数据流仅在浏览器与 AI 供应商 API 之间传输。用户需自行保管 API Key,避免在不安全的设备上暴露配置信息。
End of text




