基于 Docker快速在Ubuntu 系统上部署 Xinference

在这里插入图片描述

以下是针对 Ubuntu 系统Xinference 基于 Docker 的部署文档,步骤更详细且适配 Ubuntu 环境:


Xinference 基于 Docker 的 Ubuntu 部署指南


1. 安装 Docker

1.1 更新系统包

sudo apt-get update
sudo apt-get upgrade -y

1.2 安装 Docker

# 安装依赖
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common -y

# 添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 添加 Docker APT 仓库
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 安装 Docker Engine
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io -y

1.3 验证 Docker 安装

sudo docker --version  # 应显示 Docker 版本

sudo docker run hello-world  # 运行测试容器

1.4(可选)添加用户到 Docker 组(避免使用 sudo

sudo usermod -aG docker $USER
newgrp docker  # 重启终端或重新登录使生效

2. 拉取 Xinference 镜像

docker pull xinference/xinference:latest  # 拉取最新版
# 或指定版本,如 docker pull xinference/xinference:v0.3.0

3. 部署 Xinference 容器

3.1 创建目录结构(推荐)

mkdir -p ~/xinference/{models,logs}

3.2 运行基础容器(CPU 版)

docker run -d \
  --name xinference \
  -p 8080:8080 \          # 映射 API 端口(宿主机 8080 → 容器 8080)
  -v ~/xinference/models:/app/models \  # 挂载模型目录
  -v ~/xinference/logs:/app/logs \      # 挂载日志目录
  -e API_HOST=0.0.0.0 \                # 允许外部访问
  xinference/xinference:latest

3.3 查看容器日志(调试用)

docker logs -f xinference

4. GPU 加速部署(需 NVIDIA GPU)

4.1 安装 NVIDIA 驱动和容器工具

安装 NVIDIA 驱动(根据显卡型号选择版本)
# 自动安装推荐驱动
sudo ubuntu-drivers autoinstall

# 或手动安装特定驱动(例如 NVIDIA 525)
sudo apt install nvidia-driver-525 -y
sudo reboot  # 重启后验证驱动
nvidia-smi   # 应显示 GPU 信息
安装 NVIDIA Container Toolkit
distribution=$(. /etc/os-release; echo $ID$VERSION_ID)  # 获取 Ubuntu 版本(如 ubuntu22.04)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
sudo apt-get install -y nvidia-docker2
sudo systemctl restart docker

4.2 运行 GPU 容器

docker run -d \
  --name xinference-gpu \
  --gpus all \               # 启用所有 GPU
  -p 8080:8080 \
  -v ~/xinference/models:/app/models \
  -v ~/xinference/logs:/app/logs \
  xinference/xinference:latest

5. 验证部署

5.1 检查容器状态

docker ps -a | grep xinference
# 确保容器状态为 "Up"

5.2 测试 API 接口

curl http://localhost:8080/ping
# 应返回:{"status":"ok"}

5.3 调用模型(示例)

# 安装 requests 库
pip install requests

# Python 调用 API
import requests

response = requests.post(
    "http://localhost:8080/api/v1/models",
    json={"model_name": "llama-30b"}
)
print(response.json())

6. 高级配置

6.1 自定义配置文件

~/xinference/config.toml 中配置:

[api]
host = "0.0.0.0"
port = 8080
log_level = "debug"  # 调试时使用

[model]
storage_path = "/app/models"

运行时挂载配置文件:

docker run -d \
  --name xinference \
  -v ~/xinference/config.toml:/app/config.toml \
  ... 其他参数 ...

7. 故障排除

7.1 常见问题及解决

问题描述解决方案
端口被占用检查 8080 端口:sudo lsof -i :8080,终止占用进程或更换端口(如 -p 8090:8080)。
模型加载失败确保 models 目录挂载正确,且模型文件已正确下载到 ~/xinference/models
GPU 未识别运行 nvidia-smi 确认驱动正常;检查容器是否添加 --gpus all 参数。
权限问题确保目录权限:sudo chmod -R 755 ~/xinference

8. 维护与更新

8.1 停止和删除容器

docker stop xinference
docker rm xinference

8.2 更新镜像

docker pull xinference/xinference:latest
docker run ...  # 重新启动容器

9. 扩展资源

  • 官方文档:https://xinference.com/
  • GitHub 仓库:https://github.com/xinference/xinference
  • Ubuntu Docker 官方指南:https://docs.docker.com/engine/install/ubuntu/

通过以上步骤,您可以在 Ubuntu 系统上成功部署 Xinference,并通过 Docker 实现灵活的模型推理服务。如需进一步优化性能或扩展功能,请参考官方文档或社区资源。

Xorbits Inference:模型推理, 轻而易举 🤖

Xinference 云服务 · Xinference 企业版 · 自托管 · 文档

Xorbits Inference(Xinference)是一个性能强大且功能全面的分布式推理框架。可用于大语言模型(LLM),语音识别模型,多模态模型等各种模型的推理。通过 Xorbits Inference,你可以轻松地一键部署你自己的模型或内置的前沿开源模型。无论你是研究者,开发者,或是数据科学家,都可以通过 Xorbits Inference 与最前沿的 AI 模型,发掘更多可能。

🔥 近期热点

框架增强

  • Xllamacpp: 全新llama.cpp Python binding,由 Xinference 团队维护,支持持续并行且更生产可用: #2997
  • 分布式推理:在多个 worker 上运行大尺寸模型:#2877
  • VLLM 引擎增强: 跨副本共享KV Cache: #2732
  • 支持 Transformers 引擎的持续批处理: #1724
  • 支持针对苹果芯片优化的MLX后端: #1765
  • 支持加载模型时指定 worker 和 GPU 索引: #1195
  • 支持 SGLang 后端: #1161
  • 支持LLM和图像模型的LoRA: #1080

新模型

集成

  • FastGPT:一个基于 LLM 大模型的开源 AI 知识库构建平台。提供了开箱即用的数据处理、模型调用、RAG 检索、可视化 AI 工作流编排等能力,帮助您轻松实现复杂的问答场景。
  • Dify: 一个涵盖了大型语言模型开发、部署、维护和优化的 LLMOps 平台。
  • RAGFlow: 是一款基于深度文档理解构建的开源 RAG 引擎。
  • MaxKB: MaxKB = Max Knowledge Base,是一款基于大语言模型和 RAG 的开源知识库问答系统,广泛应用于智能客服、企业内部知识库、学术研究与教育等场景。
  • Chatbox: 一个支持前沿大语言模型的桌面客户端,支持 Windows,Mac,以及 Linux。

主要功能

🌟 模型推理,轻而易举:大语言模型,语音识别模型,多模态模型的部署流程被大大简化。一个命令即可完成模型的部署工作。

⚡️ 前沿模型,应有尽有:框架内置众多中英文的前沿大语言模型,包括 baichuan,chatglm2 等,一键即可体验!内置模型列表还在快速更新中!

🖥 异构硬件,快如闪电:通过 ggml,同时使用你的 GPU 与 CPU 进行推理,降低延迟,提高吞吐!

⚙️ 接口调用,灵活多样:提供多种使用模型的接口,包括 OpenAI 兼容的 RESTful API(包括 Function Calling),RPC,命令行,web UI 等等。方便模型的管理与交互。

🌐 集群计算,分布协同: 支持分布式部署,通过内置的资源调度器,让不同大小的模型按需调度到不同机器,充分使用集群资源。

🔌 开放生态,无缝对接: 与流行的三方库无缝对接,包括 LangChainLlamaIndexDify,以及 Chatbox

为什么选择 Xinference

功能特点XinferenceFastChatOpenLLMRayLLM
兼容 OpenAI 的 RESTful API
vLLM 集成
更多推理引擎(GGML、TensorRT)
更多平台支持(CPU、Metal)
分布式集群部署
图像模型(文生图)
文本嵌入模型
多模态模型
语音识别模型
更多 OpenAI 功能 (函数调用)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

[shenhonglei]

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值