【部署】手搓一个dify可用的rerank模型接口服务

回到目录

【部署】手搓一个dify可用的rerank模型接口服务

本地知识库有保密需要,不想上传互联网模型进行rerank处理。但是,vllm部署rerank模型硬件要求高,ollma不支持rerank模型,因此只能考虑按照openai的接口标准写一个rerank的接口程序

1. 安装必要的python基础环境

 $ pip install uv -i https://pypi.tuna.tsinghua.edu.cn/simple
 $ uv pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple
 下载量比较大,耗时有点长
 $ uv pip install modelscope -i https://pypi.tuna.tsinghua.edu.cn/simple
 $ uv pip install "modelscope[multi-modal]" -i https://pypi.tuna.tsinghua.edu.cn/simple
 $ uv pip install fastapi uvicorn  -i https://pypi.tuna.tsinghua.edu.cn/simple

2. 测试一下基础环境是否工作正常

$ uv run python -c “from modelscope.pipelines import pipeline;print(pipeline(‘word-segmentation’)(‘今天天气不错,适合 出去游玩’))”

3. 用模型介绍页的案例测试score打分效果

# test_modelscope.py

import torch
from modelscope import AutoModelForSequenceClassification, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained('BAAI/bge-reranker-large')

model = AutoModelForSequenceClassification.from_pretrained('BAAI/bge-reranker-large')
model.eval()

pairs = [['what is panda?', 'hi'], ['what is panda?', 'The giant panda (Ailuropoda melanoleuca), sometimes called a panda bear or simply panda, is a bear species endemic to China.']]
with torch.no_grad():
    inputs = tokenizer(pairs, padding=True, truncation=
### Dify 平台中 Rerank 模型部署与集成 在现代 AI 应用开发中,Rerank 模型用于提升搜索结果的相关性和准确性。以下是关于如何将 Rerank 模型成功部署Dify 的具体方法。 #### 一、环境准备 为了确保顺利集成 Rerank 模型Dify 中,需提前准备好必要的运行环境。 - **安装 Xinference** 可通过 `pip` 或 Docker 来安装 Xinference 工具包。如果采用 pip 方式,则执行如下命令: ```bash pip3 install "xinference[all]" ``` 如果选择 Docker 安装方式,则使用以下指令: ```dockerfile docker run -d --name xinference \ -v "/path/to/local/directory:/xinference" \ -e XINFERENCE_HOME="/xinference" \ -p 9997:9997 --gpus all xprobe/xinference:latest \ xinference-local -H 0.0.0.0 --log-level debug ``` - **安装 Dify** 根据官方文档指导完成 Dify 的安装过程[^1]。这一步骤通常涉及克隆仓库以及设置依赖项。 #### 二、启动 Rerank 模型于 Xinference 上 一旦完成了基础环境搭建工作之后,就可以着把目标 Rerank 模型加载起来供后续调用了。 - 设置变量以便指定模型源位置: ```bash export XINFERENCE_MODEL_SRC=modelscope ``` - 接下来利用下面这条语句来激活对应的服务端口监听状态: ```bash xinference-local --host 0.0.0.0 --port 6006 ``` - 对特定名称为 `bge-reranker-v2-m3` 类别的重排序器实例化操作可通过此脚本实现: ```bash xinference launch --model-name bge-reranker-v2-m3 --model-type rerank ``` #### 三、调整 Dify 配置支持外部供应商接入 为了让 Dify 能识别来自其他系统的资源供给情况,在其内部参数设定部分添加相关内容显得尤为重要。 - 创建一个新的 JSON 文件用来描述新增加的支持信息结构体形式表示法如下所示: ```json { "name": "Xinference", "type": "custom", "url": "http://localhost:6006" } ``` - 将上述定义保存成名为 `config.json` 的文本档后上传至服务器相应目录下;最后回到管理后台页面重新读取最新改动后的全局选项列表即可生效[^2]。 #### 四、验证整体流程连贯性 当以上各阶段均顺利完成以后便进入到最终检验环节当中去确认整个链条是否能够正常运转起来了呢? 尝试发起一次实际查询请求看看返回的数据里有没有经过优化处理过的版本存在吧! ```python from dify import Client client = Client(api_key="your_api_key", url="http://localhost:8000") response = client.rerank( query="example_query", documents=[ {"text": "document_1"}, {"text": "document_2"} ] ) print(response) ```
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值