1、安装Anaconda环境
如果不知安装没有,可以自行检测:
conda --version
如果有输出版本号就说明安装了,没有的话,安装参考博客Anaconda的安装
2、Anaconda切换到xinference虚拟环境中
conda activate xinference
3、安装xinference
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple "xinference[transformers,vllm]"
4、启动
# 前台
xinference-local --host 0.0.0.0 --port 9997
# 后台
nohup xinference-local --host 0.0.0.0 --port 9997 & > output.log
————————————————————
前台启动和后台启动的主要区别在于程序运行的方式以及它们与终端会话的关系。以下是两者的具体区别:
-
前台启动:
- 当你在终端中直接运行一个命令(如
xinference-local --host 0.0.0.0 --port 9997
),该进程将在前台运行。 - 在这个状态下,终端会将所有输入输出(包括标准输出和标准错误)直接显示到终端上。
- 如果你在前台运行一个程序时关闭了终端,该程序也会随之终止。
- 示例命令:
xinference-local --host 0.0.0.0 --port 9997
- 当你在终端中直接运行一个命令(如
-
后台启动:
- 使用
nohup
命令或者&
符号可以在后台运行一个程序。 nohup
命令使得程序在关闭终端后仍然能够继续运行,并将输出重定向到一个文件(默认为nohup.out
,你可以通过重定向更改输出文件,例如> output.log
)。&
符号使得程序在后台运行,但它不会自动忽略挂起信号(SIGHUP),这意味着如果关闭终端,该程序可能会被终止。- 示例命令:
nohup xinference-local --host 0.0.0.0 --port 9997 & > output.log
- 使用
总结来说,前台启动的程序会直接与当前终端交互,并且在终端关闭时可能会停止运行;而后台启动的程序则可以在关闭终端后继续运行,并且通常会将输出记录到指定的日志文件中。使用nohup
可以确保程序即使在关闭终端后也能继续运行。
————————————————————————————
5、Xinference安装完毕,打开浏览器输入
localhost:9997
进入xinference前端页面
6、下载大模型
此时还需要在xinference虚拟环境中
conda activate xinference
下载模型
xinference launch --model-name bge-reranker-base --model-type rerank
————————————————
我这里利用xinference下载的是rerank模型bge-reranker-base
大家可以根据自己需要到官网下载其他模型
官网地址:
https://inference.readthedocs.io/en/latest/models/builtin/
Xinference 默认使用 HuggingFace作为模型源。如果你的机器在中国大陆,使用内置模型可能会有访问问题。
要解决这个问题,可以在启动 Xinference 时添加环境变量 XINFERENCE_MODEL_SRC=modelscope,将模型源更改为 ModelScope,在中国大陆速度下载更快。
步骤:
打开配置文件
sudo vi /etc/profile
写入以下内容
export XINFERENCE_MODEL_SRC=modelscope
更新配置
source /etc/profile
————————————————
如下图所示下载成功
7、RAGFLOW连接rerank模型
Go to ‘Settings > Model Providers > Models to be added > Xinference’.
【设置->模型提供商->选择Xinference->添加模型】
如下图所示
————————————————
NOTES:
我的RAGFLOW在docker部署的,Xinference在本地部署,所以基础URL是:
http://host.docker.internal:9997/v1
大家根据自己的情况填写URL,基本上根据RAGFLOW和Xinference的部署位置
,有以下三种情况:
(1)都部署在本地:http://localhost:9997/v1
(2)一个部署在docker,一个部署在本地:http://host.docker.internal:9997/v1
(3)一个部署在机器A,一个部署在机器B:http://XinferenceIP地址:9997/v1
——————————————————
到此,RAGFLOW成功添加rerank模型!