GenStudio LLM API 部分模型价格调整公告GenStudio LLM API 部分模型价格调整公告 ,新价格 2025 年 11 月 1 日生效调价公告
Skip to content
回到全部文章

Xinference 安装与使用指南

Xinference 提供了一套统一的推理服务平台,能够在同一环境中灵活集成多种后端引擎(如 vLLM、SGLang、Transformers 等),支持多类型模型(大语言模型、Embedding、Reranker、Diffusion 等)的加载与调用,提供 OpenAI 兼容接口和可视化管理界面。

本教程将描述如何在 AIStudio 「开发机」和「推理服务」中使用 Xinference。

Xinference 官方镜像

部分用户参照 Xinference 官方文档的指导,尝试使用官方 Docker 镜像 在 AIStudio 中启动 4090 机型的开发机,发现存在异常报错。错误信息如下:

shell
2024-11-01 18:39:10  /usr/local/lib/python3.10/dist-packages/torch/cuda/__init__.py:128: UserWarning: CUDA initialization: Unexpected error from cudaGetDeviceCount(). Did you run some cuda functions before calling NumCudaDevices() that might have already set an error? Error 804: forward compatibility was attempted on non supported HW (Triggered internally at ../c10/cuda/CUDAFunctions.cpp:108.)

以上错误可能是因为 Nvidia Driver 兼容性的问题,可尝试更换为 Driver 版本更高的算力规格(需要自行检查,平台不支持用户自行安装 Nvidia Driver)。为了更好的平台兼容性,建议不要使用 Xinference 官方镜像。

在开发机中使用 Xinference

本节描述如何在开发机中安装 Xinference v1.12.0(不含 SGLang 引擎)。

注意

由于 vllm 和 sglang 在包依赖上无法调和,Xinference 从 v1.8.1 版本开始,从 all 里移除了 sglang。

Step 0 获取系统级 CUDA 环境

由于 Llama.cpp 引擎 依赖系统级 CUDA 环境,因此需要事先安装 CUDA 环境。

不建议在开发机中手动安装 CUDA Toolkit。您可以前往镜像中心,使用基于 Dockerfile 的构建方式,填入我们提供的 CUDA 12.4 Dockerfile,手动构建一个符合条件的系统级 CUDA 镜像。

注意

Step 1 安装 Xinference

等待自定义镜像构建完毕后,使用自定义镜像创建开发机。请注意选择上一步自定义镜像所在可用区的算力规格。

登录开发机后,用以下命令安装 Xinference。该方式将安装推理所有支持的模型需要的依赖:

shell
export PIP_INDEX_URL=https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
python3 -m pip install "xinference[all]"

安装完毕后,新开 tmux 会话,设置必要的环境变量,然后启动 Xinference 服务:

shell
# 指定从 ModelScope 中下载模型:
export XINFERENCE_MODEL_SRC=modelscope
# 指定 HuggingFace 镜像网站
export HF_ENDPOINT=https://hf-mirror.com
# 默认情况下,Xinference 会使用 <HOME>/.xinference 作为主目录来存储一些必要的信息,比如日志文件和模型文件,其中 <HOME> 就是当前用户的主目录。
# 由于 AIStudio 开发机本地 rootfs 容量为 100GiB,如果已购买共享文件存储,或开发机已挂载大容量云盘或,建议修改主目录
# 比如修改主目录指向共享文件存储中的特定目录(请提前创建目录)
export XINFERENCE_HOME=/mnt/public/xinference
# 又或者修改主目录指向云盘的特定目录(请提前创建目录)
export XINFERENCE_HOME=/datadisk/xinference

启动 Xinference

shell
xinference-local --host 0.0.0.0 --port 9997

恭喜!您已经在本地拉起了 Xinference 服务。一旦 Xinference 服务运行起来,即可加载模型,提供 API 服务。

根据 Xinference 官方提供的模型列表,尝试启动一个 JINA AI 向量嵌入模型 jina-embeddings-v2-base-zh

CTRL+B + D 分离 tmux 会话,执行以下命令:

shell
xinference launch --model-name jina-embeddings-v2-base-zh --model-type embedding

输出如下:

shell
root@is-dacvkncuymixgg4v-devmachine-0:~# xinference launch --model-name jina-embeddings-v2-base-zh --model-type embedding
Launch model name: jina-embeddings-v2-base-zh with kwargs: {}
Model uid: jina-embeddings-v2-base-zh

Step 2 后续步骤

  • 您可以遵循 Xinference 官方文档的使用方式来使用 Xinference API,包括使用网页、cURL 命令、命令行或者是 Xinference 的 Python SDK。
  • 利用开发机提供的 SSH 服务和 SSH 端口转发功能,将开发机内网端口映射到本地电脑,从而实现从公网直接访问开发机内部服务。 配置方法详见 SSH 端口转发:公网访问开发机内 HTTP 服务
  • 您可以将开发机保存为镜像,以便后续使用该镜像创建开发机、推理服务等。请访问 AIStudio 平台镜像中心,在上方页面点击构建镜像按钮,选择基于运行中的开发机构建镜像。

使用 Xinference 部署推理服务

以使用 vLLM 引擎为例。

Step 0 构建自定义 Xinference 镜像

您可以前往镜像中心,使用基于 Dockerfile 的构建方式,填入我们提供的 Xinference(vllm) Dockerfile,手动构建一个使用 vLLM 引擎的 Xinference 镜像

等待自定义镜像构建完成,即可在 AIStudio 平台使用该镜像创建开发机、推理服务等。使用 Dockerfile 构建的镜像体积将更加小,启动速度更快。

Step 1 准备模型文件

由于 Xinference 提供 WebUI,可以方便地从网页端操作并直接下载模型,因此您可以跳过此步骤。

如果您希望自主下载模型,可将需要部署的模型文件上传至共享高性能存储。建议通过 AICoder 上传或下载模型。

Step 1 创建推理服务

使用 AIStudio 预置推理镜像部署服务,主要遵循以下步骤:

  1. 选择合适的算力资源实例规格。如需帮助,详见推理服务标准部署流程

  2. 选择之前构建的 Xinference 自定义镜像。

  3. 配置启动命令,启动命令的核心作用是启动 Xinference(必须保持在前台运行)。

    shell
    export XINFERENCE_MODEL_SRC=modelscope
    export HF_ENDPOINT=https://hf-mirror.com
    # 指定下载模型的位置为高性能存储(强烈推荐)
    # 否则会下载模型至推理服务容器系统盘,推理服务系统盘不支持持久化存储,重启服务后模型需要重新下载。
    # export XINFERENCE_HOME=/mnt/empty_example
    
    echo "正在启动 Xinference 服务..."
    # 将xinference-local作为主进程运行,而不是放在后台
    xinference-local --host 0.0.0.0 --port 9997

    注意

    Xinference 服务 --port 参数指定了 9997 端口,相应地,推理服务内网配置区域应作如下配置:

    • 监听端口 9997
    • 调用端口 80
  4. 配置存储时,请务必挂载共享高性能存储,确保启动命令可访问 XINFERENCE_HOME 指定的目录。如需帮助,详见推理服务标准部署流程

  5. 填写外网配置内网配置。内网监听端口号必须于 --port 参数值一致。如需帮助,详见推理服务标准部署流程

确认创建后,平台根据配置拉取镜像、启动实例并运行启动命令。部署成功后,即可通过配置的网络地址访问服务。

Step 2 访问 Xinference Web UI

  1. 进入推理服务详情页,找到外网访问地址,打开弹窗。

  2. 在弹窗中点击直接访问地址旁的跳转链接,可直接访问 Xinference Web UI 页面。

  3. 在 Xinference Web UI 页面左侧找到启动模型,搜索 qwen2.5-instruct,部署一个 0.5B 模型。

    • 模型引擎:vLLM
    • 模型格式:Pytorch
    • 模型大小:0.5

    具体操作可参考 Xinference

找不到想要的答案?
让 AI 助手为您解答