沉默的背影 X-Pacific

keep learning

本地无Gpu环境部署bge-reranker模型实现rerank

下载模型至本地

下载bge的rerank模型https://huggingface.co/BAAI/bge-reranker-base

注意需要FQ

上代码

class SingletonFlagReranker:
    def __init__(self, model_path, use_fp16):
        self.reranker = FlagReranker(model_path, use_fp16=use_fp16)

    def compute_score(self, pairs, normalize):
        return self.reranker.compute_score(pairs, normalize=normalize)
reranker = SingletonFlagReranker('E:\\model\\bge-reranker-base', use_fp16=True) # 模型下载的地址

def rerank(question, documents):
    # 构建 [question, document_text] 对
    pairs = [[question, doc] for doc in documents]
    # 计算得分
    scores = reranker.compute_score(pairs, normalize=True)
    # 将文档文本与得分组合
    documents_with_scores = [{'document': doc, 'score': score} for doc, score in zip(documents, scores)]
    return documents_with_scores
topic_tags = [] #文本数组
query_text = "伤病"
a = rerank(query_text,topic_tags)
# 使用 sorted() 函数按 score 字段降序排序
sorted_a = sorted(a, key=lambda x: x['score'], reverse=True)

 

就可以了

posted @ 2025-05-27 14:17  乂墨EMO  阅读(847)  评论(0)    收藏  举报