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%)
8.4 KiB
8.4 KiB
Phase 1.5: AI瀵硅瘽闆嗘垚REDCap鐪熷疄鏁版嵁鏌ヨ<E98F8C> - 寮€鍙戝畬鎴愯<E98EB4>褰?
**寮€鍙戞棩鏈?: 2026-01-03
**寮€鍙戜汉鍛?: AI Clinical Research Team
鐗堟湰: Phase 1.5
**鐘舵€?*: 鉁?宸插畬鎴?
馃搵 *寮€鍙戠洰鏍?
瀹炵幇AI鍦ㄤ紒涓氬井淇′腑鍩轰簬REDCap鐪熷疄鏁版嵁涓嶱I杩涜<EFBFBD>鏅鸿兘瀵硅瘽锛岃В鍐矻LM骞昏<EFBFBD>闂<EFBFBD><EFBFBD>銆?
*鏍稿績闇€姹?
- AI鑳藉<EFBFBD>鏌ヨ<EFBFBD>REDCap鐪熷疄鏁版嵁
- AI涓嶇紪閫犳暟鎹<EFBFBD>紝鍩轰簬浜嬪疄鍥炵瓟
- 鏀<EFBFBD>寔澶氳疆瀵硅瘽涓婁笅鏂囪<EFBFBD>蹇?
- 鎻愪緵鍗虫椂"姝e湪鏌ヨ<E98F8C>"鍙嶉<E98D99>
馃幆 瀹屾垚鍔熻兘
1. 鎰忓浘璇嗗埆
- 鉁?鏌ヨ<EFBFBD>鐗瑰畾璁板綍: 璇嗗埆璁板綍ID锛堝<E9949B>"ID 7"銆?璁板綍7"锛?
- 鉁?**缁熻<E7BC81>璁板綍鏁?*: 璇嗗埆"澶氬皯"銆?鍑犱釜"銆?鍑犳潯"绛夊叧閿<E58FA7>瘝
- 鉁?椤圭洰淇℃伅: 璇嗗埆"椤圭洰鍚嶇О"銆?椤圭洰鎯呭喌"绛?
- 鉁?**鏅<>€氬<E282AC>璇?*: 榛樿<E6A69B>澶勭悊鍏朵粬瀵硅瘽
瀹炵幇鏂瑰紡: 鍏抽敭璇嶅尮閰?+ 姝e垯琛ㄨ揪寮?
2. REDCap鏁版嵁鏌ヨ<E98F8C>
- 鉁?queryRedcapRecord(): 鏌ヨ<E98F8C>鐗瑰畾璁板綍鐨勮<E990A8>缁嗕俊鎭?
- 鉁?countRedcapRecords(): 缁熻<E7BC81>鎬昏<E98EAC>褰曟暟
- 鉁?getProjectInfo(): 鑾峰彇椤圭洰鍩烘湰淇℃伅
鏁版嵁鏉ユ簮: 鏁版嵁搴?iit_schema.projects 琛?鈫?RedcapAdapter 鈫?REDCap API
3. 鏁版嵁娉ㄥ叆LLM
- 鉁?灏嗘煡璇㈢粨鏋滄敞鍏<E6959E>ystem娑堟伅
- 鉁?鏂扮殑System Prompt寮鸿皟"鍩轰簬鐪熷疄鏁版嵁锛屼笉缂栭€?
- 鉁?閿欒<E996BF>澶勭悊锛氭煡璇㈠け璐ユ椂鍙嬪ソ鎻愮ず
*4. 涓婁笅鏂囪<E98F82>蹇?
- 鉁?SessionMemory淇濆瓨鏈€杩?杞<><E69D9E>璇?
- 鉁?鏀<>寔澶氳疆瀵硅瘽鐞嗚В锛堝<E9949B>"浠?鎸囦唬涔嬪墠鎻愬埌鐨勬偅鑰咃級
5. 鍗虫椂鍙嶉<E98D99>
- 鉁?鏀跺埌娑堟伅鍚庣珛鍗冲洖澶?馃<> 姝e湪鏌ヨ<E98F8C>锛岃<E9949B>绋嶅€?.."
- 鉁?鏌ヨ<E98F8C>瀹屾垚鍚庢帹閫佹渶缁堢粨鏋?
馃彈锔?*鎶€鏈<EFBFBD>灦鏋?
*鏁版嵁娴?
鐢ㄦ埛娑堟伅锛堜紒涓氬井淇★級
鈫?
WechatCallbackController.handleMessage()
鈫?
ChatService.handleMessage()
鈫?
1. detectIntent() - 鎰忓浘璇嗗埆
鈫?
2. queryRedcapRecord() / countRedcapRecords() / getProjectInfo()
鈫?
prisma.iitProject.findFirst() - 浠庢暟鎹<E69A9F>簱鑾峰彇椤圭洰閰嶇疆
鈫?
new RedcapAdapter(url, token) - 鍒涘缓API閫傞厤鍣?
鈫?
redcap.exportRecords() - 璋冪敤REDCap API
鈫?
杩斿洖鐪熷疄鏁版嵁
鈫?
3. buildMessagesWithData() - 鏋勫缓LLM娑堟伅锛堟敞鍏ユ暟鎹<E69A9F>級
鈫?
4. llm.chat() - 璋冪敤DeepSeek-V3
鈫?
5. sessionMemory.addMessage() - 璁板綍鍒颁笂涓嬫枃
鈫?
AI鍥炲<E98DA5>锛堜紒涓氬井淇★級
鍏抽敭浠g爜
- ChatService.ts: 390琛岋紝鏂板<E98F82>REDCap鏌ヨ<E98F8C>鏂规硶
- 鎰忓浘璇嗗埆: detectIntent()锛屾<E9949B>鍒欏尮閰?
- 鏁版嵁娉ㄥ叆: buildMessagesWithData()
- System Prompt: getSystemPromptWithData()
馃И 娴嬭瘯缁撴灉
娴嬭瘯鐜<EFBFBD><EFBFBD>
- 椤圭洰: test0102 (REDCap PID: 16)
- **璁板綍鏁?*: 10鏉★紙ID 1-10锛?
- 娴嬭瘯鐢ㄦ埛: FengZhiBo
- 娴嬭瘯鏃堕棿: 2026-01-03 22:28
娴嬭瘯鍦烘櫙1: 鏌ヨ<E98F8C>鐗瑰畾璁板綍 鉁?
鐢ㄦ埛杈撳叆:
甯<EFBFBD>垜鏌ヨ<EFBFBD>涓€涓?璁板綍 7鐨?鎵€鏈変俊鎭?
AI鍥炲<EFBFBD> (鍩轰簬鐪熷疄鏁版嵁):
鏍规嵁REDCap鏌ヨ<EFBFBD>缁撴灉锛岃<EFBFBD>褰?鐨勪俊鎭<E4BF8A><E98EAD>涓嬶細
**鍩烘湰淇℃伅**
- 濮撳悕锛氫紒涓氬井淇? 浼佷笟寰<E7AC9F>俊7
- 鍑虹敓鏃ユ湡锛?017-01-04
- 骞撮緞锛?宀?
- 鎬у埆锛氱敺
- 韬<>珮锛?30 cm
- 浣撻噸锛?0 kg
- BMI锛?9.6
**鑱旂郴鏂瑰紡**
- 鍦板潃锛氫紒涓氬井淇?
- 閭<><E996AD>锛歡ofeng117@163.com
**鍏朵粬淇℃伅**
- 姘戞棌锛氳タ鐝<E382BF>墮瑁旀垨鎷変竵瑁?
- 娌荤枟鍙诧細娴嬭瘯7777
- 鏄<>惁瀹屾垚锛氭槸
鎵€鏈夊瓧娈靛潎宸插~鍐欏畬鎴愩€傚<E282AC>闇€鏌ョ湅瀹屾暣琛ㄥ崟锛屽缓璁<E7BC93>櫥褰昍EDCap绯荤粺銆?
鏁版嵁楠岃瘉: 鉁?瀹屽叏鍖归厤REDCap鏁版嵁搴?
娴嬭瘯鍦烘櫙2: 缁熻<E7BC81>鏌ヨ<E98F8C> (棰勬湡)
鐢ㄦ埛杈撳叆: "鎴戜滑绯荤粺涓<E7B2BA>凡缁忔湁鍑犳潯璁板綍浜嗭紵"
棰勬湡鍥炲<EFBFBD>: "褰撳墠椤圭洰test0102宸叉湁 *10鏉? 鎮h€呮暟鎹<E69A9F><E98EB9>褰?
娴嬭瘯鍦烘櫙3: 椤圭洰淇℃伅 (棰勬湡)
鐢ㄦ埛杈撳叆: "鍜变滑褰撳墠鐨勯」鐩<E3808D>悕绉版槸浠€涔堬紵"
棰勬湡鍥炲<EFBFBD>: "褰撳墠椤圭洰鍚嶇О涓?test0102"
鎬ц兘鎸囨爣
- 鈴憋笍 API鏌ヨ<EFBFBD>: 300-700ms
- 鈴憋笍 LLM鍝嶅簲: 2-3绉?
- 鈴憋笍 **鎬诲搷搴旀椂闂?*: 3-5绉?
- 馃搳 **Token娑堣€?*: 绾?00 tokens/娆?
馃啔 瀵规瘮锛氳В鍐矻LM骞昏<EFBFBD>
涔嬪墠锛堢紪閫犳暟鎹<EFBFBD>級 鉂?
AI: "ID 7鐨勫叆缁勬棩鏈熶负 **2023-10-26**锛堝嵆鍩虹嚎璁胯<E79281>鏃ユ湡锛?
鉂?瀹屽叏缂栭€?
鉂?涓庣湡瀹炴暟鎹<E69A9F>笉绗?
鉂?椤圭洰鍚嶇О缂栭€犱负"IIT-2023-001: XX骞查<E9AA9E>瀵筜Y鐤剧梾..."
鐜板湪锛堢湡瀹炴暟鎹<EFBFBD>級 鉁?
AI: "鍑虹敓鏃ユ湡锛?017-01-04
骞撮緞锛?宀?
韬<>珮锛?30 cm
浣撻噸锛?0 kg"
鉁?100%鐪熷疄
鉁?鏉ヨ嚜REDCap鏁版嵁搴?
鉁?椤圭洰鍚嶇О涓簍est0102锛堢湡瀹烇級
馃挕 *鎶€鏈<EFBFBD>寒鐐?
1. 鏋舵瀯璁捐<E79281>
- 鉁?浠庢暟鎹<EFBFBD>簱璇诲彇閰嶇疆: 涓嶄娇鐢ㄧ幆澧冨彉閲忥紝鏀<E7B49D>寔澶氶」鐩?
- 鉁?**澶嶇敤閫氱敤鑳藉姏灞?*: LLMFactory闆堕厤缃<E58EA4>泦鎴?
- 鉁?鍒嗗眰娓呮櫚: Controller 鈫?Service 鈫?Adapter 鈫?API
2. 鎰忓浘璇嗗埆
- 鉁?**绠€鍗曟湁鏁?*: 鍏抽敭璇嶅尮閰?+ 姝e垯琛ㄨ揪寮?
- 鉁?鎵╁睍鎬уソ: 鏄撲簬娣诲姞鏂版剰鍥?
- 鉁?鎬ц兘浼樼<EFBFBD>: <1ms璇嗗埆鏃堕棿
3. 鏁版嵁瀹夊叏
- 鉁?Token鍔犲瘑瀛樺偍: 鏁版嵁搴撲腑鍔犲瘑
- 鉁?**鍔ㄦ€佽幏鍙?*: 姣忔<E5A7A3>鏌ヨ<E98F8C>鏃朵粠鏁版嵁搴撹<E690B4>鍙?
- 鉁?鏉冮檺鎺у埗: 鍩轰簬椤圭洰鐘舵€佽繃婊?
4. 鐢ㄦ埛浣撻獙
- 鉁?鍗虫椂鍙嶉<EFBFBD>: "姝e湪鏌ヨ<E98F8C>"娑堟伅
- 鉁?鍑嗙‘鍥炵瓟: 鍩轰簬鐪熷疄鏁版嵁
- 鉁?**涓婁笅鏂囪繛璐?*: 鏀<>寔澶氳疆瀵硅瘽
馃搳 浠g爜缁熻<EFBFBD>
鏂板<EFBFBD>鏂囦欢
SessionMemory.ts- 170琛?(涓婁笅鏂囪<E98F82>蹇?test-redcap-query-from-db.ts- 250琛?(娴嬭瘯鑴氭湰)check-test-project-in-db.ts- 74琛?(椤圭洰妫€鏌?
淇<EFBFBD>敼鏂囦欢
ChatService.ts- 鏂板<E98F82>200琛?(REDCap闆嗘垚)WechatCallbackController.ts- 鏂板<E98F82>鍗虫椂鍙嶉<E98D99>routes/index.ts- 鏂板<E98F82>鏍硅矾鐢?
鍒犻櫎鏂囦欢
test-redcap-query-for-ai.ts(浣跨敤鐜<E695A4><E9909C>鍙橀噺锛屽凡搴熷純)check-env-config.ts(鐜<><E9909C>鍙橀噺妫€鏌ワ紝宸插簾寮?
鈿狅笍 褰撳墠闄愬埗
1. 鎰忓浘璇嗗埆
- 鉂?浠呮敮鎸佸叧閿<E58FA7>瘝鍖归厤
- 鉂?涓嶆敮鎸佸<E98EB8>鏉傛煡璇㈢粍鍚?
- 鉂?涓嶆敮鎸佹ā绯婂尮閰?
2. 鏁版嵁鏌ヨ<E98F8C>
- 鉂?浠呮敮鎸佸崟椤圭洰锛堥粯璁<E7B2AF>ctive椤圭洰锛?
- 鉂?涓嶆敮鎸佸瓧娈靛悕涓<E68295>枃鏄犲皠
- 鉂?涓嶆敮鎸佸<E98EB8>鏉傝繃婊ゆ潯浠?
*3. 涓婁笅鏂囪<E98F82>蹇?
- 鉂?浠呬繚瀛樻渶杩?杞<><E69D9E>璇?
- 鉂?鍩轰簬鍐呭瓨锛屾湇鍔¢噸鍚<E599B8>涪澶?
- 鉂?涓嶆敮鎸佽法浼氳瘽璁板繂
馃殌 鍚庣画鏀硅繘鏂瑰悜
鐭<EFBFBD>湡浼樺寲
- 鎵╁睍鎰忓浘璇嗗埆: 鏀<>寔鏇村<E98F87>鏌ヨ<E98F8C>妯″紡
- 瀛楁<EFBFBD>鏄犲皠: 涓<>枃瀛楁<E7809B>鍚?鈫?REDCap瀛楁<E7809B>鍚?
- 閿欒<EFBFBD>浼樺寲: 鏇村弸濂界殑閿欒<E996BF>鎻愮ず
- **澶氶」鐩<E3808D>敮鎸?*: 鐢ㄦ埛閫夋嫨鏌ヨ<E98F8C>鍝<EFBFBD>釜椤圭洰
涓<EFBFBD>湡鍗囩骇 (Phase 2)
- Function Calling: 鍗囩骇涓篖LM鑷<4D>富鍐崇瓥璋冪敤宸ュ叿
- Redis缂撳瓨: 缂撳瓨鏌ヨ<E98F8C>缁撴灉锛屽噺灏慉PI璋冪敤
- 鏉冮檺鎺у埗: 鍩轰簬鐢ㄦ埛瑙掕壊杩囨护鏁版嵁
- 鎬ц兘鐩戞帶: 璁板綍鏌ヨ<E98F8C>鑰楁椂銆侀敊璇<E6958A>巼
闀挎湡瑙勫垝
- **Dify鐭ヨ瘑搴?*: 鏌ヨ<E98F8C>鐮旂┒鏂规<E98F82>銆佷鸡鐞嗘枃浠?
- 鏅鸿兘璐ㄦ帶: AI鍒嗘瀽鏁版嵁璐ㄩ噺闂<E599BA><E99782>
- H5鍓嶇<EFBFBD>: 鏇翠赴瀵岀殑浜や簰浣撻獙
- **澶氭ā鎬?*: 鏀<>寔鍥剧墖銆佹枃妗d笂浼?
馃摑 鎶€鏈<EFBFBD>€哄姟
1. 涓存椂鎺<E6A482>柦
- 鈿狅笍 浣跨敤鍏抽敭璇嶅尮閰嶏紙搴斿崌绾т负Function Calling锛?
- 鈿狅笍 SessionMemory鍩轰簬鍐呭瓨锛堝簲鏀逛负Redis锛?
- 鈿狅笍 榛樿<E6A69B>鏌ヨ<E98F8C>绗<EFBFBD>竴涓猘ctive椤圭洰锛堝簲鏀<E7B0B2>寔椤圭洰閫夋嫨锛?
*2. 寰呭疄鐜板姛鑳?
- 瀛楁<EFBFBD>鍚嶄腑鏂囨槧灏?
- 澶嶆潅鏌ヨ<EFBFBD>鏉′欢
- 鏁版嵁缂撳瓨鏈哄埗
- 鏉冮檺鎺у埗
馃幆 *閲岀▼纰戞剰涔?
*鎶€鏈<EFBFBD>獊鐮?
- 鉁?瑙e喅LLM骞昏<EFBFBD>: AI涓嶅啀缂栭€犳暟鎹?
- 鉁?鏁版嵁闂<EFBFBD>幆: 鏁版嵁搴?鈫?REDCap 鈫?AI 鈫?鐢ㄦ埛
- 鉁?鏋舵瀯楠岃瘉: 浠庢暟鎹<E69A9F>簱璇诲彇閰嶇疆鐨勬柟妗堝彲琛?
*涓氬姟浠峰€?
- 鉁?鎻愬崌鏁堢巼: PI鏃犻渶鐧诲綍REDCap鍗冲彲鏌ヨ<E98F8C>鏁版嵁
- 鉁?澧炲己淇′换: AI鍩轰簬浜嬪疄鍥炵瓟锛屽彲淇¤禆
- 鉁?鏀瑰杽浣撻獙: 浼佷笟寰<E7AC9F>俊鐩存帴瀵硅瘽锛屼究鎹?
鍥㈤槦鎴愰暱
- 鉁?鏋舵瀯鑳藉姏: 鐞嗚В鍒嗗眰鏋舵瀯鐨勯噸瑕佹€?
- 鉁?闂<EFBFBD><EFBFBD>瑙e喅: 浠庣幆澧冨彉閲忓埌鏁版嵁搴撻厤缃<E58EA4>殑婕旇繘
- 鉁?娴嬭瘯椹卞姩: 鍏堟祴璇昍EDCap API锛屽啀闆嗘垚AI
馃檹 鑷磋阿
鎰熻阿鍥㈤槦鎴愬憳鐨勮緵鍕や粯鍑猴細
- **闇€姹傚垎鏋?*: 鏄庣‘AI瀵硅瘽鐨勬牳蹇冧环鍊?
- 鏋舵瀯璁捐<EFBFBD>: 閫夋嫨浠庢暟鎹<E69A9F>簱璇诲彇閰嶇疆鐨勬柟妗?
- 浠g爜瀹炵幇: 楂樿川閲忕殑浠g爜鍜屾竻鏅扮殑娉ㄩ噴
- 娴嬭瘯楠岃瘉: 瀹屾暣鐨勬祴璇曠敤渚嬪拰鐪熷疄鍦烘櫙楠岃瘉
馃摎 鐩稿叧鏂囨。
- [Phase 1.5寮€鍙戣<EFBFBD>鍒抅(../04-寮€鍙戣<E98D99>鍒?Phase1.5-AI瀵硅瘽鑳藉姏寮€鍙戣<E98D99>鍒?md)
- MVP浠诲姟娓呭崟
- [妯″潡褰撳墠鐘舵€乚(../00-妯″潡褰撳墠鐘舵€佷笌寮€鍙戞寚鍗?md)
- [Day 3寮€鍙戣<E98D99>褰昡(./Day3-浼佷笟寰<E7AC9F>俊闆嗘垚涓庣<E6B693>鍒扮<E98D92>娴嬭瘯瀹屾垚璁板綍.md)
鏂囨。缁存姢: 寮€鍙戝洟闃?
**鏈€鍚庢洿鏂?: 2026-01-03
**涓嬩竴姝?: Phase 2 - Function Calling + Dify鐭ヨ瘑搴?