【学习】Xinference在wsl中部署

一、前言

该系列文章主要目的是掌握Dify、Ollama、Xinference工具链的搭建和原理,熟悉后无论是在本地还是云服务器,流程都是一样的(除了远程连接的方法):

Ollama作为本地大模型管理工具非常好用,但是他Embedding模型很少,Rerank干脆没有,因此我们这里引入Xinference框架,用来管理和维护Embedding和Rerank。

二、部署

2.1 Conda环境

Xinference支持通过库安装到python环境中,也支持Docker集成安装,这里为了方便我们学习和自由度,选择库安装。因此需要conda帮我们维护python环境。

大家可以按照我的版本进行安装,方便排查问题。

  • 创建python310环境
conda create -n xinference_env python=3.10 

conda activate xinference_env

python -m pip install --upgrade pip

2.2 安装Xinference

后续所有步骤均在conda的xinference_env虚拟环境下执行,不在赘述。

  • 固定版本安装Xinference
pip install 'xinference==1.5.0'
  • 检查显卡驱动
    • 无论是Embedding还是Rerank,在处理大规模数据时,GPU上限更高(笔记本集显后续可以用CPU跑,做技术验证而已,不强求)
~ > nvidia-smi                                                                                             py base 13:30:17

+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 560.35.02              Driver Version: 560.94         CUDA Version: 12.6     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 4090 D      On  |   00000000:01:00.0  On |                  Off |
| 32%   32C    P8             17W /  425W |    1628MiB /  24564MiB |     47%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+
  • 安装torch
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple torch

pip install --upgrade torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
  • 安装必要库(摸索过程中发现有些库不装Xinference下载模型时报错)
pip install xoscar==0.6.2

pip install sentence-transformers

pip install sentencepiece transformers torch

pip install protobuf

pip install httpx[socks]

注:如果你使用zsh进行开发,在安装socks时,使用:

pip install 'httpx[socks]'

三、应用

3.1 启动

这里监听所有地址,绑定到指定端口,默认6006

xinference-local --host 0.0.0.0 --port 6006

启动后,在宿主机访问xinference UI

http://localhost:6006 

或

http://wsl主机ip:6006

效果:

image-20250927101444685

3.2 安装模型

image-20250927103801625

这里比较吃网速和代理,多等一会吧。

Rerank安装方法一致,在Rerank分类中,自定安装即可。

3.3 绑定Dify

在Dify的模型供应商中安装Xinference的插件

image-20250927115426288

填写必要信息,这里由于我的Dify在Docker中,与Ollama和Xinference在一个wsl实例,因此可通过http://host.docker.internal获取实例ip。

也可以手动hostname -I获取,然后拼接。

image-20250927115911152

image-20250927120019263

posted @ 2025-10-09 09:47  小拳头呀  阅读(9)  评论(0)    收藏  举报