docker安装Xinference
Xinference 介绍
Xinference 是由 Xorbits 团队开发的一套 本地大模型推理和服务框架,它旨在帮助开发者和企业轻松地部署、管理并扩展各种 AI 模型(尤其是大语言模型、嵌入模型、语音模型等),支持本地、云端或混合部署。
官网:http://xinference.io
Xinference 的核心优点
-
支持广泛的模型类型
- 支持主流的大语言模型(LLM):如 Llama 系列(Llama2、Llama3)、Qwen、ChatGLM、Baichuan、InternLM、Phi 等。
- 支持嵌入模型(Embedding):如 BGE、M3E 等。
- 支持语音识别与生成模型:如 Whisper、VITS 等。
- 支持多模态模型。
- 可通过
xinference model list
查看所有支持的模型。
-
一键部署,开箱即用
- 提供命令行工具和 REST API,只需一条命令即可启动模型服务。
- 自动下载模型(支持 Hugging Face)、加载、推理和服务化,简化部署流程。
-
高性能推理
- 基于 vLLM、GGUF、Transformers 等后端优化推理性能。
- 支持 连续批处理(Continuous Batching)、PagedAttention 等技术,显著提升吞吐量和降低延迟。
-
灵活的部署方式
- 支持本地运行、Docker 容器化、Kubernetes 集群部署。
- 支持 CPU、GPU(NVIDIA)、Apple Silicon(M1/M2)等多种硬件环境。
-
可视化 Web UI
- 提供图形化界面,方便查看模型、启动/停止模型实例、测试推理效果。
- 支持模型参数调整、上下文管理等。
-
与生态工具无缝集成
- 可与 LangChain、LlamaIndex、Xinference Lite、Xorbits Inference 等框架集成。
- 提供 Python SDK,便于在应用中调用。
-
支持模型注册与自定义
- 允许用户注册私有模型或自定义模型配置,扩展性强。
-
轻量级 & 高可扩展
- 架构清晰,资源占用低,适合从小型项目到企业级服务的扩展。
使用 Docker 安装 Xinference
使用 Docker 是部署 Xinference 最简单、最干净的方式之一,可以避免环境依赖冲突。
✅ 前提条件
- 已安装 Docker
- (可选)NVIDIA GPU + NVIDIA Container Toolkit(用于 GPU 加速)
🐳 步骤 1:拉取 Xinference Docker 镜像
docker pull xprobe/xinference:latest
更多镜像标签可查看:Docker Hub - xprobe/xinference
🐳 步骤 2:启动 Xinference 服务容器
方式一:CPU 模式运行(通用)
docker run -d -p 9997:9997 --name xinference-server xprobe/xinference:latest
方式二:GPU 模式运行(推荐用于大模型)
docker run -d -p 9997:9997 --gpus all --name xinference-server xprobe/xinference:latest
注意:确保已安装
nvidia-docker
或配置好nvidia-container-toolkit
。
🐳 步骤 3:进入容器(可选)
docker exec -it xinference-server /bin/bash
🌐 步骤 4:访问 Web UI
打开浏览器,访问:
http://localhost:9997
您将看到 Xinference 的 Web 控制台,可以:
- 查看可用模型
- 启动模型(如 Qwen、Llama3 等)
- 调整参数(temperature、max_tokens 等)
- 测试对话或生成结果
🧪 步骤 5:通过 API 调用模型(示例)
启动一个模型后,您可以通过 REST API 调用:
curl -X POST "http://localhost:9997/v1/completions" \-H "Content-Type: application/json" \-d '{"model": "qwen-7b","prompt": "Hello, how are you?","max_tokens": 128}'
补充:使用 Docker Compose(推荐用于生产)
创建 docker-compose.yml
文件:
version: '3.8'
services:xinference:image: xprobe/xinference:latestports:- "9997:9997"volumes:- ./data/.xinference:/root/.xinference- ./data/.cache/huggingface:/root/.cache/huggingface- ./data/.cache/modelscope:/root/.cache/modelscope- ./logs:/app/logsenvironment:- XINFERENCE_MODEL_SRC=modelscopedeploy:resources:reservations:devices:- driver: nvidiacount: allcapabilities: [gpu]# 如果没有 GPU,删除上面的 deploy 部分即可
启动服务:
docker compose up -d
总结
优点 | 说明 |
---|---|
✅ 易用性 | 一键部署,Web UI 友好 |
✅ 多模型支持 | 覆盖主流 LLM、Embedding、语音模型 |
✅ 高性能 | 支持 vLLM 等加速后端 |
✅ 多平台 | CPU/GPU/Mac/集群均可 |
✅ 可扩展 | 支持 Kubernetes、API 集成 |