配置 Xorbits Inference
Xorbits Inference (Xinference) 是一个强大的开源模型推理框架,支持 LLM、Embedding、Rerank 和多模态模型。提供分布式推理、一键部署、OpenAI 兼容 API 等功能。
1. 安装和部署 Xinference
1.1 访问 Xinference 官网
访问 Xinference 官网并查看文档:https://inference.readthedocs.io/
GitHub 仓库:https://github.com/xorbitsai/inference
1.2 环境要求
- 操作系统:Linux、macOS、Windows
- Python:3.8-3.11
- GPU:可选(NVIDIA GPU 支持 CUDA)
- 内存:根据模型大小,建议 16GB+
1.3 安装 Xinference
使用 pip 安装
# 安装Xinference
pip install "xinference[all]"
# 验证安装
xinference --version预期结果:
xinference, version 0.x.x常见错误:
- 如果提示
command not found: xinference,说明安装未成功或未加入 PATH - 如果提示 Python 版本不兼容,请确保使用 Python 3.8-3.11
使用 Docker 安装
# 拉取Xinference官方镜像
docker pull xprobe/xinference:latest
# 运行Xinference服务
docker run -p 9997:9997 -v $HOME/.xinference:/root/.xinference xprobe/xinference:latest预期结果:
- 镜像拉取成功,显示
Status: Downloaded newer image for xprobe/xinference:latest - 容器启动后显示日志输出,包含
Starting Xinference at http://0.0.0.0:9997
常见错误:
- 如果拉取失败,可能是网络问题,尝试配置 Docker 镜像加速
- 如果端口 9997 被占用,修改
-p参数使用其他端口
1.4 启动 Xinference 服务
启动本地服务
# 启动Xinference
xinference-local --host 0.0.0.0 --port 9997预期结果:
Starting Xinference at http://0.0.0.0:9997
Xinference service started successfully
You can now access the web UI at http://localhost:9997常见错误:
- 如果提示
Address already in use,说明端口被占用,使用--port指定其他端口 - 如果提示权限错误,尝试使用
sudo或检查文件权限
启动集群模式
# 启动supervisor(主节点)
xinference-supervisor --host 0.0.0.0 --port 9997
# 启动worker(工作节点)
xinference-worker --endpoint http://supervisor_host:9997预期结果:
- Supervisor 启动成功,显示监听地址和端口
- Worker 连接成功,显示
Connected to supervisor at http://supervisor_host:9997
1.5 部署模型
通过 Web UI 或命令行部署模型:
使用 Web UI
- 访问:http://localhost:9997
- 点击 Launch Model 按钮
- 选择模型(如 qwen2.5-7b-instruct)
- 配置参数并启动
预期结果:
- Web UI 显示可用模型列表
- 点击 Launch 后,模型开始下载(如果本地没有)
- 模型加载成功后,显示状态为 "Running"
- 可以看到模型的访问地址,如
http://localhost:9997/v1
常见问题:
- 如果模型列表为空,检查网络连接或手动下载模型
- 首次部署会下载模型文件,可能需要较长时间(取决于模型大小)
- 如果内存不足,选择参数量更小的模型
使用命令行
# 部署Qwen 2.5 7B模型
xinference launch --model-name qwen2.5-7b-instruct --size-in-billions 7
# 查看已部署的模型
xinference list预期结果:
Model launched successfully
Model UID: qwen2.5-7b-instruct-xxxxx
Model is now available at: http://localhost:9997/v1/models/qwen2.5-7b-instruct-xxxxx查看已部署模型的输出示例:
UID Name Type Status
qwen2.5-7b-instruct-xxxxx qwen2.5-7b-instruct LLM Running常见错误:
- 如果提示模型不存在,使用
xinference registrations查看可用模型 - 如果启动失败,检查日志了解具体错误原因
1.6 验证服务运行
# 检查服务状态
curl http://localhost:9997/v1/models正确返回结果示例:
{
"object": "list",
"data": [
{
"id": "qwen2.5-7b-instruct-xxxxx",
"object": "model",
"created": 1699234567,
"owned_by": "xinference",
"permission": []
}
]
}如果返回上述 JSON 内容,说明 Xinference 服务启动成功并且模型已部署。
错误情况:
连接失败:
bashcurl: (7) Failed to connect to localhost port 9997: Connection refused说明服务未启动或端口配置错误,请检查服务是否正常运行。
返回空列表:
json{ "object": "list", "data": [] }说明服务正常运行,但还没有部署任何模型,需要先部署模型。
404 错误:
json{"detail": "Not Found"}说明访问路径错误,确认使用正确的 API 端点
/v1/models。
2. 在 CueMate 中配置 Xinference 模型
2.1 进入模型设置页面
登录 CueMate 系统后,点击右上角下拉菜单的 模型设置。

2.2 添加新模型
点击右上角的 添加模型 按钮。

2.3 选择 Xorbits Inference 服务商
在弹出的对话框中:
- 服务商类型:选择 Xorbits Inference
- 点击后 自动进入下一步

2.4 填写配置信息
在配置页面填写以下信息:
基础配置
- 模型名称:为这个模型配置起个名字(例如:Xinference Qwen 2.5)
- API URL:保持默认
http://localhost:9997/v1(或修改为 Xinference 服务地址) - API Key:可选,Xinference 服务启动时配置了
--api-key参数时填写 - 模型版本:输入已部署的模型名称
2025 推荐模型:
- Qwen 2.5 系列:
qwen2.5-72b-instruct:Qwen 2.5 72B 对话模型qwen2.5-32b-instruct:Qwen 2.5 32B 对话模型qwen2.5-14b-instruct:Qwen 2.5 14B 对话模型(推荐)qwen2.5-7b-instruct:Qwen 2.5 7B 对话模型
- Qwen 2.5 Coder 系列:
qwen2.5-coder-32b-instruct:代码生成 32Bqwen2.5-coder-7b-instruct:代码生成 7B
- DeepSeek R1 系列:
deepseek-r1-8b:DeepSeek R1 8B 推理增强模型
- Llama 3 系列:
llama-3.3-70b-instruct:Llama 3.3 70B 对话模型llama-3.1-70b-instruct:Llama 3.1 70B 对话模型llama-3.1-8b-instruct:Llama 3.1 8B 对话模型
- 其他推荐:
mistral-7b-instruct-v0.3:Mistral 7B 对话模型gemma-2-27b-it:Gemma 2 27B 对话模型gemma-2-9b-it:Gemma 2 9B 对话模型glm-4-9b-chat:GLM-4 9B 对话模型
注意:模型版本必须是已在 Xinference 中部署的模型。

高级配置(可选)
展开 高级配置 面板,可以调整以下参数:
CueMate 界面可调参数:
温度(temperature):控制输出随机性
- 范围:0-2(大部分模型),0-1(Qwen 系列)
- 推荐值:0.7
- 作用:值越高输出越随机创新,值越低输出越稳定保守
- 使用建议:
- 创意写作/头脑风暴:1.0-1.5
- 常规对话/问答:0.7-0.9
- 代码生成/精确任务:0.3-0.5
- 注意:Qwen 系列模型的 temperature 最大值为 1,不是 2
输出最大 tokens(max_tokens):限制单次输出长度
- 范围:256 - 131072(根据模型而定)
- 推荐值:8192
- 作用:控制模型单次响应的最大字数
- 模型限制:
- Qwen2.5 系列:最大 32K tokens
- Llama 3.1/3.3 系列:最大 131K tokens
- DeepSeek R1 系列:最大 65K tokens
- Mistral 系列:最大 32K tokens
- Gemma 2 系列:最大 8K tokens
- 使用建议:
- 简短问答:1024-2048
- 常规对话:4096-8192
- 长文生成:16384-32768
- 超长文档:65536-131072(仅支持的模型)

Xinference API 支持的其他高级参数:
虽然 CueMate 界面只提供 temperature 和 max_tokens 调整,但如果你通过 API 直接调用 Xinference,还可以使用以下高级参数(Xinference 采用 OpenAI 兼容的 API 格式):
top_p(nucleus sampling)
- 范围:0-1
- 默认值:1
- 作用:从概率累积达到 p 的最小候选集中采样
- 与 temperature 的关系:通常只调整其中一个
- 使用建议:
- 保持多样性但避免离谱:0.9-0.95
- 更保守的输出:0.7-0.8
top_k
- 范围:0-100
- 默认值:50
- 作用:从概率最高的 k 个候选词中采样
- 使用建议:
- 更多样化:50-100
- 更保守:10-30
frequency_penalty(频率惩罚)
- 范围:-2.0 到 2.0
- 默认值:0
- 作用:降低重复相同词汇的概率(基于词频)
- 使用建议:
- 减少重复:0.3-0.8
- 允许重复:0(默认)
presence_penalty(存在惩罚)
- 范围:-2.0 到 2.0
- 默认值:0
- 作用:降低已出现过的词汇再次出现的概率(基于是否出现)
- 使用建议:
- 鼓励新话题:0.3-0.8
- 允许重复话题:0(默认)
stop(停止序列)
- 类型:字符串或数组
- 默认值:null
- 作用:当生成内容包含指定字符串时停止
- 示例:
["###", "用户:", "\n\n"] - 使用场景:
- 结构化输出:使用分隔符控制格式
- 对话系统:防止模型代替用户说话
stream(流式输出)
- 类型:布尔值
- 默认值:false
- 作用:启用 SSE 流式返回,边生成边返回
- CueMate 中:自动处理,无需手动设置
repetition_penalty
- 类型:浮点数
- 范围:1.0-2.0
- 默认值:1.0
- 作用:Xinference 特有参数,对已生成的 token 进行惩罚以减少重复
- 使用建议:
- 减少重复内容:1.1-1.3
- 正常输出:1.0(默认)
参数组合建议:
| 序号 | 场景 | temperature | max_tokens | top_p | top_k | frequency_penalty | presence_penalty |
|---|---|---|---|---|---|---|---|
| 1 | 创意写作 | 1.0-1.2 | 4096-8192 | 0.95 | 50 | 0.5 | 0.5 |
| 2 | 代码生成 | 0.2-0.5 | 2048-4096 | 0.9 | 40 | 0.0 | 0.0 |
| 3 | 问答系统 | 0.7 | 1024-2048 | 0.9 | 50 | 0.0 | 0.0 |
| 4 | 摘要总结 | 0.3-0.5 | 512-1024 | 0.9 | 30 | 0.0 | 0.0 |
| 5 | 头脑风暴 | 1.2-1.5 | 2048-4096 | 0.95 | 60 | 0.8 | 0.8 |
2.5 测试连接
填写完配置后,点击 测试连接 按钮,验证配置是否正确。

如果配置正确,会显示测试成功的提示,并返回模型的响应示例。

如果配置错误,会显示测试错误的日志,并且可以通过日志管理,查看具体报错信息。
2.6 保存配置
测试成功后,点击 保存 按钮,完成模型配置。

3. 使用模型
通过右上角下拉菜单,进入系统设置界面,在大模型供应商栏目选择想要使用的模型配置。
配置完成后,可以在面试训练、问题生成等功能中选择使用此模型, 当然也可以在面试的选项中单此选择此次面试的模型配置。

4. 支持的模型列表
4.1 Qwen 2.5 系列(推荐)
| 序号 | 模型名称 | 模型 ID | 参数量 | 最大输出 | 适用场景 |
|---|---|---|---|---|---|
| 1 | Qwen 2.5 72B Instruct | qwen2.5-72b-instruct | 72B | 32K tokens | 超大规模任务 |
| 2 | Qwen 2.5 32B Instruct | qwen2.5-32b-instruct | 32B | 32K tokens | 大规模任务 |
| 3 | Qwen 2.5 14B Instruct | qwen2.5-14b-instruct | 14B | 32K tokens | 中等规模任务 |
| 4 | Qwen 2.5 7B Instruct | qwen2.5-7b-instruct | 7B | 32K tokens | 通用场景、性价比高 |
| 5 | Qwen 2.5 Coder 32B | qwen2.5-coder-32b-instruct | 32B | 32K tokens | 代码生成大型 |
| 6 | Qwen 2.5 Coder 7B | qwen2.5-coder-7b-instruct | 7B | 32K tokens | 代码生成中型 |
4.2 DeepSeek R1 系列
| 序号 | 模型名称 | 模型 ID | 参数量 | 最大输出 | 适用场景 |
|---|---|---|---|---|---|
| 1 | DeepSeek R1 8B | deepseek-r1-8b | 8B | 65K tokens | 推理增强对话 |
4.3 Llama 3 系列
| 序号 | 模型名称 | 模型 ID | 参数量 | 最大输出 | 适用场景 |
|---|---|---|---|---|---|
| 1 | Llama 3.3 70B Instruct | llama-3.3-70b-instruct | 70B | 131K tokens | 超长上下文 |
| 2 | Llama 3.1 70B Instruct | llama-3.1-70b-instruct | 70B | 131K tokens | 高质量对话 |
| 3 | Llama 3.1 8B Instruct | llama-3.1-8b-instruct | 8B | 131K tokens | 通用对话 |
4.4 其他推荐模型
| 序号 | 模型名称 | 模型 ID | 参数量 | 最大输出 | 适用场景 |
|---|---|---|---|---|---|
| 1 | Mistral 7B Instruct | mistral-7b-instruct-v0.3 | 7B | 32K tokens | 多语言对话 |
| 2 | Gemma 2 27B IT | gemma-2-27b-it | 27B | 8K tokens | Google 旗舰模型 |
| 3 | Gemma 2 9B IT | gemma-2-9b-it | 9B | 8K tokens | Google 中型模型 |
| 4 | GLM-4 9B Chat | glm-4-9b-chat | 9B | 131K tokens | 智谱 GLM 最新版 |
Xinference 特色功能
4.5 模型设置
- 一键部署:支持 100+开源模型
- 版本管理:同一模型的多个版本
- 自动下载:首次使用自动下载模型
4.6 分布式推理
# 启动集群supervisor
xinference-supervisor -H 0.0.0.0 -p 9997
# 在其他机器启动worker
xinference-worker -e http://supervisor_ip:99974.7 内置 Embedding
# 部署embedding模型
xinference launch --model-name bge-large-zh --model-type embedding5. 常见问题
5.1 模型下载失败
现象:首次部署模型时下载失败
解决方案:
- 检查网络连接,确保可以访问 HuggingFace
- 设置镜像加速:
export HF_ENDPOINT=https://hf-mirror.com - 预先下载模型到
~/.xinference/cache - 使用本地模型路径
5.2 端口冲突
现象:启动服务时提示端口被占用
解决方案:
- 修改启动端口:
xinference-local --port 9998 - 检查并关闭占用端口的进程
- 使用
lsof -i :9997查看端口占用
5.3 内存不足
现象:部署模型时提示内存不足
解决方案:
- 选择参数量更小的模型
- 使用量化版本
- 配置 GPU 加速
- 增加系统内存
5.4 模型列表为空
现象:访问/v1/models 返回空列表
解决方案:
- 确认已部署至少一个模型
- 使用
xinference list查看部署状态 - 检查 Xinference 服务日志
- 重启 Xinference 服务
性能优化
5.5 GPU 加速
# 自动检测并使用GPU
xinference launch --model-name qwen2.5-7b-instruct
# 指定GPU设备
CUDA_VISIBLE_DEVICES=0,1 xinference-local5.6 量化加速
# 使用4-bit量化
xinference launch --model-name qwen2.5-7b-instruct --quantization 4-bit5.7 批处理优化
调整 xinference.toml 配置文件:
[inference]
max_batch_size = 32
max_concurrent_requests = 256优势与特点
5.8 易用性
- Web UI 管理界面
- 一键部署模型
- OpenAI 兼容 API
5.9 功能丰富
- 支持 LLM、Embedding、Rerank
- 多模态模型支持
- 分布式推理集群
5.10 生产就绪
- 高可用架构
- 监控和日志
- 负载均衡
