fix: remove padding from GLMOCREndToEndService and clean up ruff violations

- Drop image padding in GLMOCREndToEndService.recognize(); use raw image directly
- Fix F821 undefined `padded` references replaced with `image`
- Fix F601 duplicate dict key "≠" in converter
- Fix F841 unused `image_cls_ids` variable in layout_postprocess
- Fix E702 semicolon-separated statements in layout_postprocess
- Fix UP031 percent-format replaced with f-string in logging_config
- Auto-fix 44 additional ruff violations (import order, UP035/UP045/UP006, F401, F541)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
liuyuanchuang
2026-03-10 19:52:22 +08:00
parent f8173f7c0a
commit 30d2c2f45b
16 changed files with 162 additions and 140 deletions

View File

@@ -46,7 +46,9 @@ def test_encode_region_returns_decodable_base64_jpeg():
image[:, :] = [0, 128, 255]
encoded = service._encode_region(image)
decoded = cv2.imdecode(np.frombuffer(base64.b64decode(encoded), dtype=np.uint8), cv2.IMREAD_COLOR)
decoded = cv2.imdecode(
np.frombuffer(base64.b64decode(encoded), dtype=np.uint8), cv2.IMREAD_COLOR
)
assert decoded.shape[:2] == image.shape[:2]
@@ -71,7 +73,9 @@ def test_call_vllm_builds_messages_and_returns_content():
assert captured["model"] == "glm-ocr"
assert captured["max_tokens"] == 1024
assert captured["messages"][0]["content"][0]["type"] == "image_url"
assert captured["messages"][0]["content"][0]["image_url"]["url"].startswith("data:image/jpeg;base64,")
assert captured["messages"][0]["content"][0]["image_url"]["url"].startswith(
"data:image/jpeg;base64,"
)
assert captured["messages"][0]["content"][1] == {"type": "text", "text": "Formula Recognition:"}
@@ -98,9 +102,19 @@ def test_recognize_falls_back_to_full_image_when_no_layout_regions(monkeypatch):
def test_recognize_skips_figures_keeps_order_and_postprocesses(monkeypatch):
regions = [
LayoutRegion(type="text", native_label="doc_title", bbox=[0, 0, 10, 10], confidence=0.9, score=0.9),
LayoutRegion(type="figure", native_label="image", bbox=[10, 10, 20, 20], confidence=0.8, score=0.8),
LayoutRegion(type="formula", native_label="display_formula", bbox=[20, 20, 40, 40], confidence=0.95, score=0.95),
LayoutRegion(
type="text", native_label="doc_title", bbox=[0, 0, 10, 10], confidence=0.9, score=0.9
),
LayoutRegion(
type="figure", native_label="image", bbox=[10, 10, 20, 20], confidence=0.8, score=0.8
),
LayoutRegion(
type="formula",
native_label="display_formula",
bbox=[20, 20, 40, 40],
confidence=0.95,
score=0.95,
),
]
service = _build_service(regions=regions)
image = np.zeros((40, 40, 3), dtype=np.uint8)