模型虚拟空间#

备注

v1.5.0 新增。

背景#

一些模型在发布后不再维护,其依赖的库版本也保持在较旧的状态。例如,GOT-OCR2 模型仍依赖于 transformers 4.37.2。如果将该库升级为新版本,模型将无法正常运行;而许多新模型又需要最新版本的 transformers。这种版本差异会导致依赖冲突。

解决方案#

为了解决这个问题,我们引入了 模型虚拟空间 功能。

通过以下命令安装该功能所需的依赖

# all
pip install 'xinference[all]'
# or virtualenv
pip install 'xinference[virtualenv]'

通过设置环境变量 XINFERENCE_ENABLE_VIRTUAL_ENV=1 启用该功能。

使用示例:

# For command line
XINFERENCE_ENABLE_VIRTUAL_ENV=1 xinference-local ...

# For Docker
docker run -e XINFERENCE_ENABLE_VIRTUAL_ENV=1 ...

警告

该功能需要联网,或使用自建的 PyPI 镜像服务。

Xinference 默认会继承当前 pip 的配置。

备注

模型虚拟空间功能默认处于关闭状态(即 XINFERENCE_ENABLE_VIRTUAL_ENV 的默认值为 0)。

该功能将在 Xinference v2.0.0 起默认开启。

启用该功能后,Xinference 会在加载模型时自动为其创建专属的虚拟环境,并在其中安装对应依赖。这可避免模型之间的依赖冲突,确保各模型在相互隔离的环境中独立运行。

支持的模型#

当前,该功能支持以下模型:

存储位置#

默认情况下,模型的虚拟环境存储在以下路径