Are you an LLM? You can read better optimized documentation at /ai/llm/xinference-guide.md for this page in Markdown format
使用 Xinference 搭建企业级分布式 AI 模型推理平台:一站式部署大语言模型、嵌入向量与语音多模态
在落地企业级知识库(RAG)或构建个人多功能 AI 工作台时,很多开发者会遇到一个极其痛苦的问题:
要构建一个完整的 RAG 检索问答系统(如配合 Dify 智能体平台),你往往需要运行多个独立的模型服务:
- 大语言模型 (LLM):用于最终理解与回答(如 DeepSeek-R1、Qwen2.5);
- 嵌入模型 (Embedding):用于将海量文档向量化(如 BAAI/bge-m3);
- 重排模型 (Rerank):用于二次精细打分排序,消除知识库检索幻觉(如 bge-reranker-large);
- 语音多模态 (Audio):用于语音实时转文字(如 OpenAI Whisper)。
如果分别用 Ollama、vLLM 和 Python 脚本去单独部署维护,不仅端口混乱、显存碎片化严重,还会频繁遭遇依赖冲突。
Xinference(由 Xorbits 团队开源)是目前公认最强大的一站式全模态 AI 推理框架。它支持在一个统一的 Web 控制台与 API 端点下,同时托管和调度 LLM、Embedding、Rerank、Speech-to-Text、Text-to-Audio 及文生图 多种模型,且底层原生集成了 vLLM、SGLang 和 llama.cpp 加速引擎。
本文将带你手把手使用 Docker Compose 搭建一个企业级 Xinference 平台,并演示如何一键对接 Dify。
🌟 为什么 Xinference 是 RAG 知识库的最佳底座?
- 全模态一站式搞定:一个端口(默认
9997),搞定 LLM 对话、向量化和 Rerank 重排,无需在服务器上开一堆散碎服务。 - 引擎底层随心切换:同一个大模型,你可以选择使用 vLLM 引擎(高并发)、Transformers 引擎(高兼容)或者 llama.cpp/GGUF 引擎(低显存)。
- 支持 ModelScope 国内镜像:国内服务器无需魔法上网,原生直连阿里魔搭(ModelScope)社区高速下载模型权重。
- 分布式集群横向扩展:支持 Supervisor-Worker 架构,轻松将多台服务器的 GPU 显卡聚合为一个超大算力池。
🛠️ 第一步:使用 Docker Compose 部署 Xinference
推荐使用 Docker 方式部署在拥有 NVIDIA 显卡的 Linux 服务器上。
1. 创建部署目录
bash
mkdir -p /docker/xinference/data
mkdir -p /docker/xinference/cache
cd /docker/xinference2. 编写 docker-compose.yml
yaml
services:
xinference:
image: xprobe/xinference:latest
container_name: xinference
ports:
- '9997:9997'
environment:
- XINFERENCE_HOME=/root/.xinference
- XINFERENCE_MODEL_SRC=modelscope # 国内机器建议设置为 modelscope,享受极速下载
volumes:
- ./data:/root/.xinference
- ./cache:/root/.cache/modelscope
ipc: host # 共享内存,防止多进程通信或 vLLM 引擎崩溃
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
restart: unless-stopped执行启动命令:
bash
docker compose up -d🎨 第二步:Web UI 可视化启动模型
容器启动后,在浏览器中打开: http://你的服务器IP:9997
你将看到一个极具现代化质感的控制面板:
mermaid
graph LR
User[Dify / LibreChat / 业务系统] -->|统一请求 9997 端口| Xinference[Xinference 统一网关]
Xinference --> LLM[LLM 对话: Qwen2.5 / DeepSeek]
Xinference --> Embed[Embedding 向量: bge-m3]
Xinference --> Rerank[Rerank 重排: bge-reranker]
Xinference --> Audio[语音识别: Whisper]1. 启动大语言模型 (LLM)
- 点击左侧菜单 “Launch Model” -> 选择 “Language Models”。
- 搜索
qwen2.5-instruct或deepseek-r1-distill-qwen-8b。 - Model Engine:推荐选择 vLLM(高并发首选)或 llama.cpp(显存有限时选 GGUF 4-bit 量化)。
- 点击右侧的火箭图标 “Launch”,系统会自动拉取权重并在后台加载。
2. 启动向量嵌入模型 (Embedding)
- 在左侧选择 “Embedding Models”。
- 搜索并找到目前中文综合实力最强的
bge-m3。 - 点击 “Launch”。
3. 启动文档重排模型 (Rerank)
- 在左侧选择 “Rerank Models”。
- 搜索并启动
bge-reranker-large。
🔌 第三步:一键对接 Dify 构建无敌 RAG 知识库
现在,你的服务器已经在 9997 端口上同时集成了大模型问答、向量化与重排三大核心能力。我们可以直接在 Dify 平台 中完成一揽子对接:
- 打开 Dify 后台 -> 点击右上角头像 -> “设置” -> “模型供应商”。
- 找到 Xinference 供应商,点击“添加”:
- 服务器 URL:输入
http://你的Xinference服务器IP:9997。 - 模型类型:分别将刚才启动的 LLM、Embedding 和 Rerank 填入对应选项。
- 服务器 URL:输入
- 进入 Dify 的知识库设置中,开启 “混合检索 (Hybrid Search) + Rerank 重新排序”:
- 检索时,bge-m3 负责海量召回,bge-reranker 负责精准打分过滤垃圾切片,最后交给 Qwen/DeepSeek 生成精准回答。
实测效果:文档检索精准度相比单用普通向量检索提升了 40% 以上,彻底杜绝了模型胡说八道。
💬 总结
Xinference 解决了私有化 AI 部署中最令人头疼的“多模型割裂”难题。它统一了接口规范、整合了顶级加速引擎,是企业构建私有 RAG 与多模态工作流的绝对中枢。
- 横向对比:它与 vLLM、Ollama 该如何选型?去阅读 Xinference vs vLLM vs Ollama 深度对比。
- 前端聚合:搭配私有聊天界面?参考 LibreChat 全能 AI 工作台搭建。
