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:
2026-01-14 19:15:01 +08:00
parent 3d35e9c58b
commit 1b53ab9d52
386 changed files with 52096 additions and 65238 deletions

View File

@@ -1,82 +1,76 @@
# **PRD嚗関ool B \- <20><><EFBFBD>蝏𤘪<E89D8F><F0A498AA>𡝗㦤<F0A19D97>其犖 (The AI Structurer)**
| <20><><EFBFBD><EFB99D>𧋦 | V2.0 (<28>峕芋<E5B395>衤漱<E8A1A4><EFBFBD><EFBFBD><E99C82>) |
| 产品形态 | Web 端工具(批处理 \+ 全景验证网格) |
| 核心价值 | 利用 双大模型DeepSeek & Qwen交叉验证 技术,将非结构化病历文本转化为高可信度的结构化数据,解决 AI 幻觉问题。 |
| 鈭批<EFBFBD><EFBFBD>?| Web 蝡臬極<E887AC><EFBFBD><E79880><EFBFBD><E5ADB5>?\+ <20>冽艶撉諹<E69289>蝵烐聢嚗?|
| <EFBFBD><EFBFBD>隞瑕<EFBFBD>?| <20>拍鍂 <20><>之璅<E79285>嚗㇄eepSeek & Qwen嚗劐漱<E58A90><EFBFBD>霂?<3F><><EFBFBD><EFBFBD><EFBFBD><E692A0>蝏𤘪<E89D8F><F0A498AA>𣇉<EFBFBD><F0A38789><EFBFBD><EFBFBD><EFBFBD>祈蓮<E7A588>碶蛹擃睃虾靽<E288AA><E6BCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>唳旿嚗諹圾<E8ABB9>?AI 撟餉<E6929F><E9A489><EFBFBD><E6A185>?|
| <20><EFBFBD><E6A0BC><EFBFBD> | <20><><EFBFBD><E996AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝏瓐<E89D8F><E79390><EFBFBD><EFBFBD><EFBFBD>𥁒<EFBFBD><EFBFBD><E7BE93><EFBFBD><EFBFBD><EFBFBD>唳旿<E594B3><E697BF><EFBFBD><EFBFBD><EFBFBD><E79899>擃矋<E69383> |
## **一、 产品流程图 (User Flow)**
## **<EFBFBD><EFBFBD>?鈭批<E988AD><EFBFBD><E7989A><EFBFBD>?(User Flow)**
数据导入(上传/流转) \-\> 健康体检 \-\> 智能模版配置 \-\> 双盲提取与交叉验证 \-\> 全景网格裁决 \-\> 结果导出
<EFBFBD>唳旿撖澆<EFBFBD>(銝𠹺<E98A9D>/瘚<>蓮) \-\> <20>亙熒雿𤘪<E99BBF> \-\> <20><EFBFBD>璅∠<E79285><E288A0>滨蔭 \-\> <20>𣬚𤩅<F0A3AC9A>𣂼<EFBFBD>銝𦒘漱<F0A69298><EFBFBD>霂?\-\> <20>冽艶蝵烐聢鋆<E881A2><E98B86> \-\> 蝏𤘪<E89D8F>撖澆枂
## **二、 核心功能需求 (Functional Requirements)**
## **鈭䎚<EFBFBD>?<3F><EFBFBD><E8A9A8><EFBFBD><E8A098><EFBFBD>瘙?(Functional Requirements)**
### **1\. 甇仿炊銝<E7828A>嚗𡁏㺭<F0A1818F><EFBFBD>頧賭<E9A0A7>雿𤘪<E99BBF> (Injection & Health Check)**
* **P0:** **数据源接入:** 支持本地 Excel 上传,或接收来自工具 A 的流转文件。
* **P0:** **智能体检 (Health Check)**
* 用户选定“文本源列”后,系统立即扫描前 100 行。
* **拦截规则:** 若空值率 \> 80% 或平均字符数 \< 10提示“该列不适合提取”防止误操作浪费 Token
* **成本预估:** 根据字符数实时预估 Token 消耗量。
* **P0:** **<EFBFBD>唳旿皞鞉𦻖<EFBFBD><EFBFBD>** <20><EFBFBD><E88880>砍𧑐 Excel 銝𠹺<E98A9D>嚗峕<E59A97><E5B395>交𤣰<E4BAA4>亥䌊撌亙<E6928C> A <20><><EFBFBD>頧祆<E9A0A7>隞嗚<E99A9E>?
* **P0:** **<EFBFBD><EFBFBD>雿𤘪<EFBFBD> (Health Check)嚗?*
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𨀣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗𣬚頂蝏毺<EFBFBD><EFBFBD>單醌<EFBFBD><EFBFBD> 100 銵䎚<EFBFBD>?
* **<EFBFBD>行⏛閫<EFBFBD><EFBFBD>嚗?* <20>亦征<E4BAA6><EFBFBD> \> 80% <20>硋像<E7A18B><E5838F><EFBFBD>蝚行㺭 \< 10嚗峕<E59A97>蝷算<E89DB7>𡏭砲<F0A18FAD>𦯀<EFBFBD><F0A6AF80><EFBFBD><EFBFBD><EFBFBD>𣂼<EFBFBD><F0A382BC><EFBFBD><E59885>脫迫霂舀<E99C82>雿𨀣答韐?Token<EFBFBD>?
* **<EFBFBD>鞉𧋦憸<EFBFBD>摯嚗?* <20>寞旿摮㛖泵<E39B96><EFBFBD><E595A3><EFBFBD>隡?Token 瘨<><E798A8><EFBFBD><E783BE>?
### **2\. 甇仿炊鈭䕘<E988AD><E49598><EFBFBD>璅∠<E79285><E288A0>滨蔭 (Smart Schema) <20><EFBFBD>?V2 <20><EFBFBD><E8A9A8><EFBFBD>漣**
### **2\. 步骤二:智能模版配置 (Smart Schema) —— V2 核心升级**
* **P0:** **场景化模版选择:**
* **一级分类(疾病):** 肺癌、高血压、糖尿病等。
* **二级分类(报告):** 病理报告、入院记录、门诊病历、手术记录。
* **P0:** **<EFBFBD>箸艶<EFBFBD>𡝗芋<EFBFBD><EFBFBD><EFBFBD>㗇𥋘嚗?*
* **銝<>蝥批<E89DA5>蝐鳴<E89D90><E9B3B4><EFBFBD>嚗㚁<E59A97>** <20><EFBFBD><E7AE87><EFBFBD><EFBFBD><EFBFBD><E98AB5><EFBFBD><E58D9D><EFBFBD>撠輻<E692A0>蝑剹<E89D91>?
* **鈭𣬚漣<EFBFBD><EFBFBD>掩嚗<EFBFBD>𥁒<EFBFBD>𠺪<EFBFBD>嚗?* <20><><EFBFBD><EFBFBD><EFBFBD><E4BA99><EFBFBD><EFBFBD><EFBFBD>扇敶𨰻<E695B6><F0A8B0BB>秄霂羓<E99C82><E7BE93><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>航扇敶𨰻<E695B6>?
* **P0:** **<EFBFBD><EFBFBD><EFBFBD><EFBFBD>畾萄<EFBFBD>銋㚁<EFBFBD>**
* 选择模版后,自动加载预设字段列表(如“肺癌病理”自动加载:肿瘤大小、淋巴结转移、分化程度)。
* 支持用户手动 **增/删/改** 字段定义。
* **P1:** **Prompt 预览:** 实时展示系统将发送给 AI Prompt 结构,增强专业用户信任感。
### **3\. 步骤三:双盲提取引擎 (Double-Blind Extraction) —— V2 核心升级**
* <EFBFBD>㗇𥋘璅∠<EFBFBD><EFBFBD>𠬍<EFBFBD><EFBFBD>芸𢆡<EFBFBD>㰘蝸憸<EFBFBD>挽摮埈挾<EFBFBD>𡑒”嚗<EFBFBD><EFBFBD><EFBFBD>𡏭<EFBFBD><EFBFBD>𣬚<EFBFBD><EFBFBD><EFBFBD><EFBFBD>肽䌊<EFBFBD><EFBFBD>頧踝<EFBFBD><EFBFBD>輻𠈔憭批<EFBFBD><EFBFBD><EFBFBD><EFBFBD>撌渡<EFBFBD>頧祉宏<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𣇉<EFBFBD>摨佗<EFBFBD><EFBFBD>?
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>见𢆡 **憓?<3F>?<3F>?* 摮埈挾摰帋<E691B0><E5B88B>?
* **P1:** **Prompt <EFBFBD><EFBFBD>嚗?* 摰墧𧒄撅閧內蝟餌<E89D9F><EFBFBD><E692A0><EFBFBD><EFBFBD><EFBFBD> AI <EFBFBD>?Prompt 蝏𤘪<EFBFBD><EFBFBD><EFBFBD>撘箔<EFBFBD>銝𡁶鍂<EFBFBD>瑚縑隞餅<EFBFBD><EFBFBD>?
### **3\. 甇仿炊銝㚁<E98A9D><E39A81>𣬚𤩅<F0A3AC9A>𣂼<EFBFBD>撘閙<E69298> (Double-Blind Extraction) <20><EFBFBD>?V2 <20><EFBFBD><E8A9A8><EFBFBD>漣**
* **P0:** **<EFBFBD>峕芋<EFBFBD>见僎<EFBFBD>𡢅<EFBFBD>**
* 系统同时调用 **DeepSeek-V3** (Model A) **Qwen-Max** (Model B) 对同一段文本进行提取。
* **P0:** **交叉验证算法 (Cross-Validation)**
* **完全一致:** 若 A 与 B 结果相同,标记为 Clean (可信)。
* **冲突:** 若 A 与 B 结果不同,标记为 Conflict (待裁决)。
* **P0:** **隐私脱敏:** 强制执行 PII 脱敏(正则替换姓名、身份证号)。
* 蝟餌<EFBFBD><EFBFBD>峕𧒄靚<EFBFBD> **DeepSeek-V3** (Model A) <EFBFBD>?**Qwen-Max** (Model B) 撖孵<EFBFBD><EFBFBD>畾菜<EFBFBD><EFBFBD><EFBFBD>銵峕<EFBFBD><EFBFBD><EFBFBD>?
* **P0:** **鈭文<EFBFBD>撉諹<EFBFBD>蝞埈<EFBFBD> (Cross-Validation)嚗?*
* **<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>** <20>?A 銝?B 蝏𤘪<E89D8F><F0A498AA><EFBFBD>嚗峕<E59A97>霈唬蛹 Clean (<EFBFBD>臭縑)<29>?
* **<EFBFBD><EFBFBD>嚗?* <20>?A 銝?B 蝏𤘪<E89D8F>銝滚<E98A9D>嚗峕<E59A97>霈唬蛹 Conflict (<EFBFBD><EFBFBD><EFBFBD>?<3F>?
* **P0:** **<EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗?* 撘箏<E69298><E7AE8F><EFBFBD> PII <20><EFBFBD><EFBFBD><EFBFBD>蹱𤜯<E8B9B1><EFBFBD><EFBCB7><EFBFBD><E6BABB>澈隞質<E99A9E><E8B3AA><EFBFBD><E79880>?
### **4\. 甇仿炊<E4BBBF>𨥈<EFBFBD><F0A8A588>冽艶撉諹<E69289>蝵烐聢 (Verification Grid) <20><EFBFBD>?鈭支<E988AD><E694AF>齿<EFBFBD>**
### **4\. 步骤四:全景验证网格 (Verification Grid) —— 交互重构**
*不再使用单条划动的 Tinder 模式,改为更高效的 Excel 列表模式。*
* **P0:** **验证列表 (The Grid)**
* **列结构:** 序号 | 原文摘要 | \[字段1\] | \[字段2\] ... | 状态。
* **原文列:** 显示前 50 字,鼠标悬停显示 Tooltip。
* **P0:** **冲突可视化与裁决:**
* **一致单元格:** 显示绿色/白色背景,展示单一值。
* **冲突单元格:** 背景标黄/红。内部并列显示$$DS: 值A$$
与$$QW: 值B$$
* **一键采纳:** 用户点击 A 或 B该值即被采纳单元格转为已解决状态。支持双击手动输入修正。
* **P0:** **侧边栏原文 (Context Drawer)**
* 点击表格任一行,右侧滑出侧边栏。
* 展示病历**全文**,方便用户溯源核对。
* **P1:** **批量操作:** 支持“剩余冲突全部采纳 Model A”或“导出当前进度”。
*銝滚<E98A9D>雿輻鍂<E8BCBB>閙辺<E99699>鍦𢆡<E98DA6>?Tinder 璅<E79285>嚗峕㺿銝箸凒擃䀹<E69383><E480B9>?Excel <20>𡑒”璅<E79285><E288AA>?
* **P0:** **撉諹<E69289><E8ABB9>𡑒” (The Grid)嚗?*
* **<2A><EFBFBD><E39B96><EFBFBD><EFBFBD>** 摨誩噡 | <20><><EFBFBD><EFBFBD><EFBFBD> | \[摮埈挾1\] | \[摮埈挾2\] ... | <20><EFBFBD><E59786><EFBFBD>?
* **<2A><><EFBFBD><EFBFBD><EFBFBD>** <20>曄內<E69B84>?50 摮梹<E691AE>曌䭾<E69B8C><E4ADBE><EFBFBD><E7A08D>曄內 Tooltip<69>?
* **P0:** **<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗?*
* **銝<><E98A9D><EFBFBD><E6B8B8><EFBFBD>聢嚗?* <20>曄內蝏輯𠧧/<2F>質𠧧<E8B3AA>峕艶嚗<E889B6><E59A97>蝷箏<E89DB7><EFBFBD><E98A9D><EFBFBD>?
* **<2A><EFBFBD><E884A9><EFBFBD><E8A8AB><EFBFBD>** <20>峕艶<E5B395><E889B6><EFBFBD>/蝥<E89DA5><EFBCB5><EFBFBD><EFBFBD>典僎<E585B8>埈遬蝷?$DS: <20>劈$$
銝?$QW: <20>劉$$
<20>?
* **銝<><E98A9D><EFBFBD>蝥喉<E89DA5>** <20><EFBFBD><E586BD>孵稬 A <20>?B嚗諹砲<E8ABB9>澆朖鋡恍<E98BA1>蝥喉<E89DA5><E59689><EFBFBD><E8A8AB>潸蓮銝箏歇閫<E6AD87><E996AB><EFBFBD><EFBFBD><E59786><EFBFBD><EFBFBD>𣈲<EFBFBD><F0A388B2><EFBFBD><EFBFBD><EFBFBD><E9A485><EFBFBD><E588BB>乩耨甇<E880A8><E79487>?
* **P0:** **靘扯器<E689AF><EFBFBD><E8AAA9>?(Context Drawer)嚗?*
* <20>孵稬銵冽聢隞颱<E99A9E>銵䕘<E98AB5><E49598>喃儒皛穃枂靘扯器<E689AF><EFBFBD>?
* 撅閧內<E996A7><E585A7><EFBFBD>**<2A><EFBFBD>**嚗峕䲮靘輻鍂<E8BCBB>瑟滲皞鞉瓲撖嫘<E69296>?
* **P1:** **<EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗?* <20><EFBFBD><E88880>𨅯<EFBFBD>雿坔<E99BBF><EFBFBD><E89D92><EFBFBD><EFBFBD>蝥?Model A<><EFBFBD><E884B2>𨅯紡<F0A885AF><EFBFBD><E7AE8F><EFBFBD>摨色<E691A8><EFBFBD>?
### **5\. 蝏𤘪<E89D8F>颲枏枂**
* **P0:** **导出 Excel** 包含最终采纳的结构化数据。
* **P0:** **流转到编辑器:** 一键发送到 **工具 C** 进行后续清洗(如缺失值填补)。
* **P0:** **撖澆枂 Excel嚗?* <20><><EFBFBD><E98984><EFBFBD><E89D8F>蝥喟<E89DA5>蝏𤘪<E89D8F><F0A498AA>𡝗㺭<F0A19D97><EFBFBD>?
* **P0:** **<EFBFBD><EFBFBD><EFBFBD>颲穃膥嚗?* 銝<><E98A9D><EFBFBD><E6A180><EFBFBD><EFBFBD> **撌亙<E6928C> C** 餈𥡝<E9A488><F0A5A19D>𡒊賒皜<E8B392><E79A9C><EFBFBD><E59A97>蝻箏仃<E7AE8F>銵伐<E98AB5><E4BC90>?
## **銝剹<E98A9D>?<3F>屸𢒰<E5B1B8><EFBFBD><EFBFBD>艙 (UI Sketch)**
## **三、 界面原型概念 (UI Sketch)**
* **雿𤘪<E99BBF>憿蛛<E686BF>** <20>劐葉<E58A90><EFBFBD><E5A092>曄內蝥<EFBCB9>臬㨃<E887AC><E3A883><EFBFBD><EFBFBD>𨅯<EFBFBD>摨瑕漲隡条<E99AA1>嚗屸<E59A97>霈⊥<E99C88><E28AA5>?45k Token<65><EFBFBD>?
* **<2A>滨蔭憿蛛<E686BF>** 銝𧢲<E98A9D><F0A7A2B2>㗇𥋘<E39787>𡏭<EFBFBD><F0A18FAD>𢞖<EFBFBD>?<3F>𦦵<EFBFBD><F0A6A6B5><EFBFBD>𥁒<EFBFBD>𪙛<EFBFBD><EFBFBD>銝𧢲䲮<F0A7A2B2>芸𢆡<E88AB8>堒枂 5 銝芸<E98A9D><E88AB8><EFBFBD><E6A0BC><EFBFBD><EFBFBD>?
* **憭<><E686AD>憿蛛<E686BF>** 餈𥕦漲<F0A595A6>舀遬蝷算<E89DB7>𨅯<EFBFBD><E79285><E288AA>𣂼<EFBFBD>銝?..<2E><EFBFBD>銝𧢲䲮<F0A7A2B2><EFBFBD>皛𡁜𢆡<F0A1819C>𡤜eepSeek 摰峕<E691B0>... Qwen 摰峕<E691B0>... 甇<>銁鈭文<E988AD>瘥𥪜笆<F0A5AA9C><EFBFBD>?
* **撉諹<E69289>憿?(<28><EFBFBD>)嚗?*
* 憿園<E686BF>嚗𡁶<E59A97>霈⊥辺<E28AA5>𨅯<EFBFBD> 100 <20><EFBFBD><E288B4>𤑳緵 12 <20><EFBFBD><EFBFBD><E89D92><EFBFBD>?
* 銝颱<E98A9D>嚗𡁶掩 Excel 銵冽聢<E586BD><E881A2><EFBFBD><EFBFBD><E89D92><EFBFBD><EFBFBD><EFBFBD><E881A2><EFBFBD>銝支葵<E694AF>厰僼靘偦<E99D98>㗇𥋘<E39787>?
* 靘扯器<E689AF>𧶏<EFBFBD>撅閧內敶枏<E695B6>銵𣬚<E98AB5>摰峕㟲<E5B395><E39FB2><EFBFBD><EFBFBD><EFBFBD>𧋦<EFBFBD>?
## **<2A><EFBFBD>?<3F><><EFBFBD>臬虾銵峕<E98AB5><EFBFBD>蝥行<E89DA5>**
* **体检页:** 选中列后显示红绿灯卡片:“健康度优秀,预计消耗 45k Token”。
* **配置页:** 下拉选择“肺癌”+“病理报告”,下方自动列出 5 个关键指标。
* **处理页:** 进度环显示“双模型提取中...”下方日志滚动“DeepSeek 完成... Qwen 完成... 正在交叉比对”。
* **验证页 (核心)**
* 顶部:统计条“共 100 条,发现 12 条冲突”。
* 主体:类 Excel 表格。冲突单元格内有两个按钮供选择。
* 侧边栏:展示当前行的完整病历文本。
## **四、 技术可行性与约束**
* **模型选型:**
* **主模型 (Model A)** DeepSeek-V3 (性价比高,擅长中文医疗)。
* **辅助模型 (Model B)** Qwen-Max 或 GPT-4o-mini (用于校验)。
* **冲突判定逻辑:**
* 字符串完全匹配或基于语义相似度Embedding Cosine Similarity \> 0.95)判定为一致。
* 数值提取需进行单位归一化后再比对(如 3cm vs 3.0 cm 视为一致)。
* **性能要求:** 双倍 API 调用会导致成本和时间增加,需在界面上明确告知用户并显示进度。
* **<EFBFBD><EFBFBD><EFBFBD>嚗?*
* **銝餅芋<EFBFBD>?(Model A)嚗?* DeepSeek-V3 (<28>找遠瘥娪<E798A5>嚗峕<E59A97><E5B395>蹂葉<E8B982><E89189><EFBFBD>?<3F>?
* **<EFBFBD>𨭌璅<EFBFBD> (Model B)嚗?* Qwen-Max <20>?GPT-4o-mini (<28><EFBFBD><E585B6><EFBFBD>)<29>?
* **<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗?*
* 摮㛖泵銝脣<EFBFBD><EFBFBD>典龪<EFBFBD>齿<EFBFBD><EFBFBD><EFBFBD>霂凋<EFBFBD><EFBFBD>訾撮摨佗<EFBFBD>Embedding Cosine Similarity \> 0.95嚗匧ế摰帋蛹銝<EFBFBD><EFBFBD><EFBFBD>?
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>餈𥡝<EFBFBD><EFBFBD><EFBFBD>敶雴<EFBFBD><EFBFBD><EFBFBD><EFBFBD>齿<EFBFBD>撖對<EFBFBD>憒?3cm vs 3.0 cm 閫<>蛹銝<E89BB9><E98A9D><EFBFBD><E6B99B>?
* **<EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗?* <20><><EFBFBD>?API 靚<>鍂隡𡁜紡<F0A1819C><EFBFBD><E6B994><EFBFBD><E7A08D>園𡢿憓𧼮<E68693>嚗屸<E59A97><E5B1B8><EFBFBD><E587BD><EFBFBD><EFBCB6>𡒊<F0A1928A>羓䰻<E7BE93><EFBFBD>撟嗆遬蝷箄<E89DB7>摨艾<E691A8>