依赖管理
如果需要安装额外的依赖,可以按照以 下的方式做配置。这些配置文件会在部署服务启动时自动执行,无需手动干预。
工作空间与模型部署的依赖管理
在进行模型部署之前,通常建议先在「工作空间」中完成模型的开发和测试。这样做有以下几个好处:
- 可以在工作空间中交互式地安装和测试依赖
- 使用
pip install --user
或创建 conda 环境的方式准备好所需的依赖环境 - 环境准备好后,可以直接将工作空间的目录(
/openbayes/home
)绑定到模型部署中使用 - 避免在模型部署阶段重复安装依赖,提高部署效率
最佳实践流程
-
在工作空间中:
- 使用
pip install --user xxx
安装 Python 包到/openbayes/home/.pylibs
- 或创建 conda 环境到
/openbayes/home/your_env_name
- 完成模型开发和测试
- 使用
-
在模型部署时:
- 将工作空间的
/openbayes/home
目录绑定到模型部署 - 如果使用自定义 conda 环境,需要在
start.sh
中激活该环境 - 模型部署将自动继承工作空间中准备好的依赖环境
- 将工作空间的
这种方式特别适合需要复杂依赖环境的模型部署场景。
依赖管理方式概览
1. PyPI 依赖管理
通过 requirements.txt 安装
在模型部署文件夹的根目录下如果存在名为 requirements.txt
的文件,OpenBayes 模型部署在启动前会自动执行 pip install -r requirements.txt
命令,安装其中声明的 PyPI 库。
文件格式遵循标准的 Python requirements.txt 格式,示例:
requirements.txt
jieba
tqdm==4.11.2
使用 pip --user 安装持久化依赖
- 使用
pip install --user xxx
命令安装的依赖会保存在/openbayes/home/.pylibs
目录下 - 这些依赖在容器重启后依然可用
- 注意: 在新创建的 conda 环境中不要使用
--user
参数,避免依赖冲突
2. Conda 依赖管理
通过 conda-packages.txt 安装
OpenBayes 模型部署支持 Conda 包的安装。在部署服务启动之前会自动在部署目录的根目录下查找名为 conda-packages.txt
的文件,其文件格式遵循:
[channel::]package[=version[=buildid]]
示例:
conda-packages.txt
conda-forge::rdkit
conda-forge::pygpu