config.py 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. # Copyright (c) Opendatalab. All rights reserved.
  2. """
  3. 配置文件 v2 - 从配置文件读取配置(不使用环境变量)
  4. """
  5. from .config_loader import get_config_loader
  6. from .utils.device_env import detect_device_kind
  7. # 加载配置文件
  8. _config = get_config_loader()
  9. # 设备环境:nvi(NVIDIA GPU)/ npu(华为昇腾 NPU)/ cpu,用于按环境选择 VLLM_PLUGINS、PADDLE_OCR_DEVICE 等
  10. # 优先从配置文件读取,如果未配置则自动检测
  11. _device_kind_from_config = _config.get_str("device_kind", "")
  12. DEVICE_KIND = _device_kind_from_config if _device_kind_from_config else detect_device_kind()
  13. # 默认模型配置
  14. DEFAULT_MODEL_NAME = _config.get_str("default_model_name", "OpenDataLab/MinerU2.5-2509-1.2B")
  15. DEFAULT_GPU_MEMORY_UTILIZATION = _config.get_float("default_gpu_memory_utilization", 0.9)
  16. DEFAULT_DPI = _config.get_int("default_dpi", 200)
  17. DEFAULT_MAX_PAGES = _config.get_int("default_max_pages", 10)
  18. # v2 特有配置(外部API相关)
  19. DEFAULT_API_URL = _config.get_str("api_url", "http://127.0.0.1:5282")
  20. DEFAULT_BACKEND = _config.get_str("backend", "vlm-vllm-async-engine")
  21. DEFAULT_PARSE_METHOD = _config.get_str("parse_method", "auto")
  22. DEFAULT_START_PAGE_ID = _config.get_int("start_page_id", 0)
  23. DEFAULT_END_PAGE_ID = _config.get_int("end_page_id", 99999)
  24. DEFAULT_LANGUAGE = _config.get_str("language", "ch")
  25. DEFAULT_RESPONSE_FORMAT_ZIP = _config.get_bool("response_format_zip", True)
  26. DEFAULT_RETURN_MIDDLE_JSON = _config.get_bool("return_middle_json", False)
  27. DEFAULT_RETURN_MODEL_OUTPUT = _config.get_bool("return_model_output", True)
  28. DEFAULT_RETURN_MD = _config.get_bool("return_md", True)
  29. DEFAULT_RETURN_IMAGES = _config.get_bool("return_images", False)
  30. DEFAULT_RETURN_CONTENT_LIST = _config.get_bool("return_content_list", False)
  31. DEFAULT_SERVER_URL = _config.get_str("server_url", "string")
  32. # API 服务启动配置
  33. API_HOST = _config.get_str("api_host", "0.0.0.0")
  34. API_PORT = _config.get_int("api_port", 4214)
  35. # MinerU 服务管理配置
  36. MINERU_API_HOST = _config.get_str("mineru_api_host", "127.0.0.1")
  37. MINERU_API_PORT = _config.get_int("mineru_api_port", 5282)
  38. MINERU_IDLE_TIMEOUT = _config.get_int("mineru_idle_timeout", 60)
  39. MINERU_CHECK_INTERVAL = _config.get_int("mineru_check_interval", 60)
  40. MINERU_START_TIMEOUT = _config.get_int("mineru_start_timeout", 120)
  41. # PaddleOCR 配置
  42. PADDLEOCR_CMD = _config.get_str("paddleocr_cmd", "paddleocr")
  43. PADDLE_OCR_DEVICE = _config.get_str("paddle_ocr_device", "")
  44. PADDLE_OCR_DEVICES = _config.get_str("paddle_ocr_devices", "")
  45. PADDLE_DOC_PARSER_CMD = _config.get_str("paddle_doc_parser_cmd", "paddleocr")
  46. # 日志配置(可选)
  47. LOG_DIR = _config.get_str("log_dir", "./logs")
  48. LOG_LEVEL = _config.get_str("log_level", "INFO")
  49. LOG_TO_FILE = _config.get_bool("log_to_file", True)
  50. LOG_TO_CONSOLE = _config.get_bool("log_to_console", True)