Changes: - Replace PP-Structure 7-slider parameter UI with simple 3-option layout model selector - Add layout model mapping: chinese (PP-DocLayout-S), default (PubLayNet), cdla - Add LayoutModelSelector component and zh-TW translations - Fix "default" model behavior with sentinel value for PubLayNet - Add gap filling service for OCR track coverage improvement - Add PP-Structure debug utilities - Archive completed/incomplete proposals: - add-ocr-track-gap-filling (complete) - fix-ocr-track-table-rendering (incomplete) - simplify-ppstructure-model-selection (22/25 tasks) - Add new layout model tests, archive old PP-Structure param tests - Update OpenSpec ocr-processing spec with layout model requirements 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
4.3 KiB
4.3 KiB
Tool_OCR Commit History Review (2025-11-12 ~ 2025-11-26)
本報告依 git log 全量 97 筆提交整理,涵蓋開發脈絡、里程碑、測試/品質信號與後續風險。提交類型統計:35 feat / 37 fix / 9 chore / 5 test / 4 docs / 2 refactor,主要集中於 2025-11-18、11-19、11-20 與 11-24 的密集開發。
時間軸與里程碑
- 前期基礎與前端現代化 (11-12~11-13):
21bc2f9,57cf912將前端改為 Tailwind v4 +專業 UI,0f81d5e單容器 Docker 化、d7e6473WSL Ubuntu 開發環境。 - GPU 加速與相容性 (11-14):
6452797提案 +7536f43實作 GPU OCR,d80d60f/3694411/80c091b修正 Paddle 3.x API 與安裝來源,b048f2d暫停圖表識別以避免 API 缺口。 - 外部 Auth V2 與管理後台 (11-14~11-16):
28e419f~fd98018完成外部認證 V2、資料表前綴與架構移除 V1;8f94191新增後台/稽核/Token 檢查;90fca50/6bb5b76讓 18/18 測試全過。 - V2 UI 串接與初版版面保持 PDF (11-16~11-18):前端/後端全面切換 V2 API (
ad5c8be之後),fa1abcd版面保持 PDF + 多次座標/重疊修正 (d33f605~0edc56b),強化 logging (d99d37d)。 - 雙軌處理架構 (11-18~11-20):
2d50c12+82139c8導入 OCR/Direct 雙軌與 UnifiedDocument;a3a6fbe/ab89a40/ecdce96完成轉換、JSON 匯出與 PDF 支援;1d0b638後端 API,c2288ba前端支援,c50a5e9單元/整合測試;0974fc3E2E 修復,ef335cfOffice 直抽,b997f93/9f449e8GPU 記憶體管理與文件化,2ecd022E2E 測試完成。 - PDF 版面復原計畫 (11-20 提案,11-24 實作高峰):
cf894b0提案後,0aff468Phase1 圖片/表格修復,3fc32bcPhase2 風格保存,77fe4cc/ad879d4/75c194f等完成 Alignment、List、Span 級渲染與多欄位;一系列93bd9f5~3358d97針對位置/重疊/缺圖修正,4325d02專案清理並封存提案。 - PP-Structure V3 調校 (11-25):
a659e7a改善複雜圖示結構保留,2312b4c前端可調pp_structure參數 + 測試,0999898多頁 PDF 座標校正。 - 記憶體管理與混合抽圖 (11-25~11-26):
ba8ddf2提案,1afdb82混合圖片抽取+記憶體管理落地,b997f93系列 GPU 釋放/可選 torch,引入 ModelManager、ServicePool、MemoryGuard(詳見openspec/changes/archive/2025-11-26-enhance-memory-management);a227311封存提案但僅完成 75/80 任務(剩餘文件化);隨後多筆修復(79cffe6~fa9b542)處理 PDF 回歸與文字渲染,6e050eb為最新 OCR 軌表格格式/裁剪修正。
品質與測試信號
- 11-16 完成 V2 API 測試 18/18 (
6bb5b76),建立初步信心。 - 雙軌導入時新增單元/整合/E2E 測試 (
0fcb249,c50a5e9,2ecd022),但後續 PDF 版面復原大量依賴人工驗證,Phase 4 測試仍未完成(見下)。 - 記憶體管理變更伴隨 57+18+10 測試檔(任務 8.1 完成),但文件化缺失可能影響交接與調參。
- 11-24 大量 PDF 修復連續提交顯示迭代式修 bug,建議增加回歸測試覆蓋(特別是表格/多欄/列表與跨軌道 PDF)。
未盡事項與風險
- 記憶體管理文件化缺口:
openspec/changes/archive/2025-11-26-enhance-memory-management/tasks.md未完成 Section 8.2(架構說明、調校指南、疑難排解、監控、遷移指南),可能影響部署可操作性。 - PDF 版面復原驗證不足:同一變更的 Phase 4 測試/效能/文件與多類文件驗證均未勾選,現階段品質依賴手測。
- 近期修正集中於 PDF 與表格(
79cffe6,5c561f4,19bd5fd,fa9b542,6e050eb),顯示 Direct/OCR 軌 PDF 路徑仍脆弱;缺乏自動化回歸易再度回歸。 - 主分支狀態:
main比origin/main超前 1 提交(6e050eb),請推送前確認 CI/測試。
建議後續行動
- 完成記憶體管理文件(架構、調參、故障排除、Prometheus 監控指南)並加入 sanity check。
- 為 PDF 版面復原建立最小回歸集:多欄文檔、含圖表/表格的 Direct/OCR 軌、列表與 span 混排。
- 圍繞
processing_track分流與 UnifiedDocument/PDF 生成的邊界條件增加測試(LOGO/未知元素、跨頁表格、OCR/Direct 混合圖片)。 - 推送前跑現有單元/整合/E2E 測試,補上近兩週新增場景的腳本以降低回歸風險。