config.py 2.4 KB

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