问题域/PD-346

模型管理与自动下载

Model Management & Auto-Download

AI模型的生命周期管理,包括自动下载、缓存、多源切换和单例复用

子问题

1.模型自动下载与缓存

2.多模型源切换

3.模型实例单例管理

4.模型版本控制

5.参数化模型实例缓存(同类型不同参数需独立实例)

6.多硬件后端自动检测与适配

各项目的解法1 solutions

Signals

横向对比

维度MinerU
单例粒度三层单例:原子模型级 + 管线级 + VLM级,参数化元组键
模型源切换环境变量 MINERU_MODEL_SOURCE 切换 HuggingFace/ModelScope/本地三源
下载策略snapshot_download + allow_patterns 按需下载,避免拉取整仓库
模型注册ModelPath 静态类集中声明 10+ 模型的仓库ID和相对路径
设备适配get_device 链式检测 8 种硬件后端(CUDA/MPS/NPU/GCU/MUSA/MLU/SDAA/CPU)
参数化复用OCR 按 5 元组键缓存,Table 按语言键缓存,其他按名称键缓存

最佳实践

1.使用Singleton模式避免重复加载大模型

2.用元组键实现参数化单例,不同参数组合产生独立缓存

3.snapshot_download 配合 allow_patterns 按需下载子目录

4.环境变量驱动模型源切换,零代码改动适配不同网络环境