|
|
@@ -0,0 +1,63 @@
|
|
|
+import json
|
|
|
+import os
|
|
|
+
|
|
|
+import requests
|
|
|
+from modelscope import snapshot_download
|
|
|
+
|
|
|
+from dotenv import load_dotenv; load_dotenv()
|
|
|
+print(f"os.environ['CUDA_VISIBLE_DEVICES']: {os.environ['CUDA_VISIBLE_DEVICES']}")
|
|
|
+print(f"os.environ['HF_ENDPOINT']: {os.environ['HF_ENDPOINT']}")
|
|
|
+
|
|
|
+def download_json(url):
|
|
|
+ # 下载JSON文件
|
|
|
+ response = requests.get(url)
|
|
|
+ response.raise_for_status() # 检查请求是否成功
|
|
|
+ return response.json()
|
|
|
+
|
|
|
+
|
|
|
+def download_and_modify_json(url, local_filename, modifications):
|
|
|
+ if os.path.exists(local_filename):
|
|
|
+ data = json.load(open(local_filename))
|
|
|
+ config_version = data.get('config_version', '0.0.0')
|
|
|
+ if config_version < '1.0.0':
|
|
|
+ data = download_json(url)
|
|
|
+ else:
|
|
|
+ data = download_json(url)
|
|
|
+
|
|
|
+ # 修改内容
|
|
|
+ for key, value in modifications.items():
|
|
|
+ data[key] = value
|
|
|
+
|
|
|
+ # 保存修改后的内容
|
|
|
+ with open(local_filename, 'w', encoding='utf-8') as f:
|
|
|
+ json.dump(data, f, ensure_ascii=False, indent=4)
|
|
|
+
|
|
|
+
|
|
|
+if __name__ == '__main__':
|
|
|
+ mineru_patterns = [
|
|
|
+ "models/Layout/LayoutLMv3/*",
|
|
|
+ "models/Layout/YOLO/*",
|
|
|
+ "models/MFD/YOLO/*",
|
|
|
+ "models/MFR/unimernet_small/*",
|
|
|
+ "models/TabRec/TableMaster/*",
|
|
|
+ "models/TabRec/StructEqTable/*",
|
|
|
+ ]
|
|
|
+ model_dir = snapshot_download('opendatalab/PDF-Extract-Kit-1.0', allow_file_pattern=mineru_patterns)
|
|
|
+ layoutreader_model_dir = snapshot_download('ppaanngggg/layoutreader')
|
|
|
+ model_dir = model_dir + '/models'
|
|
|
+ print(f'model_dir is: {model_dir}')
|
|
|
+ print(f'layoutreader_model_dir is: {layoutreader_model_dir}')
|
|
|
+
|
|
|
+ json_url = 'https://gitee.com/myhloli/MinerU/raw/master/magic-pdf.template.json'
|
|
|
+ config_file_name = 'magic-pdf.json'
|
|
|
+ # home_dir = os.path.expanduser('~')
|
|
|
+ home_dir = os.path.dirname(os.path.abspath(__file__))
|
|
|
+ config_file = os.path.join(home_dir, config_file_name)
|
|
|
+
|
|
|
+ json_mods = {
|
|
|
+ 'models-dir': model_dir,
|
|
|
+ 'layoutreader-model-dir': layoutreader_model_dir,
|
|
|
+ }
|
|
|
+
|
|
|
+ download_and_modify_json(json_url, config_file, json_mods)
|
|
|
+ print(f'The configuration file has been configured successfully, the path is: {config_file}')
|