--- license: mit language: - en - zh tags: - mteb - text-embeddings-inference - llama-cpp - gguf-my-repo pipeline_tag: text-classification library_name: sentence-transformers base_model: BAAI/bge-reranker-base model-index: - name: bge-reranker-base results: - task: type: Reranking dataset: name: MTEB CMedQAv1 type: C-MTEB/CMedQAv1-reranking config: default split: test revision: None metrics: - type: map value: 81.27206722525007 - type: mrr value: 84.14238095238095 - task: type: Reranking dataset: name: MTEB CMedQAv2 type: C-MTEB/CMedQAv2-reranking config: default split: test revision: None metrics: - type: map value: 84.10369934291236 - type: mrr value: 86.79376984126984 - task: type: Reranking dataset: name: MTEB MMarcoReranking type: C-MTEB/Mmarco-reranking config: default split: dev revision: None metrics: - type: map value: 35.4600511272538 - type: mrr value: 34.60238095238095 - task: type: Reranking dataset: name: MTEB T2Reranking type: C-MTEB/T2Reranking config: default split: dev revision: None metrics: - type: map value: 67.27728847727172 - type: mrr value: 77.1315192743764 --- # turingevo/bge-reranker-base-Q4_K_M-GGUF This model was converted to GGUF format from [`BAAI/bge-reranker-base`](https://huggingface.co/BAAI/bge-reranker-base) using llama.cpp via the ggml.ai's [GGUF-my-repo](https://huggingface.co/spaces/ggml-org/gguf-my-repo) space. Refer to the [original model card](https://huggingface.co/BAAI/bge-reranker-base) for more details on the model. | | | |--|--| | AI学习交流qq群 | 873673497 | | 官网 | turingevo.com | | 邮箱 | wmx@turingevo.com | | github | https://github.com/turingevo | | huggingface | https://huggingface.co/turingevo | ## Use with llama.cpp Invoke the llama.cpp server ### Server: ```bash #!/bin/bash ## see if port 8000 in use: # sudo netstat -lnp |grep 8000 prefix=/media/wmx/soft2/huggingface_cache/BAAI/bge-reranker-base model_path=$prefix/bge-reranker-base-q4_k_m.gguf llama_prefix=/media/wmx/ws1/workspace/ai/llama.cpp/bin/cuda/ llama_path=$llama_prefix/bin/llama-server export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${llama_prefix}/lib $llama_path --rerank -m $model_path --host 0.0.0.0 --port 8000 ``` ### api_cliet.py ```python import requests # 配置参数 ENDPOINT = "http://0.0.0.0:8000/reranking" MODEL_NAME = "bge-reranker-base" # 替换为实际使用的重排序模型 # 多组测试用例定义 TEST_CASES = [ { "query": "人工智能应用", "documents": [ "机器学习在医疗诊断中的应用", "深度学习在自动驾驶中的最新进展", "自然语言处理技术发展史", "人工智能伦理问题探讨" ] }, { "query": "量子计算的最新突破", "documents": [ "量子计算在密码学中的应用", "超导量子比特的稳定性研究", "经典计算机与量子计算机对比分析", "量子纠缠现象的实验验证" ] }, { "query": "糖尿病治疗的新方法", "documents": [ "胰岛素泵治疗糖尿病的优势", "干细胞疗法在糖尿病治疗中的潜力", "糖尿病患者的饮食管理指南", "新型口服降糖药物的临床试验结果" ] } ] def rerank_documents(query, documents): """调用 server 重排序接口""" payload = { "model": MODEL_NAME, "query": query, "documents": documents } try: response = requests.post(ENDPOINT, json=payload) response.raise_for_status() # 检查HTTP错误 return response.json() except requests.exceptions.RequestException as e: print(f"API请求失败: {e}") return None # 执行所有测试用例 for i, case in enumerate(TEST_CASES, start=1): print(f"\n=== 测试用例 #{i} ===") print(f"查询: {case['query']}") result = rerank_documents(case["query"], case["documents"]) if result: print("重排序结果(按相关性降序):") # ✅ 在这里添加排序逻辑 sorted_results = sorted(result["results"], key=lambda x: x["relevance_score"], reverse=True) for doc in sorted_results: print(f"文档 {doc['index']+1}: 得分={doc['relevance_score']:.4f}, 内容={case['documents'][doc['index']]}") else: print("未获取到有效结果") ``` output : ```bash === 测试用例 #1 === 查询: 人工智能应用 重排序结果(按相关性降序): 文档 1: 得分=0.5315, 内容=机器学习在医疗诊断中的应用 文档 4: 得分=0.2609, 内容=人工智能伦理问题探讨 文档 2: 得分=-2.3431, 内容=深度学习在自动驾驶中的最新进展 文档 3: 得分=-3.8849, 内容=自然语言处理技术发展史 === 测试用例 #2 === 查询: 量子计算的最新突破 重排序结果(按相关性降序): 文档 1: 得分=-0.7904, 内容=量子计算在密码学中的应用 文档 3: 得分=-0.8329, 内容=经典计算机与量子计算机对比分析 文档 4: 得分=-1.4564, 内容=量子纠缠现象的实验验证 文档 2: 得分=-3.1111, 内容=超导量子比特的稳定性研究 === 测试用例 #3 === 查询: 糖尿病治疗的新方法 重排序结果(按相关性降序): 文档 2: 得分=2.1797, 内容=干细胞疗法在糖尿病治疗中的潜力 文档 4: 得分=-0.1641, 内容=新型口服降糖药物的临床试验结果 文档 1: 得分=-0.3959, 内容=胰岛素泵治疗糖尿病的优势 文档 3: 得分=-0.5034, 内容=糖尿病患者的饮食管理指南 ```