部署运行Xinference

9,899 阅读3分钟

image.png 本文目标:部署Xinference,并通过Xinference下载模型,在网页上体验推理效果。

一、安装

Xinference源码:github.com/xorbitsai/i… 安装比较简单,可以参考官网说明进行安装:inference.readthedocs.io/zh-cn/lates…

创建安装运行Xinference的conda环境。

新建环境:
conda create -n Xinf python==3.11
激活环境:
conda activate Xinf

安装Xinfenrence及所需依赖:

pip install "xinference[all]"

安装完毕后,可以查看下几个关键包的版本:

pip list  # 查看包版本号,下面列出几个包以供参考
llama_cpp_python                  0.2.83
sglang                            0.1.17
transformers                      4.42.4
xinference                        0.13.2

二、使用

配置环境变量

默认情况下,Xinference 会使用 <HOME>/.xinference 作为主目录来存储一些必要的信息,比如日志文件和模型文件,其中 <HOME> 就是当前用户的主目录。
因为模型较大,建议配置下XINFERENCE_HOME变量,修改存储目录为数据盘路径。

实时修改生效,注意将“/data/xxx”修改为实际路径:
export XINFERENCE_HOME=/data/xxx/xinference
配置下载地址为国内的魔搭社区:
export XINFERENCE_MODEL_SRC=modelscope
编辑环境变量永久生效,可使用下面操作:

vi ~/.bash_profile
# 在文件最后添加下面内容,之后保存退出
export XINFERENCE_HOME=/data/xxx/xinference
export XINFERENCE_MODEL_SRC=modelscope

命令解释:~/.bash_profile中,“~”指当前用户home目录,一般是/home/xxx,“xxx”是你当前的用户名。前文的 <HOME>/home/xxx。 修改~/.bash_profile文件,只改变当前登录用户的环境变量,如果要修改所有用户的环境变量,可以用root用户修改/etc/profile文件。

启动

cd /data/xxx/xinference;
nohup xinference-local --host 0.0.0.0 --port 9997 > run_xinference-local.log 2>&1 &
启动后,查看“运行日志”,

tail -n 100 -f run_xinference-local.log
# 如有下面日志,说明启动成功 

2024-07-26 18:31:03,360 xinference.core.worker 227351 INFO     Purge cache directory: /data/xxx/xinference/cache
2024-07-26 18:31:07,516 xinference.api.restful_api 227212 INFO     Starting Xinference at endpoint: http://0.0.0.0:9997
2024-07-26 18:31:07,916 uvicorn.error 227212 INFO     Uvicorn running on http://0.0.0.0:9997 (Press CTRL+C to quit)

从日志中,可以在“Uvicorn running on ”后,看到Xinference管理页面网址:“http://0.0.0.0:9997”
在浏览器上,打开该网页: image.png

三、下载模型并推理

本次下载qwen2-instruct的7B模型 image.png 选择模型后,进入参数页面,填写参数大小等参数再点击启动。Model Size框显示“7(cached)”是因为,之前已经下载过该模型。 image.png 若未下载过模型,xinference在启动后会下载模型,因为在前面配置环境变量时,配置了从魔搭社区下载模型,此时xinference会去魔搭社区下载模型;若未配置,会从huggingface下载,此时可能会有网络问题。
模型下载时,可以在“启动日志中”观察到下载进度,模型较大的话,可能下载较慢,需要耐心等待: image.png 模型下载完成后,可以在xinference存储目录下找到下载的模型:

ls modelscope/hub/qwen/Qwen2-7B-Instruct/
config.json             merges.txt                        model-00004-of-00004.safetensors  tokenizer.json
configuration.json      model-00001-of-00004.safetensors  model.safetensors.index.json      vocab.json
generation_config.json  model-00002-of-00004.safetensors  README.md
LICENSE                 model-00003-of-00004.safetensors  tokenizer_config.json

模型启动后,在Xinference管理页面中,可以看到启动的模型,如下图所示,可以在右边点击打开推理页面。

image.png 在上图打开推理页面后,可以进行推理 image.png

四、下载embedding模型

除了llm,xinference还可以加载其他模型,本次再演示embedding模型。如下图选择“bge-large-zh-v1.5”模型

image.png

选择参数后,启动模型,若未下载过,会下载模型 image.png 与第三部分,类似,启动后可以在挂历页面,看到启动的状态。

image.png