基于 docker 的 Xinference 全流程部署指南

Xorbits Inference (Xinference) 是一个开源平台,用于简化各种 AI 模型的运行和集成。借助 Xinference,您可以使用任何开源 LLM、嵌入模型和多模态模型在云端或本地环境中运行推理,并创建强大的 AI 应用。

一、下载代码

请在控制台下面执行下面的命令

shell 复制代码
# 克隆仓库到本地的 inference 目录,使用 --depth 1 参数仅获取最新的一次提交,减少下载量, 命令如下:
git clone --depth 1 https://github.com/xorbitsai/inference.git inference
# 注:如果您的网络环境不好,可以使用国内镜像仓库,命令如下
# git clone --depth 1 https://gitee.com/mirrors/Xinference.git inference
# 获取 release 版本 v1.4.0 的代码,命令如下:
cd inference
git fetch --tags
git checkout v1.4.0
# 查看当前版本,命令如下:
#git describe --tags
cd ..

二、安装环境

1、安装 docker 和 docker-compose

略(注:安装完成后请执行 docker -vdocker-compose -v 验证是否安装成功)

三、制作镜像

请在控制台下面执行下面的命令

shell 复制代码
cd inference
# 请确保使用 Dockerfile 制作镜像时在 Xinference 项目的根目录下。
docker build --progress=plain -t xinference:v1.4.0 -f xinference/deploy/docker/Dockerfile .
cd ..

注:制作镜像完成后,您可以在控制台下面执行 docker images 命令查看是否有 xinference:v1.4.0 镜像,如果有则说明制作成功。

四、创建容器

./docker-compose.yaml 文件(编码格式:UTF-8)里面添加如下配置参数,假设已经创建该文件且添加内容如下:

yml 复制代码
version: '3.8'

services:
  xinference:
    image: xinference:v1.4.0
    ports:
      - "9997:9997"
    volumes:
      - ./data/.xinference:/root/.xinference
      - ./data/.cache/huggingface:/root/.cache/huggingface
      - ./data/.cache/modelscope:/root/.cache/modelscope
    environment:
      - XINFERENCE_MODEL_SRC=modelscope
    command: xinference-local --host 0.0.0.0 --port 9997
    deploy:
      resources:
        reservations:
          devices:
            - capabilities: [gpu]
              driver: nvidia
              count: all

请在控制台下面执行下面的命令

shell 复制代码
docker-compose -f "./docker-compose.yaml" up -d

注:创建容器完成后,您可以在控制台下面执行 docker ps 命令查看是否有 xinference 容器,如果有则说明制作成功。

五、访问WEB服务

请在浏览器中访问 http://localhost:9997/ ,即可访问WEB服务。

六、结语

本文介绍了如何使用 Docker 部署 Xinference 大模型服务的完整流程。首先通过 Git 获取 Xinference 的代码,然后安装 Docker 环境并构建自定义镜像。接着通过 docker-compose 配置文件设置服务端口、数据卷挂载和环境变量,并启动容器。最后,用户可以通过浏览器访问部署好的 Web 服务。指南还提供了国内镜像加速、GPU 资源分配等优化建议,以及每个步骤的验证方法,帮助用户快速完成 Xinference 的容器化部署。

相关推荐
小章UPUP7 小时前
Kubernetes (K8s) 与 Podman 的比较
容器·kubernetes·podman
忆~遂愿7 小时前
CANN metadef 核心解析:计算图原型定义、算子元数据抽象与异构系统互操作机制
docker·容器
说实话起个名字真难啊8 小时前
用docker来安装openclaw
docker·ai·容器
恬静的小魔龙9 小时前
【群晖Nas】群晖Nas中实现SVN Server功能、Docker/ContainerManager等
docker·svn·容器
Zfox_9 小时前
CANN Catlass 算子模板库深度解析:高性能 GEMM 融合计算、Cube Unit Tiling 机制与编程范式实践
docker·云原生·容器·eureka
春日见10 小时前
如何创建一个PR
运维·开发语言·windows·git·docker·容器
DARLING Zero two♡10 小时前
告别 Docker 命令行!Portainer+cpolar 让容器管理从局域网走向公网
运维·docker·容器
liu****11 小时前
2.深入浅出理解虚拟化与容器化(含Docker实操全解析)
运维·c++·docker·容器·虚拟化技术
“负拾捌”12 小时前
python + uniapp 结合腾讯云实现实时语音识别功能(WebSocket)
python·websocket·微信小程序·uni-app·大模型·腾讯云·语音识别
logocode_li12 小时前
OCI/CRI 双标准下:从 dockerd 到 containerd 的 K8s 运行时迭代史
docker·云原生·容器·k8s