本文档提供在本地环境中部署 Xinference 并运行 Reranker 模型的详细步骤,优化了环境配置、错误处理和后台运行设置,确保流程清晰且易于操作。
1. 创建虚拟环境
为避免环境冲突,建议在虚拟环境中运行 Xinference。
python3 -m venv xinference_venv
source ./xinference_venv/bin/activate
注意:激活虚拟环境后,后续命令均在该环境中运行。
2. 安装必要依赖
更新系统包并安装必要的开发工具:
sudo apt update
sudo apt install -y git build-essential python3-dev
安装 PyTorch(若需要 GPU 支持,确保 PyTorch 版本兼容 CUDA 12.2):
pip install torch torchvision --extra-index-url https://download.pytorch.org/whl/cu122
提示:如果不需要 GPU 支持,可直接安装 CPU 版本的 PyTorch:
pip install torch torchvision。
3. 安装 Xinference
安装 Xinference 及其相关依赖,推荐仅安装所需模块以减少资源占用:
pip install "xinference[rerank]"
说明:
[rerank]表示仅安装 Reranker 模型相关依赖。若需支持其他模型,可替换为[all]或其他模型类型。
4. 启动 Xinference
启动 Xinference 本地服务,监听所有网络接口并指定端口:
xinference-local --host 0.0.0.0 --port 9997
启动成功后,输出类似以下内容:
2025-06-06 15:20:35,426 xinference.core.supervisor INFO Xinference supervisor 0.0.0.0:16386 started
2025-06-06 15:20:35,455 xinference.core.worker INFO Starting metrics export server at 0.0.0.0:None
2025-06-06 15:20:37,167 xinference.core.worker INFO Metrics server is started at: http://0.0.0.0:34785
2025-06-06 15:20:37,167 xinference.core.worker INFO Connected to supervisor as a fresh worker
2025-06-06 15:20:41,007 xinference.api.restful_api INFO Starting Xinference at endpoint: http://0.0.0.0:9997
2025-06-06 15:20:41,048 uvicorn.error INFO Uvicorn running on http://0.0.0.0:9997 (Press CTRL+C to quit)
核心组件:Xinference 主要依赖
xinference-controller和xinference-worker,两者正常运行是服务启动成功的标志。
5. 处理启动失败
若启动失败,检查日志提示缺少的模块并安装。例如:
pip install Cython
pip install gguf
建议:根据错误信息逐一安装缺失依赖,确保环境完整。
6. 配置后台运行与开机自启动
为确保 Xinference 稳定运行,配置 systemd 服务以支持后台运行和开机自启动。
创建 systemd 服务文件
sudo nano /etc/systemd/system/xinference.service
输入以下内容(根据实际虚拟环境路径调整):
[Unit]
Description=Xinference Service
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/root
ExecStart=/root/xinference_venv/bin/xinference-local --host 0.0.0.0 --port 9997
Restart=always
Environment="PYTHONUNBUFFERED=1"
[Install]
WantedBy=multi-user.target
保存并退出。
激活 systemd 服务
执行以下命令启用并启动服务:
sudo systemctl daemon-reload
sudo systemctl enable xinference
sudo systemctl start xinference
检查服务状态
确认服务是否正常运行:
sudo systemctl status xinference
输出中包含 Active: active (running) 表示服务运行正常。
7. 访问 Xinference Web 界面
通过浏览器访问 http://<服务器IP>:9997,即可进入 Xinference 的 Web 管理界面,用于模型管理和配置。

8. 启动 Reranker 模型
在 Web 界面或命令行中启动 Reranker 模型。若使用本地模型,需指定模型路径。命令行启动示例:
xinference launch \
--model-name bge-reranker-v2-m3 \
--model-type rerank \
--replica 1 \
--download-hub huggingface \
--model-path /home/ljz/vllm/models/bge-reranker-v2-m3
说明:
--model-name:指定模型名称,如bge-reranker-v2-m3。--model-type:指定模型类型为rerank。--model-path:本地模型路径,若从 Hugging Face 下载可省略此参数。
9. 在 Dify 平台集成 Xinference 模型
在 Dify 平台中添加 Xinference 模型,需配置以下信息:
-
模型类型:
rerank -
模型名称:
bge-reranker-v2-m3(与命令行一致) - 模型 UID:通常与模型名称相同
-
服务器 URL:Xinference Web 地址,例如
http://<服务器IP>:9997
保存配置后,Dify 即可通过 Xinference 调用 Reranker 模型。
10. 注意事项
- 环境隔离:始终在虚拟环境中操作,避免依赖冲突。
- 端口冲突:确保 9997 端口未被占用。
- 模型路径:本地模型路径需正确配置,避免启动失败。
- 日志检查:启动失败时,查看日志以快速定位问题。