项目介绍:bce-reranker-base_v1
项目概述
bce-reranker-base_v1 是由网易有道开发的一套双语及跨语种的语义表征模型,主要包括两种模型:EmbeddingModel 和 RerankerModel。这些模型在语义搜索和排序任务中表现出色,尤其擅长解决多语言与跨语言的检索问题。bce-reranker-base_v1 不仅支持中文和英文,还支持日文和韩文,为多语言应用提供了广泛的适用性。
主要特点
- 多语言及跨语言能力:支持中文、英文、日文和韩文,并且在跨语言任务中同样表现优异,适用于多领域的真实业务场景。
- RAG优化:适用于多种领域,如教育、法律、金融、医疗、文学、FAQ、教材、维基百科等,能够进行大规模检索增强生成(RAG)的优化。
- 长文本重排序:支持对超过512字符长度的长文本进行高效重排序。
- 平滑相关性评分:RerankerModel 提供平滑且具有意义的相关性得分,用于改善排序结果和过滤低质量文本,推荐过滤阈值为0.35或0.4。
- 最佳实践:结合权威实践,建议使用 embedding 召回 top50-100 片段,通过 reranker 精排这些片段,最终选取 top5-10 的结果。
最新动态
- 2024年1月3日,bce-embedding-base_v1 和 bce-reranker-base_v1 模型正式发布。
- 推出了名为 CrosslingualMultiDomainsDataset 的跨语种多领域数据集,用于评估模型在多领域的表现。
- 发布了 MTEB 评估集,用于跨语种语义表征能力的评估。
使用指南
安装
首先创建并激活一个 Conda 环境:
conda create --name bce python=3.10 -y
conda activate bce
然后安装 BCEmbedding:
pip install BCEmbedding==0.1.1
或者从源码安装:
git clone git@github.com:netease-youdao/BCEmbedding.git
cd BCEmbedding
pip install -v -e .
快速上手
使用 EmbeddingModel:
from BCEmbedding import EmbeddingModel
# 句子列表
sentences = ['sentence_0', 'sentence_1', ...]
# 初始化嵌入模型
model = EmbeddingModel(model_name_or_path="maidalun1020/bce-embedding-base_v1")
# 提取嵌入
embeddings = model.encode(sentences)
使用 RerankerModel 计算相关性评分并重排:
from BCEmbedding import RerankerModel
# 查询和文本列表
query = 'input_query'
passages = ['passage_0', 'passage_1', ...]
# 构造句子对
sentence_pairs = [[query, passage] for passage in passages]
# 初始化重排模型
model = RerankerModel(model_name_or_path="maidalun1020/bce-reranker-base_v1")
# 计算句子对的得分
scores = model.compute_score(sentence_pairs)
应用案例
- RAG应用:例如 QAnything、HuixiangDou 和 ChatPDF。
- 高效的推理框架:如 ChatLLM.cpp、Xinference 及 mindnlp(华为GPU)。
bce-reranker-base_v1 为多语言环境中的检索和排序任务提供了一种高效且精准的解决方案,适合在各类应用和研究中进行使用。通过结合强大的双语跨语种能力和高效的 RAG 优化能力,它不仅满足了学术研究的需求,也为实际业务场景提供了坚实的技术支持。