问题域/PD-244

懒加载依赖管理

Lazy Dependency Loading

通过懒加载机制延迟导入可选依赖,减少安装体积并提供友好的错误提示

子问题

1.可选依赖检测

2.友好错误提示

3.安装体积优化

4.pip 包名与 Python 模块名不一致的映射

5.Linter 规则与懒加载模式的冲突处理

6.重量级模型的实例级缓存与首次加载延迟

各项目的解法1 solutions

Signals

横向对比

维度zvec
懒加载机制require_module 单函数封装 importlib.import_module,方法级延迟导入
错误提示自动推断 pip 包名 + mitigation 参数覆盖,支持子模块 top_level 提取
依赖声明pyproject.toml 仅 numpy 一个核心依赖,可选后端完全不声明
缓存策略实例级 self._model/_client 缓存 + BM25 embed 方法 lru_cache(maxsize=10)
后端数量5 个后端(OpenAI/DashScope/Jina/SentenceTransformers/DashText),10+ Extension 类

最佳实践

1.require_module 统一处理懒加载,失败时给出 pip install 命令

2.将 require_module 导出为公共 API 供用户复用

3.Ruff/Linter 为懒加载目录豁免 PLC0415 规则

4.API 客户端实例级缓存避免重复创建连接