專案

一般

配置概況

動作

Feature #171

進行中
SC SC

ICD-10 擷取 Pipeline 優化:強化 LLM 傷情擷取、階層式結果顯示、後端重啟腳本

Feature #171: ICD-10 擷取 Pipeline 優化:強化 LLM 傷情擷取、階層式結果顯示、後端重啟腳本

是由 Sashiba Chou約 2 個月 前加入.

狀態:
New
優先權:
Normal
被分派者:
開始日期:
2026-02-17
完成日期:
2026-02-17 (逾期 45 天)
完成比例:

100%

預估工時:
3:00 小時

概述

h1. 問題描述

ICD-10 Pipeline 的 Stage 1(LLM 傷情擷取)品質不穩定,常將整篇病歷當成單一傷情回傳,導致多個傷情只顯示一組 ICD-10 結果

ICD-10 結果以扁平表格顯示,所有候選碼視覺權重相同,不易辨識最佳推薦碼

後端修改程式碼後缺乏標準化重啟流程,zombie process 導致舊程式碼持續運作

h1. 修改內容

h2. Backend — RAG Pipeline 改善 (rag_service.py, main.py)

  • 重寫 extract_injuries() prompt,明確要求 LLM 逐一拆解傷情、涵蓋病歷所有段落、限制每項 15 字以內
  • 新增 fallback 機制:LLM 擷取失敗時,改用前端結構化傷情資料(softTissueInjuries + skeletalInjuries)作為保底
  • Pipeline 各階段收集 debug 資訊(step1_injuries、step2_vector_search、step3_ranking)回傳前端
  • API response 新增 debug 欄位(ICD10Response.debug: dict | None)

h2. Frontend — 階層式 ICD-10 顯示 (ReviewTab.tsx)

  • 每個傷情的最高排名候選碼(rank 1)保持正常大小,背景以淡藍色區分(亮/暗模式適配)
  • 其餘候選碼縮排 + 縮小字體 + 淡化色調,仍保留複製按鈕
  • Chrome Console 輸出 Stage 1/2/3 debug 資訊,方便開發除錯

h2. DevOps — 後端重啟腳本 (restart_backend.sh, restart_backend.bat)

  • 6 步驟標準流程:殺 uvicorn → 殺 zombie python.exe(WMIC 按 conda 環境名比對)→ 釋放 port 8000 → 清 pycache → 等待 port 釋放 → 啟動 + health
    check
  • 解決 uvicorn --reload 產生的子 process 殘留問題

h1. 影響檔案

  • backend/rag_service.py — prompt 重寫、fallback 機制、debug 收集
  • backend/main.py — TraumaNote.fallback_injuries 欄位、ICD10Response.debug 欄位
  • frontend/src/components/ReviewTab.tsx — 階層式顯示、背景色區分、debug console 輸出
  • restart_backend.sh / restart_backend.bat — 新增重啟腳本

沒有任何資料可供顯示

動作

匯出至 PDF Atom