问题域/PD-495

本地模型管理

Local Model Management

本地 LLM 模型的下载、注册、选择和推理后端管理

子问题

1.多源下载(HuggingFace/ModelScope)

2.量化格式自动选择

3.推理后端适配

4.模型清单管理

5.同步后端到异步框架的桥接(线程池 + asyncio.Queue)

6.本地模型输出标签解析(<think>/<tool_call>)

7.MLX 目录结构完整性校验

8.Provider 系统与本地模型清单的双向同步

各项目的解法1 solutions

Signals

横向对比

维度CoPaw
下载源HuggingFace + ModelScope 双源,延迟导入按需安装
量化选择自动优先 Q4_K_M,fallback 到第一个 GGUF 文件
后端架构LocalBackend ABC 策略模式,llamacpp + MLX 双后端
模型注册manifest.json + Pydantic 校验,支持按后端过滤
资源管理threading.Lock 单例工厂,切换时自动 unload 释放 VRAM
框架集成ChatModelBase 适配器 + tag_parser 标签解析桥接 agentscope
API 暴露CLI(Click) + FastAPI 异步下载任务 + 取消支持

最佳实践

1.manifest.json 注册表追踪已下载模型元数据

2.单例工厂 + threading.Lock 保证同时只加载一个模型避免 OOM

3.延迟导入可选依赖(huggingface_hub/modelscope/llama_cpp/mlx_lm)通过 pip extras 按需安装

4.后端输出统一为 OpenAI 兼容格式实现上层无感切换