Files
AIclinicalresearch/docs/03-业务模块/DC-数据清洗整理/04-开发计划/工具C_AI_Few-shot示例库.md
HaHafeng 1b53ab9d52 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%)
2026-01-14 19:15:01 +08:00

12 KiB
Raw Blame History

撌亙<EFBFBD>C - AI Copilot Few-shot蝷箔<E89DB7>摨?

<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𧋦: V1.0
<EFBFBD>𥕦遣<EFBFBD><EFBFBD>: 2025-12-06
**<2A><EFBFBD>?*: System Prompt銝剔<E98A9D>Few-shot蝷箔<E89DB7>
<EFBFBD><EFBFBD><EFBFBD>箸艶: 隞𤾸抅蝖<E68A85><EFBFBD><E79A9C><EFBFBD><EFBFBD>蝥扳<E89DA5>銵伐<E98AB5>10銝芣瓲敹<E793B2><EFBFBD>?


<EFBFBD><EFBFBD> 蝷箔<E89DB7><E7AE94><EFBFBD>

蝻硋噡 <EFBFBD>箸艶<EFBFBD>滨妍 蝥批<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? <EFBFBD><EFBFBD>隞瑕<EFBFBD>?
1 蝏煺<EFBFBD>蝻箏仃<EFBFBD><EFBFBD>霈? Level 1 replace <EFBFBD>唳旿<EFBFBD><EFBFBD><EFBFBD><EFBFBD>?潃鐥<E6BD83>潃?
2 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Level 1 <EFBFBD><EFBFBD>+蝐餃<E89D90>頧祆揢 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?潃鐥<E6BD83>潃鐥<E6BD83>
3 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝻𣇉<EFBFBD> Level 2 map 蝏蠘恣撱箸芋 潃鐥<E6BD83>潃鐥<E6BD83>潃?
4 餈䂿賒<EFBFBD><EFBFBD><EFBFBD><EFBFBD> Level 2 cut <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 潃鐥<E6BD83>潃鐥<E6BD83>
5 BMI霈∠<EFBFBD>銝𤾸<EFBFBD>蝐? Level 3 <EFBFBD><EFBFBD>+<2B>∩辣 銝游<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 潃鐥<E6BD83>潃鐥<E6BD83>潃?
6 <EFBFBD><EFBFBD>霈∠<EFBFBD> Level 3 datetime <EFBFBD>園𡢿<EFBFBD><EFBFBD> 潃鐥<E6BD83>潃鐥<E6BD83>潃?
7 <EFBFBD>∩辣蝑偦<EFBFBD>? Level 3 憭𡁏辺隞嗉<EFBFBD>皛? <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 潃鐥<E6BD83>潃鐥<E6BD83>潃?
8 <EFBFBD><EFBFBD>閧撩憭勗<EFBFBD>銵? Level 4 fillna 蝻箏仃憭<EFBFBD><EFBFBD> 潃鐥<E6BD83>潃鐥<E6BD83>
9 憭𡁻<EFBFBD><EFBFBD>(MICE) Level 4 IterativeImputer 擃条漣憛怨‘ 潃鐥<E6BD83>潃鐥<E6BD83>潃?
10 <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Level 4 sort+drop_duplicates <EFBFBD>唳旿韐券<EFBFBD> 潃鐥<E6BD83>潃鐥<E6BD83>

<EFBFBD>㴓 Level 1: <20><EFBFBD><E7AE87>唳旿皜<E697BF><E79A9C>嚗?銝迎<E98A9D>

蝷箔<EFBFBD>1: 蝏煺<E89D8F>蝻箏仃<E7AE8F><EFBFBD>霈?

<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:

<EFBFBD>𦠜<EFBFBD><EFBFBD>劐誨銵函撩憭梁<EFBFBD>蝚血噡嚗?<3F><><EFBFBD>霂艾<E99C82><E889BE>A<EFBFBD><41>/A嚗厩<E59A97><EFBFBD><E98A9D>踵揢銝箸<E98A9D><E7AEB8><EFBFBD><EFBFBD>?

AI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:

# 蝏煺<E89D8F>蝻箏仃<E7AE8F><EFBFBD>霈?
df = df.replace(['-', '銝滩祕', 'NA', 'N/A', '\\', '<27>芣䰻'], np.nan)

<EFBFBD><EFBFBD>霂湔<EFBFBD>:

  • <EFBFBD><EFBFBD><EFBFBD>唳旿撣貉<EFBFBD>憭𡁶<EFBFBD>蝻箏仃<EFBFBD>潸”蝷箸䲮撘?
  • 蝏煺<EFBFBD>銝箸<EFBFBD><EFBFBD><EFBFBD>aN靘蹂<EFBFBD><EFBFBD>𡒊賒蝏蠘恣<EFBFBD><EFBFBD><EFBFBD>
  • <EFBFBD><EFBFBD><EFBFBD>箸艶: <20>唳旿皜<E697BF><E79A9C>蝚砌<E89D9A>甇?

<EFBFBD><EFBFBD>蝏𤘪<EFBFBD>:

  • <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝻箏仃<EFBFBD><EFBFBD>霈啗◤蝏煺<EFBFBD>銝摸aN
  • <EFBFBD>𡒊賒<EFBFBD>臭蝙<EFBFBD>甬snull()蝑㗇䲮瘜閧<E7989C><EFBFBD><EFBFBD><E686AD>

蝷箔<EFBFBD>2: <20><EFBFBD><EFBFBD><EFBFBD><E79A9C>

<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:

<EFBFBD>𡃏<EFBFBD><EFBFBD>𣂼<EFBFBD><EFBFBD>𣬚<EFBFBD><EFBFBD>墧㺭摮㛖泵<EFBFBD>瑕縧<EFBFBD><EFBFBD><0.1<EFBFBD>?.05憭<EFBFBD><EFBFBD>嚗諹蓮銝箸㺭<EFBFBD>潛掩<EFBFBD>?

AI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:

# 憭<><E686AD><EFBFBD><EFBFBD><EFBFBD><E6BE86><EFBFBD><EFBFBD>?
df['creatinine'] = df['creatinine'].astype(str).str.replace('>', '').str.replace('<', '')
df.loc[df['creatinine'] == '0.1', 'creatinine'] = '0.05'
df['creatinine'] = pd.to_numeric(df['creatinine'], errors='coerce')

<EFBFBD><EFBFBD>霂湔<EFBFBD>:

  • <EFBFBD>撉𣬚<EFBFBD>撖澆枂<EFBFBD>唳旿撣詨鉄蝚血噡嚗?<3F>?<3F>?蝑㚁<E89D91>
  • <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>銵峕㺭<EFBFBD>潸恣蝞堒<EFBFBD>蝏蠘恣<EFBFBD><EFBFBD><EFBFBD>
  • errors='coerce'撠<><E692A0>瘜閗蓮<E99697><EFBFBD><EFBCB9>潸挽銝摸aN

<EFBFBD><EFBFBD>蝏𤘪<EFBFBD>:

  • <EFBFBD><EFBFBD><EFBFBD><EFBFBD>銝箇滲<EFBFBD><EFBFBD>潛掩<EFBFBD>?
  • 蝚血噡鋡急迤蝖桀<EFBFBD><EFBFBD>?
  • <EFBFBD><EFBFBD>潸蓮銝摸aN

<EFBFBD><EFBFBD><EFBFBD>箸艶:

  • <EFBFBD>撉峕𥁒<EFBFBD>𠺪<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>蒾蝏<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
  • 撣貉<EFBFBD>蝚血噡嚗?100<30>?0.1<EFBFBD>?2.5+

<EFBFBD>圲 Level 2: <20><EFBFBD>蝻𣇉<E89DBB>銝舘恣蝞梹<E89D9E>2銝迎<E98A9D>

蝷箔<EFBFBD>3: <20><><EFBFBD><EFBFBD>蝻𣇉<E89DBB>

<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:

<EFBFBD>𦠜<EFBFBD><EFBFBD><EFBFBD>𡑒蓮銝箸㺭摮梹<EFBFBD><EFBFBD>?1嚗<31>戊=0

AI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:

# <20><EFBFBD>蝻𣇉<E89DBB>
df['gender_code'] = df['gender'].map({'<27>?: 1, '?: 0})

<EFBFBD><EFBFBD>霂湔<EFBFBD>:

  • <EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝐餃<EFBFBD><EFBFBD>讛蓮銝箸㺭<EFBFBD>?
  • 靘蹂<EFBFBD>Logistic<EFBFBD>𧼮<EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝏讐<EFBFBD>蝏𦦵<EFBFBD>撱箸芋
  • map<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?

<EFBFBD><EFBFBD>蝏𤘪<EFBFBD>:

  • <EFBFBD><EFBFBD>gender_code<EFBFBD>?
  • <EFBFBD><EFBFBD>1, 憟喇<E6869F>0
  • <EFBFBD>鰛ender<EFBFBD>𦯀<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?

<EFBFBD><EFBFBD><EFBFBD>箸艶:

  • 憍𡁜宏<EFBFBD><EFBFBD>? 撌脣<E6928C>=1, <20><EFBFBD>=0
  • <EFBFBD><EFBFBD><EFBFBD>? <20>?1, <20>?0
  • <EFBFBD><EFBFBD>蝔见漲: 撠誩郎=1, <20>苷葉=2, 擃䀝葉=3, 憭批郎=4

蝷箔<EFBFBD>4: 餈䂿賒<E482BF><EFBFBD><E3979B><EFBFBD>

<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:

<EFBFBD>𠰴僑樴<EFBFBD><EFBFBD>18撗<EFBFBD><EFBFBD>?0撗<30><E69297>銝箸𧊋<E7AEB8>𣂼僑<F0A382BC><E58391><EFBFBD>撟氬<E6929F><E6B0AC><EFBFBD><EFBFBD>僑銝厩<E98A9D>

AI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:

# 撟湧<E6929F><E6B9A7><EFBFBD><EFBFBD>
df['age_group'] = pd.cut(df['age'], 
                         bins=[0, 18, 60, 120],
                         labels=['<27><EFBFBD>撟?, '<EFBFBD>𣂼僑', '<EFBFBD><EFBFBD>'],
                         right=False)

<EFBFBD><EFBFBD>霂湔<EFBFBD>:

  • <EFBFBD><EFBFBD>蝏剖<EFBFBD><EFBFBD>讐氖<EFBFBD><EFBFBD><EFBFBD>銝箸<EFBFBD>摨誩<EFBFBD>蝐餃<EFBFBD><EFBFBD>?
  • bins摰帋<EFBFBD><EFBFBD>粹𡢿颲寧<EFBFBD>嚗𨧣abels摰帋<EFBFBD><EFBFBD><EFBFBD>
  • right=False銵函內撌阡𡡒<E998A1><EFBFBD><E596B3>粹𡢿[0,18)

<EFBFBD><EFBFBD>蝏𤘪<EFBFBD>:

  • <EFBFBD><EFBFBD>age_group<EFBFBD>?
  • 0-17撗<37><E69297><EFBFBD><EFBFBD>撟?
  • 18-59撗<39><E69297><EFBFBD>𣂼僑
  • 60+撗<><E69297><EFBFBD><EFBFBD>

<EFBFBD><EFBFBD>摨𠉛鍂:

  • <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>撟湧<EFBFBD>畾萄<EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗?
  • <EFBFBD>⊥䲮璉<EFBFBD>撉䕘<EFBFBD>撟湧<EFBFBD><EFBFBD>s<EFBFBD><EFBFBD>嚗?
  • <EFBFBD>讛膩<EFBFBD><EFBFBD>霈∴<EFBFBD><EFBFBD>箇瑪<EFBFBD><EFBFBD>銵剁<EFBFBD>

<EFBFBD>蘂 Level 3: <20>餃郎霈∠<E99C88>銝𡒊<E98A9D><F0A1928A><EFBFBD>3銝迎<E98A9D>

蝷箔<EFBFBD>5: BMI霈∠<E99C88>銝𤾸<E98A9D>蝐?

<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:

<EFBFBD>寞旿頨恍<EFBFBD>(cm)<29><EFBFBD><E494B6>?kg)霈∠<E99C88>BMI嚗<49><EFBFBD><E5838E>扇BMI<4D>?8銝箄<E98A9D><E7AE84>?

AI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:

# 霈∠<E99C88>BMI
df['BMI'] = df['weight'] / (df['height'] / 100) ** 2

# <20><EFBFBD><E4BAA5><EFBFBD>
df['obesity'] = df['BMI'].apply(lambda x: '<27><EFBFBD>' if x >= 28 else '甇<>虜')

<EFBFBD><EFBFBD>霂湔<EFBFBD>:

  • BMI<EFBFBD><EFBFBD>: 雿㯄<E99BBF>(kg) / 頨恍<E9A0A8>(m)簡
  • 銝剖𤙴<EFBFBD><EFBFBD><EFBFBD>: BMI<4D>?8銝箄<E98A9D><E7AE84><EFBFBD>
  • <EFBFBD><EFBFBD><EFBFBD>𤥁恣蝞梹<EFBFBD><EFBFBD>𣳇<EFBFBD>敺芰㴓

<EFBFBD><EFBFBD>蝏𤘪<EFBFBD>:

  • <EFBFBD><EFBFBD>BMI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
  • <EFBFBD><EFBFBD>obesity<EFBFBD><EFBFBD><EFBFBD><EFBFBD>掩嚗?

銝游<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:

  • <EFBFBD>讐𠣕: BMI < 18.5
  • <EFBFBD>虜: 18.5 <20>?BMI < 24
  • <EFBFBD><EFBFBD>: 24 <20>?BMI < 28
  • <EFBFBD><EFBFBD>: BMI <20>?28

<EFBFBD><EFBFBD><EFBFBD>箸艶:

  • 雿栞”<EFBFBD>妖(BSA): <20>𣇉<EFBFBD><F0A38789><EFBFBD><EFBFBD>霈∠<E99C88>
  • eGFR: <20><EFBFBD><E69B89><EFBFBD>隡?
  • APACHE霂<EFBFBD><EFBFBD>: <20><EFBFBD><E6A2A2><EFBFBD><EFBFBD>隡?

蝷箔<EFBFBD>6: <20><EFBFBD>霈∠<E99C88>

<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:

<EFBFBD>寞旿<EFBFBD>仿堺<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𠯫<EFBFBD>蠘恣蝞𦯀<EFBFBD><EFBFBD><EFBFBD>?

AI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:

# 霈∠<E99C88>雿誯堺憭拇㺭
df['admission_date'] = pd.to_datetime(df['admission_date'])
df['discharge_date'] = pd.to_datetime(df['discharge_date'])
df['length_of_stay'] = (df['discharge_date'] - df['admission_date']).dt.days

<EFBFBD><EFBFBD>霂湔<EFBFBD>:

  • <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𡑒蓮銝榛atetime蝐餃<EFBFBD>
  • <EFBFBD><EFBFBD><EFBFBD><EFBFBD>敺堒<EFBFBD>Timedelta撖寡情
  • .dt.days<79>𣂼<EFBFBD>憭拇㺭

<EFBFBD><EFBFBD>蝏𤘪<EFBFBD>:

  • <EFBFBD><EFBFBD>length_of_stay<EFBFBD>?
  • <EFBFBD><EFBFBD>潛掩<EFBFBD><EFBFBD><EFBFBD><EFBFBD>銝箏予

<EFBFBD><EFBFBD>摨𠉛鍂:

  • 雿誯堺憭拇㺭<EFBFBD><EFBFBD><EFBFBD>
  • 撟喳<EFBFBD>雿誯堺<EFBFBD>?ALOS)蝏蠘恣
  • 雿誯堺韐寧鍂<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?

<EFBFBD><EFBFBD><EFBFBD>箸艶:

  • 霈∠<EFBFBD>撟湧<EFBFBD>: (隞𠰴予 - <20><EFBFBD><E7AE87><EFBFBD>) / 365.25
  • <EFBFBD>讛挪<EFBFBD>園𡢿: (<28>讛挪<E8AE9B><EFBFBD> - <20>箇瑪<E7AE87><EFBFBD>)
  • <EFBFBD><EFBFBD><EFBFBD>園𡢿: (甇颱滿/<2F>急活<E680A5>讛挪 - 蝖株<E89D96><E6A0AA><EFBFBD>)

蝷箔<EFBFBD>7: <20>∩辣蝑偦<E89D91><EFBFBD><E39A81><EFBFBD><E4BAA6><EFBFBD><EFBFBD>嚗?

<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:

蝑偦<EFBFBD>匧枂撟湧<EFBFBD><EFBFBD>?8撗<38><E69297><EFBFBD><EFBFBD><EFBFBD>凋蛹蝟硋倏<E7A18B><E5808F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝟砽竉7.0<EFBFBD><EFBFBD><EFBFBD><EFBFBD>?

AI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:

# 憭𡁏辺隞嗥<E99A9E><E597A5>?
df_selected = df[
    (df['age'] >= 18) & 
    (df['diagnosis'] == '蝟硋倏<E7A18B>?) & 
    (df['glucose'] >= 7.0)
]

<EFBFBD><EFBFBD>霂湔<EFBFBD>:

  • <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>∩辣<EFBFBD>?餈墧𦻖
  • 瘥譍葵<EFBFBD>∩辣<EFBFBD><EFBFBD><EFBFBD>䭾𡠺<EFBFBD>?
  • 餈𥪜<EFBFBD>皛∟雲<EFBFBD><EFBFBD><EFBFBD>㗇辺隞嗥<EFBFBD>銵?

<EFBFBD><EFBFBD>蝏𤘪<EFBFBD>:

  • <EFBFBD>蚤ataFrame嚗<EFBFBD><EFBFBD><EFBFBD>怎泵<EFBFBD><EFBFBD>辺隞嗥<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
  • <EFBFBD>篼f銝滚<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>箸艶:

# 蝥喳<E89DA5><E596B3><EFBFBD><EFBFBD>
included = df[
    (df['age'] >= 18) & 
    (df['age'] <= 75) &
    (df['diagnosis'].isin(['<27><EFBFBD><E7AE84>?, '<EFBFBD><EFBFBD><EFBFBD>?])) &
    (df['stage'].isin(['III', 'IV']))
]

# <20>㘾膄<E398BE><E88684><EFBFBD>
excluded = df[
    (df['pregnancy'] == 1) |  # 憒𠰴<E68692>
    (df['severe_liver'] == 1) |  # 銝仿<E98A9D><E4BBBF><EFBFBD>
    (df['other_cancer'] == 1)  # <20><EFBFBD><E597A1>輻𠈔
]

<EFBFBD>𥈡 Level 4: 擃条漣<E69DA1>唳旿瘝餌<E7989D>嚗?銝迎<E98A9D>

蝷箔<EFBFBD>8: 蝞<><E89D9E>閧撩憭勗<E686AD>銵?

<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:

<EFBFBD>其葉雿齿㺭憛怨BMI<EFBFBD><EFBFBD>蝻箏仃<EFBFBD>?

AI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:

# <20>其葉雿齿㺭憛怨蝻箏仃<E7AE8F>?
bmi_median = df['BMI'].median()
df['BMI'] = df['BMI'].fillna(bmi_median)

<EFBFBD><EFBFBD>霂湔<EFBFBD>:

  • median()霈∠<E99C88>銝凋<E98A9D><E5878B><EFBFBD><E5A086>㘾膄NaN嚗?
  • fillna()憛怨蝻箏仃<E7AE8F>?
  • 銝凋<EFBFBD><EFBFBD><EFBFBD>蝳餌黎<EFBFBD>澆蔣<EFBFBD><EFBFBD>

<EFBFBD><EFBFBD>蝏𤘪<EFBFBD>:

  • BMI<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><EFBFBD> 靽萘<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>銝滚<EFBFBD><EFBFBD>?
<EFBFBD><EFBFBD>憛怠<EFBFBD> <EFBFBD>園𡢿摨誩<EFBFBD> 靽萘<EFBFBD>頞见飵 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>

瘜冽<EFBFBD>鈭钅★:

  • <EFBFBD>𩤃<EFBFBD><><E99A9E><EFBFBD>鍂鈭𡒊撩憭梁<E686AD><5%
  • <EFBFBD>𩤃<EFBFBD> <20><>挽蝻箏仃銝撤CAR嚗<52><E59A97><EFBFBD><EFBFBD><E588B8>箇撩憭梧<E686AD>
  • <EFBFBD>𩤃<EFBFBD> <20><EFBFBD>雿𦒘摯<F0A69298><E691AF><EFBFBD>撌?

蝷箔<EFBFBD>9: 憭𡁻<E686AD><F0A181BB>嚗㇈ICE嚗争<E59A97> <20><EFBFBD><E8A9A8>箸艶

<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:

雿輻鍂憭𡁻<EFBFBD><EFBFBD>瘜訫笆BMI<EFBFBD><EFBFBD>僑樴<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𣂼<EFBFBD><EFBFBD><EFBFBD>撩憭勗<EFBFBD><EFBFBD><EFBFBD>銵?

AI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:

from sklearn.experimental import enable_iterative_imputer
from sklearn.impute import IterativeImputer

# <20>㗇𥋘<E39787><F0A58B98><EFBFBD><E996AC>銵亦<E98AB5><E4BAA6><EFBFBD><EFBFBD>
cols = ['BMI', 'age', 'creatinine']

# 憭𡁻<E686AD><F0A181BB>
imputer = IterativeImputer(max_iter=10, random_state=0)
df[cols] = imputer.fit_transform(df[cols])

<EFBFBD><EFBFBD>霂湔<EFBFBD>:

  • MICE (Multivariate Imputation by Chained Equations)
  • <EFBFBD>拍鍂<EFBFBD><EFBFBD><EFBFBD>渡㮾<EFBFBD><EFBFBD><EFBFBD>瘚讠撩憭勗<EFBFBD>?
  • max_iter=10: <20><>憭朞翮隞?0甈?
  • random_state=0: <20><EFBFBD><E887AC><EFBFBD><E59581>?

蝞埈<EFBFBD><EFBFBD><EFBFBD>:

  1. <EFBFBD><EFBFBD>憛怨<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
  2. 敺芰㴓餈凋誨嚗?
    • 撖寞<EFBFBD>銝芣<EFBFBD>蝻箏仃<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𧶏<EFBFBD><EFBFBD><EFBFBD>隞硋<EFBFBD><EFBFBD><EFBFBD>瘚?
    • <EFBFBD>湔鰵憛怨<EFBFBD>?
  3. <EFBFBD><EFBFBD><EFBFBD>𤾸<EFBFBD>甇?

<EFBFBD><EFBFBD><EFBFBD>箸艶:

  • <EFBFBD>?蝻箏仃<E7AE8F>?%-30%
  • <EFBFBD>?蝻箏仃<E7AE8F><EFBFBD>銝撤AR嚗<52><E59A97><EFBFBD>箇撩憭梧<E686AD>
  • <EFBFBD>?<3F><EFBFBD><E3979B><EFBFBD><E6B8B8>函㮾<E587BD><EFBFBD>?
  • <EFBFBD>?<3F><><EFBFBD><E996AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鸌敺?

隡睃飵:

  • <EFBFBD>拍鍂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝟?
  • 靽脲<EFBFBD><EFBFBD>唳旿<EFBFBD><EFBFBD><EFBFBD>
  • <EFBFBD><EFBFBD><EFBFBD>誩榆
  • 蝏蠘恣摮虫<EFBFBD><EFBFBD><EFBFBD><EFBFBD>?

**vs 蝞<><E89D9E>銵?*:

<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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?
  • <EFBFBD><EFBFBD><EFBFBD>園𡢿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?

蝷箔<EFBFBD>10: <20><EFBFBD><E7AE84><EFBFBD>

<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:

<EFBFBD><EFBFBD><EFBFBD><EFBFBD>D<EFBFBD><EFBFBD>嚗䔶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>交𠯫<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>霈啣<EFBFBD>

AI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:

# <20><EFBFBD><E7AE84><EFBFBD>嚗𡁜<E59A97><F0A1819C>㗇𠯫<E39787><F0A0AFAB><EFBFBD>摨𧶏<E691A8><F0A7B68F>齿<EFBFBD>ID<49><EFBFBD>靽萘<E99DBD><E89098><EFBFBD><EFBFBD>𦒘<EFBFBD><F0A69298>?
df['check_date'] = pd.to_datetime(df['check_date'])
df = df.sort_values('check_date').drop_duplicates(subset=['patient_id'], keep='last')

<EFBFBD><EFBFBD>霂湔<EFBFBD>:

  • sort_values()<29><><EFBFBD><EFBFBD><EFBFBD><E4BAA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
  • drop_duplicates()<29>纺atient_id<69><EFBFBD>
  • keep='last'靽萘<E99DBD><E89098><EFBFBD><EFBFBD>𦒘<EFBFBD><F0A69298><EFBFBD><E288B4><EFBFBD><E596AE>唳𠯫<E594B3><F0A0AFAB><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>箸艶1: 靽萘<E99DBD><E89098>唳旿<E594B3><E697BF>摰峕㟲<E5B395><E39FB2>扇敶?

# 霈∠<E99C88>瘥讛<E798A5><E8AE9B><EFBFBD><EFBFBD><EFBFBD>游漲
df['completeness'] = df.notna().sum(axis=1)
df = df.sort_values('completeness', ascending=False).drop_duplicates(subset=['patient_id'], keep='first')

*<EFBFBD>箸艶2: 憭𡁜<E686AD>畾萇<E795BE><E89087><EFBFBD><EFBFBD>?

# <20><EFBFBD><E39787><EFBFBD>D+撠梯<E692A0><E6A2AF><EFBFBD><E4BAA4><EFBFBD>
df = df.drop_duplicates(subset=['patient_id', 'visit_date'], keep='first')

<EFBFBD>箸艶3: 憭齿<E686AD><E9BDBF><EFBFBD><E9A489><EFBFBD>

# 隡睃<E99AA1>蝥改<E89DA5><E694B9><EFBFBD><E4BAA4><EFBFBD><EFBFBD>?> 摰峕㟲摨行<E691A8>擃?
df = df.sort_values(['check_date', 'completeness'], ascending=[False, False]).drop_duplicates(subset=['patient_id'], keep='first')

<EFBFBD><EFBFBD><EFBFBD>箸艶:

  • <EFBFBD>𣳇膄<EFBFBD><EFBFBD>敶訫<EFBFBD><EFBFBD><EFBFBD><EFBFBD>靘?
  • 憭𡁏活撠梯<EFBFBD><EFBFBD><EFBFBD>甈?<3F>急活
  • <EFBFBD>撉𣬚<EFBFBD><EFBFBD>𨅯縧<EFBFBD><EFBFBD><EFBFBD>𡝗<EFBFBD><EFBFBD><EFBFBD>

<EFBFBD><EFBFBD> 雿輻鍂霂湔<E99C82>

System Prompt<70><74><EFBFBD><EFBFBD><EFBFBD>

system_prompt = f"""
雿䭾糓<EFBFBD><EFBFBD>蝘𤑳<EFBFBD><EFBFBD>唳旿皜<EFBFBD><EFBFBD>銝枏振嚗諹<EFBFBD><EFBFBD><EFBFBD><EFBFBD>辥andas隞<EFBFBD><EFBFBD><EFBFBD><EFBFBD>瘣埈㟲<EFBFBD><EFBFBD><EFBFBD><EFBFBD>?

## 敶枏<E695B6><E69E8F>唳旿<E594B3><E697BF><EFBFBD>?
- <20><><EFBFBD>? {session.fileName}
- 銵峕㺭: {session.totalRows}
- <20>埈㺭: {session.totalCols}
- <20><EFBFBD>: {', '.join(session.columns)}

## 摰匧<E691B0><EFBFBD><E996AB><EFBFBD><EFBFBD><EFBFBD>
1. <20><EFBFBD><E88ABE><EFBFBD>df<64><EFBFBD>
2. 蝳<>迫撖澆<E69296>os<6F><73>ys蝑匧暒<E58CA7>拇芋<E68B87>?
3. 蝳<>迫雿輻鍂eval<61><6C>xec蝑匧暒<E58CA7>拙遆<E68B99>?
4. 敹<>◆餈𥡝<E9A488><EFBFBD>虜憭<E8999C><E686AD>
5. 餈𥪜<E9A488><F0A5AA9C><EFBFBD>: {{"code": "...", "explanation": "..."}}

## Few-shot蝷箔<E89DB7>

### 蝷箔<E89DB7>1: 蝏煺<E89D8F>蝻箏仃<E7AE8F><EFBFBD>霈?
<EFBFBD><EFBFBD>: <20>𦠜<EFBFBD><F0A6A09C>劐誨銵函撩憭梁<E686AD>蝚血噡蝏煺<E89D8F><E785BA>踵揢銝箸<E98A9D><E7AEB8><EFBFBD><EFBFBD>?
<EFBFBD><EFBFBD>:
```python
df = df.replace(['-', '銝滩祕', 'NA', 'N/A'], np.nan)

蝷箔<EFBFBD>2: <20><EFBFBD><EFBFBD><EFBFBD><E79A9C>

<EFBFBD><EFBFBD>: <20>𡃏<EFBFBD><F0A1838F>𣂼<EFBFBD><F0A382BC>𣬚<EFBFBD><F0A3AC9A>墧㺭摮㛖泵<E39B96>瑕縧<E79195><EFBFBD>頧砌蛹<E7A08C><EFBFBD>潛掩<E6BD9B>? 隞<><E99A9E>:

df['creatinine'] = df['creatinine'].astype(str).str.replace('>', '').str.replace('<', '')
df['creatinine'] = pd.to_numeric(df['creatinine'], errors='coerce')

[... <20><EFBFBD>8銝芰內靘?...]

<EFBFBD><EFBFBD>敶枏<EFBFBD>霂瑟<EFBFBD>

{user_message}

霂瑞<EFBFBD><EFBFBD>𣂷誨<EFBFBD><EFBFBD>僎閫<EFBFBD><EFBFBD><EFBFBD>? """


---

## <20>㴓 韐券<E99F90><E588B8><EFBFBD><EFBFBD>

瘥譍葵蝷箔<E89DB7><EFBFBD>◆皛∟雲嚗?
- <20>?隞<><E99A9E><EFBFBD>舐凒<E88890><EFBFBD>銵?
- <20>?<3F>㕑祕蝏<E7A595><EFBFBD>?
- <20>?<3F><EFBFBD>蝖桃<E89D96>颲枏<E9A2B2>颲枏枂
- <20>?蝚血<E89D9A>Python<6F><6E>雿喳<E99BBF>頝?
- <20>?<3F><><EFBFBD><EFBFBD><EFBFBD><E8999C><EFBFBD>
- <20>?<3F>匧龫<E58CA7>堒㦤<E5A092>航秩<E888AA>?

---

## <20><> 瘚贝<E7989A><E8B49D><EFBFBD>霈曇恣

<0A><EFBFBD>餈?0銝芰內靘页<E99D98>Day 3瘚贝<E7989A>摨𥪜<E691A8><F0A5AA9C><EFBFBD>

**<2A><EFBFBD>瘚贝<E7989A>嚗?銝迎<E98A9D>**:
1. 蝷箔<E89DB7>1瘚贝<E7989A><EFBFBD>撩憭勗<E686AD><EFBFBD><EFBFBD>嚗?
2. 蝷箔<E89DB7>2瘚贝<E7989A><EFBFBD><EFBFBD><EFBFBD>瘣梹<E798A3>
3. 蝷箔<E89DB7>3瘚贝<E7989A><EFBFBD><E59A97><EFBFBD>蝻𣇉<E89DBB>嚗?
4. 蝷箔<E89DB7>4瘚贝<E7989A><EFBFBD>僑樴<E58391><E6A8B4><EFBFBD><E89D8F>

**銝剔漣瘚贝<E7989A>嚗?銝迎<E98A9D>**:
5. 蝷箔<E89DB7>5瘚贝<E7989A>嚗㇂MI霈∠<E99C88>嚗?
6. 蝷箔<E89DB7>6瘚贝<E7989A><EFBFBD><E59A97><EFBFBD><EFBCB7><EFBFBD>
7. 蝷箔<E89DB7>7瘚贝<E7989A><EFBFBD>辺隞嗥<E99A9E><E597A5><EFBFBD>

**擃条漣瘚贝<E7989A>嚗?銝迎<E98A9D>**:
8. 蝷箔<E89DB7>8瘚贝<E7989A><EFBFBD>葉雿齿㺭憛怨嚗?
9. 蝷箔<E89DB7>9瘚贝<E7989A><EFBFBD><E59A97><EFBFBD>齿<EFBFBD>銵伐<E98AB5>潃?
10. 蝷箔<E89DB7>10瘚贝<E7989A><EFBFBD><EFBFBD>賢縧<E8B3A2><EFBFBD>

**<2A><EFBFBD>瘚贝<E7989A>嚗?銝迎<E98A9D>**:
11. 瘛瑕<E7989B><E79195>箸艶瘚贝<E7989A><EFBFBD><E59A97><EFBFBD><E79A9C><EFBFBD>滩恣蝞梹<E89D9E>
12. <20>躰秤<E8BAB0>箸艶瘚贝<E7989A><EFBFBD><E59A97>銝滚<E98A9D><E6BB9A><EFBFBD>
13. 颲寧<E9A2B2><E5AFA7>箸艶瘚贝<E7989A><EFBFBD><E59A97><EFBFBD>函撩憭梧<E686AD>
14. <20><EFBFBD>靽格迤瘚贝<E7989A><EFBFBD><EFBFBD><E8AAA8>𥁒<EFBFBD><EFBFBD><E59D94><EFBFBD>嚗?
15. 蝡臬<E89DA1>蝡舀<E89DA1>霂𤏪<E99C82>銝𠹺<E98A9D><F0A0B9BA>𡒶I憭<49><E686AD><EFBFBD><EFBFBD><E59E8D>𣈯<EFBFBD><EFBFBD><E99C82>

---

## <20><> 蝏湔擪霈啣<E99C88>

| <20><EFBFBD> | <20><>𧋦 | 靽格㺿<E6A0BC><E3BABF>捆 | 靽格㺿鈭?|
|------|------|---------|--------|
| 2025-12-06 | V1.0 | <20><EFBFBD><E598A5>𥕦遣嚗?0銝芣瓲敹<E793B2>內靘?| AI Assistant |

---

**<2A><><EFBFBD><EFBFBD>?*: <20>?撌脩&霈? 
**銝衤<E98A9D>甇?*: 撘<>憪𠵿ay 3撘<33><E69298>𡢅<EFBFBD>AICodeService摰䂿緵嚗?