当前位置: 首页 > news >正文

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

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

一、下载代码

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

# 克隆仓库到本地的 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 验证是否安装成功)

三、制作镜像

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

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)里面添加如下配置参数,假设已经创建该文件且添加内容如下:

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

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


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 的容器化部署。

http://www.dtcms.com/a/111921.html

相关文章:

  • shell语言替换脚本、填补整个命令行
  • 知识考量码【蓝桥】
  • leetcode-代码随想录-链表-翻转链表
  • 框架PasteForm实际开发案例,换个口味显示数据,支持echarts,只需要标记几个特性即可在管理端显示(2)
  • Python办公自动化(2)对wordpdf的操作
  • 青少年编程与数学 02-015 大学数学知识点 04课题、微积分
  • 如何判断多个点组成的3维面不是平的,如果不是平的,如何拆分成多个平面
  • 二叉树 递归
  • Linux操作系统 4.Linux实用操作
  • 《新疆建筑安全员C证》考试信息
  • ttkbootstrap 实现日期选择器, 开始和结束时间
  • OrangePi5Plus开发板不能正确识别USB 3.0 设备 (绿联HUB和Camera)
  • Flutter性能优化细节
  • 分子生成的深层次层次变分自编码器 - DrugHIVE 测评
  • Jetpack Compose CompositionLocal 深入解析:局部参数透传实践
  • Linux信号处理解析:从入门到实战
  • 星途(3)
  • C/C++的条件编译
  • 【Tauri2】014——简单使用listen和emit
  • DuckDB系列教程:如何分析Parquet文件
  • Linux中的调试器gdb与冯·诺伊曼体系
  • 使用MCP方案与Claude实现虚幻引擎自动化游戏开发
  • [2008][note]腔内级联拉曼发射的,二极管泵浦多频调Q laser——
  • 【LLM】使用MySQL MCP Server让大模型轻松操作本地数据库
  • JSON-lib考古现场:在2025年打开赛博古董店的奇妙冒险
  • 如何分析 jstat 统计来定位 GC?
  • Navicat17详细安装教程(附最新版本安装包和补丁)2025最详细图文教程安装手册
  • 运算放大器(五)电压比较器
  • WSL使用经验
  • 从代码学习深度学习 - GRU PyTorch版