Fix: resolve model_id to model before judge parse method (#17493)

This commit is contained in:
Lynn
2026-07-29 09:34:52 +08:00
committed by GitHub
parent 75836cfc10
commit 8d1eff6ea2
11 changed files with 91 additions and 8 deletions

View File

@@ -21,6 +21,7 @@ from io import BytesIO
from deepdoc.parser.utils import get_text
from rag.app import naive
from rag.app.naive import by_plaintext, PARSERS
from api.db.joint_services.tenant_model_service import get_composite_model_name_by_id
from common.constants import MAXIMUM_PAGE_NUMBER
from common.parser_config_utils import normalize_layout_recognizer
from rag.nlp import bullets_category, is_english, remove_contents_table, hierarchical_merge, make_colon_as_title, naive_merge, random_choices, tokenize_table, tokenize_chunks, attach_media_context
@@ -91,7 +92,14 @@ def chunk(filename, binary=None, from_page=0, to_page=MAXIMUM_PAGE_NUMBER, lang=
callback(0.8, "Finish parsing.")
elif re.search(r"\.pdf$", filename, re.IGNORECASE):
layout_recognizer, parser_model_name = normalize_layout_recognizer(parser_config.get("layout_recognize", "DeepDOC"))
layout_recognize_raw = parser_config.get("layout_recognize", "DeepDOC")
tenant_id = kwargs.get("tenant_id")
if tenant_id and isinstance(layout_recognize_raw, str):
try:
layout_recognize_raw = get_composite_model_name_by_id(layout_recognize_raw)
except LookupError:
pass
layout_recognizer, parser_model_name = normalize_layout_recognizer(layout_recognize_raw)
if isinstance(layout_recognizer, bool):
layout_recognizer = "DeepDOC" if layout_recognizer else "Plain Text"