feat(aia): Complete AIA V2.0 with universal streaming capabilities
Major Changes: - Add StreamingService with OpenAI Compatible format - Upgrade Chat component V2 with Ant Design X integration - Implement AIA module with 12 intelligent agents - Update API routes to unified /api/v1 prefix - Update system documentation Backend (~1300 lines): - common/streaming: OpenAI Compatible adapter - modules/aia: 12 agents, conversation service, streaming integration - Update route versions (RVW, PKB to v1) Frontend (~3500 lines): - modules/aia: AgentHub + ChatWorkspace (100% prototype restoration) - shared/Chat: AIStreamChat, ThinkingBlock, useAIStream Hook - Update API endpoints to v1 Documentation: - AIA module status guide - Universal capabilities catalog - System overview updates - All module documentation sync Tested: Stream response verified, authentication working Status: AIA V2.0 core completed (85%)
This commit is contained in:
@@ -1,47 +1,41 @@
|
||||
# **REDCap 原生录入与 AI Workbench 操作边界划分**
|
||||
# **REDCap 原生录入ä¸?AI Workbench æ“<C3A6>作边界划分**
|
||||
|
||||
针对您的关键问题:“CRC 到底在哪里录入数据?”,我们采取\*\*“双轨并行,场景区分”\*\*的原则。
|
||||
|
||||
## **1\. 核心策略:尊重“数据真理源”**
|
||||
|
||||
* **原则**:为了确保 GxP 合规性和维护用户的既有习惯,**REDCap 始终是主要的数据录入入口**。
|
||||
* **逻辑**:我们不应该重新发明一个录入界面,而是要在录入时通过 AI 进行“实时监护”。
|
||||
针对您的关键问题:“CRC 到底在哪里录入数æ<C2B0>®ï¼Ÿâ€<C3A2>,我们采å<E280A1>–\*\*“å<C593>Œè½¨å¹¶è¡Œï¼Œåœºæ™¯åŒºåˆ†â€<C3A2>\*\*的原则ã€?
|
||||
## **1\. æ ¸å¿ƒç–略:尊é‡<C3A9>“数æ<C2B0>®çœŸç<C5B8>†æº<C3A6>â€?*
|
||||
|
||||
* **原则**:为了确ä¿?GxP å<>ˆè§„æ€§å’Œç»´æŠ¤ç”¨æˆ·çš„æ—¢æœ‰ä¹ æƒ¯ï¼Œ**REDCap 始终是主è¦<C3A8>的数æ<C2B0>®å½•入入å<C2A5>£**ã€?
|
||||
* **逻辑**:我们ä¸<C3A4>应该é‡<C3A9>æ–°å<C2B0>‘明一个录入界é<C592>¢ï¼Œè€Œæ˜¯è¦<C3A8>在录入时通过 AI 进行“实时监护â€<C3A2>ã€?
|
||||
## **2\. 详细场景划分**
|
||||
|
||||
| 场景 | 操作位置 | AI 的角色 | 理由 |
|
||||
| 场景 | æ“<C3A6>作ä½<C3A4>ç½® | AI 的角è‰?| ç<>†ç”± |
|
||||
| :---- | :---- | :---- | :---- |
|
||||
| **常规数据录入** | **REDCap 界面** | **实时监护** | 保持 CRC 习惯,降低迁移成本。AI 通过 Webhook 实时质控。 |
|
||||
| **大批量数据导入** | **AI Workbench** | **智能搬运** | 外部 Excel 或多张化验单。AI 清洗后,CRC 确认一次,一键注入。 |
|
||||
| **图像/PDF 提取录入** | **AI Workbench** | **OCR 提取** | REDCap 原生不支持复杂的 OCR 解析。在 Workbench 完成提取比对最顺手。 |
|
||||
| **质疑(Query)处理** | **AI Workbench** | **冲突展示** | 在 Workbench 可以同屏看“证据原文”和“建议值”,体验远好于 REDCap。 |
|
||||
| **项目初始化配置** | **AI Workbench** | **架构定义** | 复杂的 RAG 知识库上传、映射表配置,属于 AI 平台的特有逻辑。 |
|
||||
| **常规数æ<EFBFBD>®å½•å…¥** | **REDCap 界é<EFBFBD>¢** | **实时监护** | ä¿<C3A4>æŒ<C3A6> CRC ä¹ æƒ¯ï¼Œé™<C3A9>低è¿<C3A8>ç§»æˆ<C3A6>本。AI 通过 Webhook 实时质控ã€?|
|
||||
| **大批é‡<EFBFBD>æ•°æ<EFBFBD>®å¯¼å…?* | **AI Workbench** | **智能æ<EFBFBD>¬è¿<EFBFBD>** | 外部 Excel æˆ–å¤šå¼ åŒ–éªŒå<EFBFBD>•。AI 清洗å<E28094>Žï¼ŒCRC 确认一次,一键注入ã€?|
|
||||
| **图åƒ<EFBFBD>/PDF æ<><C3A6>å<EFBFBD>–录入** | **AI Workbench** | **OCR æ<EFBFBD><EFBFBD>å<EFBFBD>–** | REDCap 原生ä¸<EFBFBD>支æŒ<EFBFBD>å¤<EFBFBD>æ<EFBFBD>‚çš„ OCR è§£æž<C3A6>。在 Workbench 完æˆ<C3A6>æ<EFBFBD><C3A6>å<EFBFBD>–比对最顺手ã€?|
|
||||
| **质疑(Query)处ç<EFBFBD>†** | **AI Workbench** | **冲çª<EFBFBD>展示** | åœ?Workbench å<EFBFBD>¯ä»¥å<EFBFBD>Œå±<EFBFBD>看“è¯<EFBFBD>æ<EFBFBD>®åŽŸæ–‡â€<EFBFBD>和“建议值â€<EFBFBD>,体验远好äº?REDCapã€?|
|
||||
| **项目åˆ<EFBFBD>始化é…<EFBFBD>ç½?* | **AI Workbench** | **架构定义** | å¤<C3A5>æ<EFBFBD>‚çš?RAG çŸ¥è¯†åº“ä¸Šä¼ ã€<C3A3>æ˜ å°„è¡¨é…<C3A9>置,属äº?AI å¹³å<C2B3>°çš„特有逻辑ã€?|
|
||||
|
||||
## **3\. 典型æµ<C3A6>程对比**
|
||||
|
||||
### **流程 A:常规录入 (CRC 在 REDCap 操作)**
|
||||
### **æµ<EFBFBD>程 A:常规录å…?(CRC åœ?REDCap æ“<EFBFBD>作)**
|
||||
|
||||
1. CRC 登录 REDCap,打开患者表单。
|
||||
2. 输入血红蛋白值:8.0(单位录错)。
|
||||
3. 点击保存 \-\> REDCap 写入 MySQL \-\> 触发 Webhook。
|
||||
4. 我们的后端感知后,QC Agent 发现逻辑错误。
|
||||
5. **反馈**:
|
||||
* **低延时提醒**:通过 EM 插件在 REDCap 页面上方显示:“AI 提示:该值偏离历史均值,请确认单位”。
|
||||
* **异步质疑**:在我们的 Workbench 生成一条 Pending Action。
|
||||
|
||||
### **流程 B:AI 增强录入 (CRC 在 Workbench 操作)**
|
||||
|
||||
1. CRC 收到一张化验单照片。
|
||||
2. CRC 登录我们的 Workbench,上传照片。
|
||||
3. AI 提取出 10 个指标。
|
||||
4. **预览比对**:界面左侧是照片,右侧是提取的表格,高亮显示不确定的值。
|
||||
5. **一键注入**:CRC 确认无误,点击“同步”。系统自动调用 REDCap API 将这 10 个值一次性填满 REDCap 表单。
|
||||
1. CRC 登录 REDCap,打开患者表å<EFBFBD>•ã€?
|
||||
2. 输入血红蛋白值:8.0(å<EFBFBD>•ä½<EFBFBD>录错)ã€?
|
||||
3. 点击ä¿<EFBFBD>å˜ \-\> REDCap 写入 MySQL \-\> 触å<EFBFBD>‘ Webhookã€?
|
||||
4. 我们的å<EFBFBD>Žç«¯æ„ŸçŸ¥å<EFBFBD>Žï¼ŒQC Agent å<>‘现逻辑错误ã€?
|
||||
5. **å<EFBFBD><EFBFBD>馈**ï¼?
|
||||
* **低延时æ<EFBFBD><EFBFBD>é†?*:通过 EM æ<>’ä»¶åœ?REDCap 页é<C2B5>¢ä¸Šæ–¹æ˜¾ç¤ºï¼šâ€œAI æ<><C3A6>示:该值å<C2BC><C3A5>离历å<E280A0>²å<C2B2>‡å€¼ï¼Œè¯·ç¡®è®¤å<C2A4>•ä½<C3A4>â€<C3A2>ã€?
|
||||
* **异æ¥è´¨ç–‘**:在我们çš?Workbench 生æˆ<C3A6>一æ<E282AC>?Pending Actionã€?
|
||||
### **æµ<C3A6>程 B:AI 增强录入 (CRC åœ?Workbench æ“<C3A6>作)**
|
||||
|
||||
1. CRC æ”¶åˆ°ä¸€å¼ åŒ–éªŒå<C592>•照片ã€?
|
||||
2. CRC 登录我们çš?Workbenchï¼Œä¸Šä¼ ç…§ç‰‡ã€?
|
||||
3. AI æ<><C3A6>å<EFBFBD>–å‡?10 ä¸ªæŒ‡æ ‡ã€?
|
||||
4. **预览比对**:界é<C592>¢å·¦ä¾§æ˜¯ç…§ç‰‡ï¼Œå<C592>³ä¾§æ˜¯æ<C2AF><C3A6>å<EFBFBD>–çš„è¡¨æ ¼ï¼Œé«˜äº®æ˜¾ç¤ºä¸<C3A4>确定的值ã€?
|
||||
5. **一键注å…?*:CRC ç¡®è®¤æ— è¯¯ï¼Œç‚¹å‡»â€œå<C593>Œæ¥â€<C3A2>。系统自动调ç”?REDCap API 将这 10 个值一次性填æ»?REDCap 表å<C2A8>•ã€?
|
||||
## **4\. 结论与æ€<C3A6>路总结**
|
||||
|
||||
* **REDCap 登录**:用于\*\*“手动、少量、常规”\*\*的临床记录。
|
||||
* **AI Workbench 登录**:用于\*\*“大批量、文档提取、质控确认、方案解析”\*\*的高级任务。
|
||||
|
||||
这种设计的优势在于:**不强制改变用户习惯,但用 AI 让任务变得更轻松。** 我们不需要做一个完整的 EDC,我们要做的是 EDC 的“智能加速器”。
|
||||
|
||||
**您认可这个“双轨制”吗?** 特别是关于“大批量和文档提取才去 Workbench”的设定。
|
||||
* **REDCap 登录**:用于\*\*“手动ã€<C3A3>å°‘é‡<C3A9>ã€<C3A3>常规â€<C3A2>\*\*的临床记录ã€?
|
||||
* **AI Workbench 登录**:用于\*\*“大批é‡<C3A9>ã€<C3A3>文档æ<C2A3><C3A6>å<EFBFBD>–ã€<C3A3>质控确认ã€<C3A3>方案解æž<C3A6>â€<C3A2>\*\*的高级任务ã€?
|
||||
è¿™ç§<EFBFBD>设计的优势在于:**ä¸<C3A4>强制改å<C2B9>˜ç”¨æˆ·ä¹ 惯,但用 AI 让任务å<C2A1>˜å¾—æ›´è½»æ<C2BB>¾ã€?* 我们ä¸<C3A4>需è¦<C3A8>å<EFBFBD>šä¸€ä¸ªå®Œæ•´çš„ EDC,我们è¦<C3A8>å<EFBFBD>šçš„æ˜?EDC çš„â€œæ™ºèƒ½åŠ é€Ÿå™¨â€<C3A2>ã€?
|
||||
**您认å<C2A4>¯è¿™ä¸ªâ€œå<C593>Œè½¨åˆ¶â€<C3A2>å<EFBFBD>—ï¼?* 特别是关于“大批é‡<C3A9>和文档æ<C2A3><C3A6>å<EFBFBD>–æ‰<C3A6>åŽ?Workbenchâ€<C3A2>的设定ã€
|
||||
Reference in New Issue
Block a user