feat: Add Personal Center module and UI improvements

- Add ProfilePage with avatar upload, password change, and module status display

- Update logo and favicon for login page and browser tab

- Redirect Data Cleaning module default route to Tool C

- Hide Settings button from top navigation for MVP

- Add avatar display in top navigation bar with refresh sync

- Add Prompt knowledge base integration development plan docs
This commit is contained in:
2026-01-28 18:18:09 +08:00
parent 5d5a174dd7
commit 3a4aa9123c
17 changed files with 1309 additions and 22 deletions

View File

@@ -0,0 +1,125 @@
# **Prompt 管理系统升级:知识库集成 (RAG) 方案**
## **1\. 背景与需求**
统计学专家及其他业务方提出Prompt 需要能够动态引用外部知识库如统计学规范、ICD-10 编码手册、CRF 设计指南)。为了避免代码硬编码,我们需要在 Prompt 管理后台提供“知识库绑定”能力。
## **2\. 核心变更**
### **2.1 数据库 Schema 变更**
修改 capability\_schema.prompt\_templates 表,新增 knowledge\_config 字段。
我们引入 injection\_mode 字段,支持 **RAG 检索****全量注入** 两种策略。
model prompt\_templates {
// ...
// 存储 JSON 配置
// 示例:
// {
// "enabled": true,
// "source\_type": "KB",
// "kb\_codes": \["STAT\_SAS\_GUIDE", "STAT\_R\_GUIDE"\],
//
// // ✨ 新增:注入模式
// // "RAG": 向量检索 TopK (适合海量文档, \>20篇)
// // "FULL": 全量上下文注入 (适合少量核心文档, \<10篇, 精度最高)
// "injection\_mode": "FULL",
//
// "query\_field": "user\_question", // RAG模式必填
// "target\_variable": "reference\_context",
// "top\_k": 3, // RAG模式生效
// "min\_score": 0.6 // RAG模式生效
// }
knowledge\_config Json?
}
### **2.2 管理端 UI 升级 (Prompt Editor)**
在 Prompt 编辑器右侧边栏增加 **"知识增强 (RAG)"** 面板。
#### **面板功能:**
1. **开关**:启用/禁用知识库引用。
2. **知识库选择**:下拉选择已存在的知识库。
3. **注入模式选择 (✨ 新增)**
* **智能检索 (RAG)**:推荐用于大型知识库。只检索最相关的片段,节省 Token响应快。
* **全量注入 (Full Context)**:推荐用于小型核心知识库(如\<10个文档。将所有文档内容直接作为上下文发送给模型**准确率最高,无检索损失**,但消耗 Token 较多。
4. **检索触发词**(仅 RAG 模式显示) 选择 Prompt 变量中的哪一个作为搜索关键词。
5. **注入变量名**:指定内容放入哪个变量(默认 {{context}})。
### **2.3 渲染逻辑流程 (更新版)**
业务侧调用 promptService.get 时,根据 injection\_mode 走不同分支:
**分支 A全量注入模式 (Full Context) —— 专家推荐**
1. 读取绑定的知识库(如 "SAS 9.4 手册")。
2. 直接读取该知识库下所有文档的**全文内容**(需注意总 Token 限制,可设置上限如 100k
3. 拼接全文赋值给 variables.context。
4. **优势**:模型能看到文档全貌,跨章节推理能力极强,完全避免"检索不到"的问题。
**分支 B智能检索模式 (RAG)**
1. 提取检索词(如 user\_requirement
2. 调用向量数据库检索 Top K 片段。
3. 拼接片段赋值给 variables.context。
4. **优势**:便宜,快,适合从几千本书里找答案。
## **3\. 开发任务清单**
* \[ \] **DB**: 更新 Prisma Schema添加 knowledge\_config 字段。
* \[ \] **Backend**:
* \[ \] PromptService 引入 RagService 和 DocumentService。
* \[ \] **新增**PromptService.get 实现 injection\_mode 分流逻辑。
* \[ \] 实现全量拉取文档内容的逻辑 (Cache 优化)。
* \[ \] 管理端 API 支持保存 knowledge\_config。
* \[ \] **Frontend**:
* \[ \] PromptEditor 新增知识库配置侧边栏。
* \[ \] **新增**:注入模式切换开关 (RAG / FULL)。
* \[ \] **Verification**: 使用统计学 SAS 代码生成场景进行验证,对比两种模式的效果。
## **4\. 常见问答 (Q\&A)**
**Q: 全量注入模式会不会太贵?**
A: 取决于文档量。目前 DeepSeek-V3 输入价格约 1元/百万Token。假设 5 个文档共 5万 Token单次调用成本约 0.05 元。对于专家级辅助工具,这个成本是完全可以接受的。
**Q: 全量注入模式有延迟吗?**
A: 首字延迟会比 RAG 略高(因为预填充处理时间长),但目前 LLM 推理速度很快,体验差异通常在 1-2 秒内。
## **5\. AIA 智能体实战配置指南 (基于 V3.1)**
根据 AIA 模块的 10 个核心智能体,建议的知识库绑定策略如下:
### **Phase 1: 选题优化**
此阶段重点在于**创新性**和**临床价值**评估。
| Prompt Code | 智能体名称 | 建议绑定知识库 | 注入模式 | 理由 |
| :---- | :---- | :---- | :---- | :---- |
| AIA\_SCIENTIFIC\_QUESTION | 科学问题梳理 | **\[公共\] 临床研究方法学导论** | **FULL** | 方法学书不厚,全量读入能让 AI 像读过书的教授一样指导,避免断章取义。 |
| AIA\_PICO\_ANALYSIS | PICO 梳理 | **\[公共\] ICD-10/11 编码手册** | **RAG** | 编码手册是字典型的,成千上万条,**必须用 RAG**,全量读入会撑爆上下文且无必要。 |
| AIA\_TOPIC\_EVALUATION | 选题评价 | **\[公共\] 顶级期刊选题指南** | **FULL** | 指南通常只有几页纸,全量注入效果最佳。 |
### **Phase 2: 方案设计**
此阶段重点在于**规范性**和**标准化**。
| Prompt Code | 智能体名称 | 建议绑定知识库 | 注入模式 | 理由 |
| :---- | :---- | :---- | :---- | :---- |
| AIA\_OUTCOME\_DESIGN | 观察指标设计 | **\[公共\] COMET (Core Outcome Measures)** | **RAG** | COMET 数据库很大,适合检索特定疾病的指标集。 |
| AIA\_CRF\_DESIGN | CRF 设计 | **\[公共\] CDISC/CDASH 标准指南** | **FULL** | CDASH 核心字段集文档适中,全量注入能保证字段间的逻辑关系正确。 |
| AIA\_PROTOCOL\_WRITING | 方案撰写 | **\[公共\] SPIRIT 声明 (2013)** | **FULL** | SPIRIT 清单很短,必须全量参考。 |
| AIA\_SAMPLE\_SIZE | 样本量计算 | **\[公共\] 常用样本量计算公式手册** | **FULL** | 公式手册通常很精简。 |
### **Phase 3: 方案预评审**
此阶段重点在于**查漏补缺**。
| Prompt Code | 智能体名称 | 建议绑定知识库 | 注入模式 | 理由 |
| :---- | :---- | :---- | :---- | :---- |
| AIA\_METHODOLOGY\_REVIEW | 方法学评审 | **\[公共\] CONSORT 声明 (RCT)** | **FULL** | 评审需要对照 Checklist 的每一条,**必须全量注入**RAG 如果漏检索一条就会导致评审不完整。 |
*注:需要在运营管理端提前创建上述\[公共\]知识库,并导入相应的 PDF/Markdown 规范文档。*