# **AI 临床医生与医院知识库 \- MVP 阶段产品需求文?(PRD) V5.0** | | 版本?| 日期 | 修改?| 修改内容 | | V4.0 | 2024-06-XX | Product Lead | 降维策略 MVP | | V5.0 | 2024-06-XX | Product Lead | 完整落地版:基于“全量阅读”策略,补全 UI/UX 规范与详细功能定?| ## **1\. 核心战略与范?(Strategy & Scope)** ### **1.1 核心价值主?* 放弃传统的“切片式 RAG”,利用 DeepSeek-V3 / Qwen-Max 的长窗口能力,通过 **Document-Level RAG (文档级阅?** 技术,为医生提?*逻辑完整、引用精?*的知识库问答体验? ### **1.2 MVP 阶段边界 (Scope Freeze)** * **适用终端:** Web ?(PC/Mac 浏览?,兼?iPad? * **支持格式:** PDF, Word (.docx), PPT (.pptx)? * **硬性限?** 单库文件??30 个;单文件大??20MB? * **核心场景:** 循证检?(指南)、深度研?(文献)、用药助?(药品)、考典刷题 (考试)? ## **2\. 功能模块详情 (Detailed Requirements)** ### **2.1 模块一:仪表盘 (Dashboard)** **用户故事:** 作为医生,我希望一眼看到我有多少个知识库,并能快速创建一个新的专科知识库? #### **2.1.1 页面布局?UI 规范** * **布局结构:** * **顶部:** 全局导航?(Logo \+$$智能统计$$$$智能清洗$$$$\*\*AI 知识库\*\*$$$$AI 问答$$ \+ 头像)? * **主体:** "1+3" 卡片阵列布局 (Grid System)? * **卡片设计:** * **Slot 1 (新建入口):** * **样式:** 浅蓝色渐变背?(bg-blue-50),深蓝色虚线边框? * **内容:** 大号 "+" 图标,文?"创建知识?,下方并列展?5 个场景图?(指南/文献/病例/药品/考试) 以提示能力? * **Slot 2-N (现有知识?:** * **样式:** 白色卡片,微阴影 (shadow-sm \-\> hover shadow-md)? * **内容:** 图标(左上) \+ 标题(加粗) \+ 类型标签(胶囊样式) \+ "进入工作?按钮(底部通栏)? #### **2.1.2 交互流程:创建知识库** * **触发:** 点击“创建知识库”卡?\-\> 弹出模态框 (Modal)? * **Step 1: 类型选择 (Type Selection)** * **UI:** 5 个大卡片网格? * **选项:** 1. **循证检?(指南):** 图标 BookOpen (Blue)。文案:"查诊疗标准、用药剂?? 2. **深度研读 (文献):** 图标 Microscope (Purple)。文案:"文献综述、横向对?? 3. **临床决策 (病例):** 图标 Stethoscope (Green)。文案:"疑难病例参?? 4. **用药助手 (药品):** 图标 Pill (Rose)。文案:"查配伍禁?? 5. **考典刷题 (考试):** 图标 GraduationCap (Orange)。文案:"主治/副高备?? * **Step 2: 基础信息 & 角色注入** * **字段:** 知识库名?(必填)、所属科?(下拉选:心内/呼吸/消化...)? * **逻辑:** 选中“心内科”后,后端自动在 System Prompt 中注?*"你是一名心内科专家..."*? * **Step 3: 文件上传 (Upload)** * **UI:** 大面积拖拽上传区 (Dropzone)? * **逻辑:** * 前端校验大小 (\>20MB 飘红报错)? * 前端校验数量 (\>30 ?飘红报错)? * 上传成功后显示列表,状态流转:上传?.. \-\> 就绪? ### **2.2 模块二:沉浸式工作台 (Workspace)** **用户故事:** 作为医生,我希望在一个无干扰的环境中与我的资料对话,并能随时核对原文? #### **2.2.1 全局框架 (Immersive Layout)** * **顶部导航 (Header):** * **样式:** 深色背景 (bg-slate-900),高?56px? * **左侧:** \< 返回 (白色文字按钮,点击返?Dashboard)? * **中间:** 知识库名?\+ 图标? * **右侧:** 简单的设置齿轮? * **模式切换 (Tabs):** * 位于 Header 下方,白色背景,高度 48px? * **Tab A:** \[💬 智能问答\] (默认选中,底部蓝?? * **Tab B:** \[📂 知识资产\] (显示文件计数 Badge)? #### **2.2.2 视图 A:智能问?(Smart Chat)** * **布局:** * **默认:** 单栏宽屏聊天窗口 (最大宽?900px,居?? * **扩展:** 当点击引用或手动展开时,右侧滑出 PDF 阅读?(占比 45%),聊天窗自动收缩至左侧? * **对话交互 (Chat Interaction):** * **输入?** 底部固定。支?Shift+Enter 换行? * **AI 回答:** 流式输出 (Typewriter Effect)? * **引用标注:** 必须?\[文档名\] ?\[1\] 形式高亮显示,颜色为品牌蓝? * **后端策略路由 (核心逻辑):** * **场景一 (小库直读):** 知识库?Token \< 32k? * *UI:* 顶部 Toast 提示 "已加载全量上下文,AI 具备全知视角"? * **场景?(大库路由):** 知识库?Token \> 32k? * *UI:* 用户提问后,输入框上方出现微?Loading 状?—?"正在分析摘要..." \-\> "已定位至?024指南》等 3 篇文? \-\> 开始回答? #### **2.2.3 视图 B:知识资?(Assets Management)** * **UI 形式:** 全屏数据表格 (Table)? * **列定?** 1. **文件?** 图标 (PDF/Word) \+ 名称? 2. **AI 摘要:** 展示 2-3 行核心摘要文?(?DeepSeek 生成),支?hover 查看全部? 3. **状?** 准备?(灰色) / 就绪 (绿色) / 失败 (红色)? 4. **操作:** 预览、删除? * **筛选器:** 右上角“筛选”按钮,点击弹出下拉面板 (按时?状?类型)? ## **3\. 详细 UI/UX 设计规范 (Design Specs)** 为确保还原度,请 UI 设计师和前端开发遵循以下规范: ### **3.1 色彩体系 (Color Palette)** 使用 Tailwind CSS 默认色板? * **主色 (Primary):** Blue-600 (\#2563EB) \- 用于按钮、链接、高亮? * **场景?(Category Colors):** * 指南: Blue-500 * 文献: Purple-600 * 病例: Emerald-600 * 药品: Rose-600 * 考试: Orange-500 * **中性色:** Slate-50 (背景), Slate-900 (Header), Slate-500 (次要文字)? ### **3.2 图标系统 (Iconography)** * **风格:** 线性图?(Stroke 2px)? * **技?** 使用 **Inline SVG** (参?TDD V3.0 ?Icons 常量),严禁引入外?Icon Font? ### **3.3 字体与排?* * **字体:** 系统默认无衬线字?(Inter, Roboto, PingFang SC)? * **字号:** * H1 (页面标题): 20px Bold * H2 (模块标题): 16px Bold * Body (正文): 14px Regular (行高 1.6) * Caption (说明): 12px Text-Slate-400 ## **4\. 异常流程与边界处?(Exception Handling)** ### **4.1 上传失败** * **场景:** 用户上传了加?PDF 或损坏文件? * **后端:** 解析器捕获异常,返回 status: FAILED,error\_msg: "File encrypted"? * **前端:** 资产列表中该行变红,显示“解析失败:文件已加密”,并提供“删除”按钮? ### **4.2 AI 回答超时/失败** * **场景:** DeepSeek API 响应超时 (\>60s)? * **UI:** * 消息气泡显示红色感叹号? * 提示文案: "AI 思考超时,请尝试精简问题或重试? * 提供$$重试$$ 按钮? ### **4.3 引用源定位失?* * **场景:** 用户点击 \[1\],但该文件已被删除? * **UI:** 弹出 Toast 提示 "源文件已被删除,无法查看原文"? ## **5\. 验收测试标准 (QA Acceptance)** | ID | 测试?| 预期结果 | 优先?| | TC01 | 格式兼容?| 上传 .pdf, .docx, .pptx 文件,均能在资产列表显示“就绪”,且能被检索到?| P0 | | TC02 | 边界限制 | 尝试上传?31 个文件,前端应阻止上传并弹窗提示限制?| P0 | | TC03 | 引用跳转 | 提问后,点击回答中的 \[文档名\],右侧面板应滑出并正确加载该文档?| P0 | | TC04 | Word表格解析 | 上传包含表格?Word 指南,询问表格内数据,AI 应能准确回答数值?| P1 | | TC05 | 路由逻辑 | ?\>32k Token 的库中提问,观察 Network 请求,应看到系统先请求了摘要接口,再请求了全文接口?| P1 |