Loading...

文章背景图

Xinference:分布式模型推理平台安装与使用指南

2026-10-22
0
- 字
- 分钟
|

Xinference:分布式模型推理平台安装与使用指南

一、官方信息

项目名称Xinference
仓库地址https://github.com/xorbitsai/inference
官方网站https://inference.readthedocs.io
最新更新持续高频迭代(2026-10-22)
Star 数8k+
项目定位Xorbits 团队出品的分布式模型推理平台,支持 LLM、嵌入向量、Rerank、多模态模型,内置 WebUI 与 OpenAI 兼容 API

二、项目背景

Xinference 由 Xorbits(原蚂蚁集团大数据团队)开发,定位是"AI 时代的模型 Kubernetes"。它把多种推理后端(vLLM、llama.cpp、Transformers、Text Generation Inference)抽象成统一的模型服务,支持分布式集群调度:一台 Master 管理多台 Worker,根据 GPU 资源自动路由请求到对应节点。

与 Ollama、LocalAI 单机方案不同,Xinference 天生为多机多卡设计,支持动态加载/卸载模型、模型副本、自动故障转移,并且覆盖 LLM、Embedding、Rerank、图像生成、语音等全品类模型。它的 WebUI 可以可视化管理模型、查看日志、监控 GPU 占用,是中小团队私有化部署大模型的优秀选择。

三、核心特性

  • 分布式架构:Master-Worker 模式,多机多卡统一调度,支持水平扩展。
  • 全品类模型:LLM、Embedding、Rerank、Image、Audio、Video 一站式。
  • 多后端引擎:支持 vLLM、llama.cpp、Transformers、GGML 等后端自动切换。
  • OpenAI 兼容 API:/v1/chat/completions、/v1/embeddings 直接对接 OpenAI SDK。
  • WebUI 管理台:浏览器可视化部署、监控、日志查看。
  • 模型 Marketplace:内置数百款主流模型一键下载。
  • 负载均衡:同模型多副本自动路由,支持灰度发布。

四、环境要求

  • 操作系统:Linux / macOS
  • Python:3.9 ~ 3.12
  • GPU(可选):NVIDIA 显卡,显存按模型大小
  • 网络:Master 与 Worker 之间需互通(默认端口 9997)

五、详细部署步骤

方式一:pip 安装(单机最快)

conda create -n xinference python=3.10 -y
conda activate xinference

pip install "xinference[all]"

# 验证
xinference --version

方式二:Docker

# CPU 版
docker pull xprobe/xinference:latest
docker run -d \
  --name xinference \
  -p 9997:9997 \
  -v ~/.xinference:/root/.xinference \
  xprobe/xinference:latest \
  xinference-local --host 0.0.0.0 --port 9997

# GPU 版
docker run -d \
  --name xinference \
  --gpus all \
  -p 9997:9997 \
  -v ~/.xinference:/root/.xinference \
  xprobe/xinference:latest \
  xinference-local --host 0.0.0.0 --port 9997

启动本地服务

# 单机模式(Master + Worker 合一)
xinference-local --host 0.0.0.0 --port 9997

# 启动后:
#  WebUI: http://IP:9997
#  API:  http://IP:9997/v1

分布式集群模式

# 1. Master 节点(只需调度,不需 GPU)
xinference-supervisor -H 0.0.0.0 -p 9997

# 2. Worker 节点(每台 GPU 机器执行)
xinference-worker -e http://MASTER_IP:9997 \
  -H 0.0.0.0 \
  -p 33333

# 3. 在 WebUI 或 CLI 部署模型时自动调度到空闲 Worker

部署模型

# 列出可用模型
xinference list --all

# 命令行启动一个 LLM
xinference launch \
  --model-name qwen2.5-chat \
  --model-format pytorch \
  --size-in-billions 7 \
  --model-scope 中文

# 启动 Embedding 模型
xinference launch --model-name bge-large-zh-v1.5 --model-type embedding

# 列出已部署模型
xinference list

# 停止模型
xinference terminate --model-uid qwen2.5-chat

调用 API

# 对话
curl http://localhost:9997/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen2.5-chat",
    "messages": [{"role":"user","content":"你好"}]
  }'

# Embedding
curl http://localhost:9997/v1/embeddings \
  -H "Content-Type: application/json" \
  -d '{
    "model": "bge-large-zh-v1.5",
    "input": "Xinference 是一个分布式推理平台"
  }'

# Python SDK
python3 -c "
from openai import OpenAI
c = OpenAI(base_url='http://localhost:9997/v1', api_key='not-needed')
print(c.chat.completions.create(model='qwen2.5-chat',
    messages=[{'role':'user','content':'hi'}]).choices[0].message.content)
"

六、常见问题(FAQ)

Q1:模型下载慢?
A:设置 export XINFERENCE_MODEL_SRC=modelscope,自动从国内 ModelScope 拉取。

Q2:Worker 连不上 Master?
A:检查 Master 防火墙 9997 端口,Worker 需能访问 Master;Worker 之间也需互通(用于张量并行)。

Q3:如何指定 GPU?
A:启动 Worker 前设 CUDA_VISIBLE_DEVICES=0,1,或在 WebUI 部署模型时选择 GPU 索引。

Q4:支持 vLLM 后端吗?
A:安装时 pip install "xinference[vllm]",部署模型时选 vLLM 后端即可获得更高吞吐。

Q5:如何对接 Dify / FastGPT 等 RAG 平台?
A:把 Xinference 的 /v1 地址作为 OpenAI 兼容端点填入即可,支持 LLM + Embedding + Rerank 全套。

七、跳转链接

评论交流

文章目录