配置 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 最新版 |
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 = 2565.8 易用性
- Web UI 管理介面
- 一鍵部署模型
- OpenAI 相容 API
5.9 功能豐富
- 支援 LLM、Embedding、Rerank
- 多模態模型支援
- 分散式推理叢集
5.10 生產就緒
- 高可用架構
- 監控和日誌
- 負載均衡
