Bladeren bron

feat(debug): 打印 MinerU 实际加载模型路径(det/rec+lang/device) 辅助生产排查

新增 MinerUOCRRecognizer 初始化后打印实际加载的 det/rec weights 路径、
lang、device,用于生产环境核对模型加载是否正确。
带 try/except 不影响主流程。

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
hankal 1 maand geleden
bovenliggende
commit
9eaffbdf77
2 gewijzigde bestanden met toevoegingen van 16 en 0 verwijderingen
  1. 1 0
      .gitignore
  2. 15 0
      ocr_tools/universal_doc_parser/models/adapters/mineru_adapter.py

+ 1 - 0
.gitignore

@@ -6,3 +6,4 @@ CLAUDE.md
 .mcp.json
 .claude/
 .vscode/
+.lavish/

+ 15 - 0
ocr_tools/universal_doc_parser/models/adapters/mineru_adapter.py

@@ -685,6 +685,21 @@ class MinerUOCRRecognizer(BaseOCRRecognizer):
             )
             # 2026-06-04 device strategy: 加载后再次确保 device 一致(兜底)
             apply_device_strategy(self, self.config, "mineru")
+
+            # 2026-07-08 打印实际加载的模型文件路径(det/rec + 实际 lang/device)
+            try:
+                _actual_lang = getattr(self.ocr_model, 'lang', '<unknown>')
+                _det_path = getattr(getattr(self.ocr_model, 'text_detector', None), 'weights_path', '<unknown>')
+                _rec_path = getattr(getattr(self.ocr_model, 'text_recognizer', None), 'weights_path', '<unknown>')
+                _det_device = getattr(getattr(self.ocr_model, 'text_detector', None), 'device', '<unknown>')
+                _rec_device = getattr(getattr(self.ocr_model, 'text_recognizer', None), 'device', '<unknown>')
+                print(f"🏷️  [OCR Models] actual_lang={_actual_lang} (configured={self.config.get('language', 'ch')}), "
+                      f"device_intent={device_intent}, det_device={_det_device}, rec_device={_rec_device}")
+                print(f"🏷️  [OCR Models] det_weights={_det_path}")
+                print(f"🏷️  [OCR Models] rec_weights={_rec_path}")
+            except Exception as _e:
+                print(f"⚠️  [OCR Models] failed to log model paths: {_e}")
+
             print(f"✅ OCR recognizer initialized: lang={self.config.get('language', 'ch')}, "
                   f"det_thresh={det_threshold}, unclip_ratio={unclip_ratio}, merge_boxes={enable_merge}, "
                   f"device={device_intent}")