Ubantu22系统利用Xinference+RAGFLOW部署rerank模型【教程】

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

————————————————————
前台启动和后台启动的主要区别在于程序运行的方式以及它们与终端会话的关系。以下是两者的具体区别:

  1. 前台启动

    • 当你在终端中直接运行一个命令(如xinference-local --host 0.0.0.0 --port 9997),该进程将在前台运行。
    • 在这个状态下,终端会将所有输入输出(包括标准输出和标准错误)直接显示到终端上。
    • 如果你在前台运行一个程序时关闭了终端,该程序也会随之终止。
    • 示例命令:xinference-local --host 0.0.0.0 --port 9997
  2. 后台启动

    • 使用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前端页面
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模型!

<think>好的,我需要帮助用户了解如何在Ollama平台上加载和运行bge-reranker-large模型。首先,我需要回顾一下现有的引用内容,看看是否有相关的信息。引用[2]提到在知识库构建中需要部署rerank和embedding模型,并提到使用xinference平台和ollama的qwen2模型。引用[3]则涉及Chainlit集成LlamaIndex并使用ollama本地模型实现AI知识库检索。但用户的问题是关于bge-reranker-large在Ollama上的使用。 接下来,我需要确认Ollama是否支持直接加载bge-reranker-large模型。根据我所知,Ollama主要支持预打包的模型,比如Llama、Mistral等,而bge-reranker-large可能不在官方支持的列表中。这意味着用户可能需要通过自定义Modelfile来加载该模型。 然后,我应该分步骤说明如何操作。首先,安装Ollama并确保环境配置正确。然后,创建一个Modelfile,指定模型的路径或者从Hugging Face下载的模型。需要提醒用户注意模型的格式是否为Ollama支持的GGUF或GGML格式,如果原模型是PyTorch格式,可能需要转换。 另外,引用[2]提到部署xinference平台和embedding模型,可能用户需要结合其他工具来使用bge-reranker-large。例如,在检索后使用该模型进行重新排序。因此,在应用示例部分,可以建议用户将Ollama与Xinference结合,使用bge-reranker进行结果优化。 还需要注意用户可能遇到的常见问题,比如模型格式不兼容、依赖项缺失等,并提供解决建议。同时,生成相关问题,帮助用户进一步探索相关主题,如优化方法、模型集成等。 最后,确保回答符合格式要求:使用中文,正确应用LaTeX格式,引用标记,以及生成相关问题。检查引用是否正确对应,比如引用[2]和[3]关于部署和集成的信息,可能需要在回答中适当提及。</think>要在Ollama平台上使用$bge\text{-}reranker\text{-}large$模型,需结合自定义模型加载和第三方工具集成,具体步骤如下: --- ### 一、环境准备 1. **安装Ollama** 通过官网下载并安装Ollama,支持Windows/Linux/macOS系统: ```bash curl -fsSL https://ollama.com/install.sh | sh ``` 2. **部署Xinference平台**(用于模型托管)[^2] 安装Xinference并启动服务: ```bash pip install xinference xinference-local ``` --- ### 二、加载$bge\text{-}reranker\text{-}large$模型 1. **下载模型文件** 从Hugging Face获取模型(需转换为GGUF格式): ```bash git clone https://huggingface.co/BAAI/bge-reranker-large ``` 2. **创建Ollama Modelfile** 新建`BGE-Reranker-Large.Modelfile`文件,内容为: ```dockerfile FROM ./bge-reranker-large.gguf PARAMETER temperature 0.7 ``` 3. **加载自定义模型** 执行命令构建Ollama可识别模型: ```bash ollama create bge-reranker -f BGE-Reranker-Large.Modelfile ollama run bge-reranker ``` --- ### 三、应用示例(结合LlamaIndex) ```python from llama_index import VectorStoreIndex, ServiceContext from llama_index.llms import Ollama # 初始化Ollama本地模型 llm = Ollama(model="qwen2:7b") # 基础语言模型 service_context = ServiceContext.from_defaults(llm=llm) # 加载文档构建索引 documents = SimpleDirectoryReader("data").load_data() index = VectorStoreIndex.from_documents(documents) # 结合BGE-Reranker优化检索结果 query_engine = index.as_query_engine( similarity_top_k=10, node_postprocessors=[BgeRerank()] # 需自定义BgeRerank处理器[^3] ) response = query_engine.query("检索问题") ``` --- ### 四、常见问题 1. **模型格式错误** - 现象:`Unsupported model format` - 解决:使用`llama.cpp`将PyTorch模型转换为GGUF格式 ```bash python3 convert.py --input-dir ./bge-reranker-large --output-gguf ./output ``` 2. **依赖缺失** - 现象:`ModuleNotFoundError: No module named 'xinference'` - 解决:通过`pip install xinference sentence-transformers`安装依赖 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值