基于llama.cpp的量化版reranker模型调用示例

CPU平台transformers版reranker响应速度慢,这里尝试量化版模型,期望提高响应速度。

ollama目前(25.8.22)还不支持reranker的endpoint,只能考虑其他复杂点的方案,比如llama.cpp。

这里使用llama.cpp,量化bge-reranker-v2-m3模型。

1 llama.cpp安装

centos7系统基础库glibc比较老,llama.cpp直接编译安装存在障碍,所以这里采用docker方案。

1)镜像下载

假设docker已经安装,安装过程参考如下链接

centos7 安装ragflow示例_ragflow能部署在centos上吗-CSDN博客

llama.cpp docker镜像如下

ghcr.io/ggml-org/llama.cpp:server - 镜像下载 | ghcr.io

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/ggml-org/llama.cpp:server

docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/ggml-org/llama.cpp:server ghcr.io/ggml-org/llama.cpp:server

2)镜像启动

llama.cpp docker文档如下

https://github.com/ggml-org/llama.cpp/blob/master/docs/docker.md

docker启动命令如下,/path/to/models就是存放具体下载模型的地方

nohup docker run -v /path/to/models:/models -p 8000:8000 ghcr.io/ggml-org/llama.cpp:server -m /models/bge-reranker-v2-m3-Q2_K.gguf --reranking --port 8000 --host 0.0.0.0 -n 8192 > run.log &

这里启动的是bge-reranker-v2-m3-Q2_K.gguf,采用llama.cpp的Q2量化,来源如下

https://huggingface.co/gpustack/bge-reranker-v2-m3-GGUF/tree/main

具体量化操作过程参考如下链接。

在mac m1基于llama.cpp运行deepseek_macos m1运行gguf文件-CSDN博客

由于是reranking,启动时提供--reranking选项。

2 reranker 模型测试

1)reranking任务说明

所下所示,documents是初筛找出的可能与query相关的文档。

reranking是更精准判断query与documents中每个doc的相关程度,具体为relevance_score。

"query": "明天天气怎么样",

"documents": [

"今天天气晴朗,我的心情美美哒",

"小明和小红一起上学",

"我们来试一试吧",

"我们一起学猫叫",

"我和Faker五五开",

"明天预计下雨,不能出去玩了"

]

2)reranking调用示例

模型调用示例如下,llama.cpp兼容openai接口,采用如下openai式的http api去请求。

curl --location 'http://localhost:8000/v1/reranking' \

--header 'Authorization: Bearer $OPENAI_API_KEY' \

--header 'Content-Type: application/json' \

--data '{

"query": "明天天气怎么样",

"documents": [

"今天天气晴朗,我的心情美美哒",

"小明和小红一起上学",

"我们来试一试吧",

"我们一起学猫叫",

"我和Faker五五开",

"明天预计下雨,不能出去玩了"

],

"model": "text-embedding-ada-002",

"encoding_format": "float"

}'

输出如下

{

"model": "text-embedding-ada-002",

"object": "list",

"usage": {

"prompt_tokens": 92,

"total_tokens": 92

},

"results": [

{

"index": 0,

"relevance_score": -1.7882604598999023

},

{

"index": 1,

"relevance_score": -6.9131317138671875

},

{

"index": 2,

"relevance_score": -7.27742862701416

},

{

"index": 3,

"relevance_score": -9.136366844177246

},

{

"index": 4,

"relevance_score": -6.689809322357178

},

{

"index": 5,

"relevance_score": -1.3041083812713623

}

]

}

openai sdk版本调用参照如下链接

https://blog.csdn.net/liliang199/article/details/150111535

reference


llama.cpp docker 文档

https://github.com/ggml-org/llama.cpp/blob/master/docs/docker.md

bge-reranker-v2-m3-GGUF

https://huggingface.co/gpustack/bge-reranker-v2-m3-GGUF/tree/main

llama.cpp docker image

https://docker.aityp.com/image/ghcr.io/ggml-org/llama.cpp:server

第二弹 llama.cpp控制参数

https://blog.csdn.net/joedan0104/article/details/143034253

如何用OpenAI SDK调用Ollama LLM

https://blog.csdn.net/liliang199/article/details/150111535

centos7 安装docker + ragflow示例

https://blog.csdn.net/liliang199/article/details/150067330

RAG初筛方案实例验证-多种BM25方案

https://blog.csdn.net/liliang199/article/details/150604949

开源向量模型-精排bge reranker示例

https://blog.csdn.net/liliang199/article/details/150342360

在mac m1基于llama.cpp运行deepseek

https://blog.csdn.net/liliang199/article/details/149246699

量化版本的bge-reranker-v2-m3

https://ollama.com/qllama/bge-reranker-v2-m3

BGE FlagEmbedding

https://github.com/FlagOpen/FlagEmbedding

ollama支持Reranker重排序大模型啦

https://www.bilibili.com/opus/1091251147250860036

ollama reranker模型怎么被dify调用呢?

https://linux.do/t/topic/427704

Reranking documents with Ollama and Qwen3 Reranker model --- in Go

https://medium.com/@rosgluk/reranking-documents-with-ollama-and-qwen3-reranker-model-in-go-6dc9c2fb5f0b

LLM-Llama\]在 MAC M1上体验Llama.cpp和通义千问Qwen 1.5-7B [https://juejin.cn/post/7371365854012293131](https://juejin.cn/post/7371365854012293131 "https://juejin.cn/post/7371365854012293131")

相关推荐
文火冰糖的硅基工坊5 小时前
《投资-78》价值投资者的认知升级与交易规则重构 - 架构
大数据·人工智能·重构
爱写代码的小朋友5 小时前
生成式人工智能对学习生态的重构:从“辅助工具”到“依赖风险”的平衡难题
人工智能·学习·重构
唤醒手腕5 小时前
唤醒手腕2025年最新机器学习K近邻算法详细教程
人工智能·机器学习·近邻算法
却道天凉_好个秋5 小时前
深度学习(十七):全批量梯度下降 (BGD)、随机梯度下降 (SGD) 和小批量梯度下降 (MBGD)
人工智能·深度学习·梯度下降
我星期八休息6 小时前
C++异常处理全面解析:从基础到应用
java·开发语言·c++·人工智能·python·架构
常州晟凯电子科技6 小时前
海思Hi3516CV610/Hi3516CV608开发笔记之环境搭建和SDK编译
人工智能·笔记·嵌入式硬件·物联网
William_cl6 小时前
2025 年 AI + 编程工具实战:用新工具提升 50% 开发效率
人工智能
CappuccinoRose6 小时前
MATLAB学习文档(二十三)
matlab·信息可视化·数据挖掘·数据分析
珊珊而川7 小时前
Reflexion对ReAct的改进
人工智能
量化交易曾小健(金融号)7 小时前
GPT-5 Instant能修补模型情商漏洞了
人工智能