fix(mineru): honor dataset language in figure prompts (#18188)

### Summary

Closes #17885.

MinerU figure enrichment now passes the resolved dataset language to
`vision_llm_figure_describe_prompt`. Missing and empty language values
use `English`, matching the other figure-description paths.

This change is limited to MinerU. PR #18021 already fixed the Mistral
path.
This commit is contained in:
Elias Shieh
2026-08-13 15:39:39 +08:00
committed by GitHub
parent ffff5100e8
commit 9784814a9b
3 changed files with 101 additions and 4 deletions

View File

@@ -125,3 +125,30 @@ def test_mistral_ocr_forwards_language_to_parser(monkeypatch):
assert tables == []
assert returned_parser is parser
assert parser.parse_pdf.call_args.kwargs["lang"] == "Japanese"
@pytest.mark.p1
def test_mineru_forwards_dataset_language_to_parser(monkeypatch):
parser = Mock()
parser.parse_pdf.return_value = (["section"], [])
ocr_model = Mock(mdl=parser)
monkeypatch.setattr(naive, "resolve_model_config", Mock(return_value={"llm_name": "mineru"}))
monkeypatch.setattr(naive, "LLMBundle", Mock(return_value=ocr_model))
sections, tables, returned_parser = naive.by_mineru(
"document.pdf",
binary=b"pdf",
from_page=2,
to_page=5,
lang="Japanese",
callback=lambda *_args, **_kwargs: None,
parse_method="raw",
mineru_llm_name="mineru",
tenant_id="tenant-id",
vision_model=object(),
)
assert sections == ["section"]
assert tables == []
assert returned_parser is parser
assert parser.parse_pdf.call_args.kwargs["lang"] == "Japanese"