From edc80888cc2ec4b522a051833b45afd2d8ea0d42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=B1=E6=BD=AE?= Date: Tue, 26 Aug 2025 00:58:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=A0=E5=85=A5=E7=9A=84=20llm=5Fmodel=5Fid?= =?UTF-8?q?=20=E5=92=8C=20vision=5Fmodel=5Fid=20=E4=BC=9A=E8=A2=AB?= =?UTF-8?q?=E6=AD=A3=E7=A1=AE=E4=BC=A0=E9=80=92=E5=88=B0=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/mineru/maxkb_adapter/adapter.py | 4 +-- .../impl/mineru/maxkb_adapter/config_maxkb.py | 28 ++++++++++++++++--- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/apps/common/handle/impl/mineru/maxkb_adapter/adapter.py b/apps/common/handle/impl/mineru/maxkb_adapter/adapter.py index 7b97af18..f9e0cb17 100644 --- a/apps/common/handle/impl/mineru/maxkb_adapter/adapter.py +++ b/apps/common/handle/impl/mineru/maxkb_adapter/adapter.py @@ -173,9 +173,9 @@ class MinerUExtractor(BaseMinerUExtractor): # 创建MaxKB适配器 adapter = MaxKBAdapter() - # 导入并创建MaxKB特定的配置 + # 导入并创建MaxKB特定的配置,传递模型ID from .config_maxkb import MaxKBMinerUConfig - config = MaxKBMinerUConfig() + config = MaxKBMinerUConfig(llm_model_id=llm_model_id, vision_model_id=vision_model_id) # 调用基类初始化,传递适配器、配置和MaxKB特有参数 super().__init__( diff --git a/apps/common/handle/impl/mineru/maxkb_adapter/config_maxkb.py b/apps/common/handle/impl/mineru/maxkb_adapter/config_maxkb.py index ef53cf3b..eb8a8213 100644 --- a/apps/common/handle/impl/mineru/maxkb_adapter/config_maxkb.py +++ b/apps/common/handle/impl/mineru/maxkb_adapter/config_maxkb.py @@ -12,15 +12,35 @@ from ..config_base import MinerUConfig class MaxKBMinerUConfig(MinerUConfig): """MaxKB-specific configuration for MinerU""" + def __init__(self, llm_model_id: str = None, vision_model_id: str = None): + """Initialize with MaxKB-specific settings""" + # Store the model IDs before calling parent init + self._init_llm_model_id = llm_model_id + self._init_vision_model_id = vision_model_id + # Call parent initialization + super().__init__() + def __post_init__(self): """Initialize with MaxKB-specific settings""" # Call parent initialization first super().__post_init__() - # MaxKB specific settings from environment or defaults - # 如果环境变量中设置了具体的UUID,使用UUID;否则使用默认值或自动检测 - self.llm_model_id = os.getenv('MAXKB_LLM_MODEL_ID', self._get_default_llm_model_id()) - self.vision_model_id = os.getenv('MAXKB_VISION_MODEL_ID', self._get_default_vision_model_id()) + # MaxKB specific settings - use provided IDs first, then environment, then defaults + # 优先使用传入的模型ID,其次是环境变量,最后是默认值 + if hasattr(self, '_init_llm_model_id') and self._init_llm_model_id: + self.llm_model_id = self._init_llm_model_id + else: + self.llm_model_id = os.getenv('MAXKB_LLM_MODEL_ID', self._get_default_llm_model_id()) + + if hasattr(self, '_init_vision_model_id') and self._init_vision_model_id: + self.vision_model_id = self._init_vision_model_id + else: + self.vision_model_id = os.getenv('MAXKB_VISION_MODEL_ID', self._get_default_vision_model_id()) + + # Log the configured model IDs + from .logger import get_module_logger + logger = get_module_logger('config_maxkb') + logger.info(f"MaxKBMinerUConfig initialized with LLM={self.llm_model_id}, Vision={self.vision_model_id}") # MaxKB API settings self.maxkb_api_key = os.getenv('MAXKB_API_KEY')