ONNX 模型库
返回模型

说明文档

jina-reranker-v1-turbo-en

此模型专为极致速度的重排序而设计,同时保持卓越的性能。更重要的是,它以我们的 JinaBERT 模型为基础。JinaBERT 是 BERT 架构的独特变体,支持 ALiBi 的对称双向变体。这使得 jina-reranker-v1-turbo-en 能够处理比其他重排序模型更长的文本序列,最高可达令人印象深刻的 8,192 个 token。

为了实现惊人的速度,jina-reranker-v1-turbo-en 采用了一种称为知识蒸馏的技术。在这里,一个复杂但较慢的模型(如我们最初的 jina-reranker-v1-base-en)充当教师,将其知识浓缩到一个更小、更快的学生模型中。这个学生保留了教师的大部分知识,使其能够在很短的时间内达到相似的精度。

以下是我们提供的重排序模型概览:

模型名称 层数 隐藏层大小 参数量(百万)
jina-reranker-v1-base-en 12 768 137.0
jina-reranker-v1-turbo-en 6 384 37.8
jina-reranker-v1-tiny-en 4 384 33.0

目前,jina-reranker-v1-base-en 模型不在 Hugging Face 上提供。您可以通过 Jina AI Reranker API 访问它。

如您所见,jina-reranker-v1-turbo-en 提供了平衡的方案,包含 6 层3780 万 参数。这转化为快速搜索和重排序,同时保持高度准确性。jina-reranker-v1-tiny-en 更加注重速度,通过其 4 层3300 万 参数的架构实现了最快的推理速度。这使其成为绝对最高准确性不那么关键的场景的理想选择。

使用方法

  1. 开始使用 jina-reranker-v1-turbo-en 最简单的方法是使用 Jina AI 的 Reranker API
curl https://api.jina.ai/v1/rerank \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
  "model": "jina-reranker-v1-turbo-en",
  "query": "Organic skincare products for sensitive skin",
  "documents": [
    "Eco-friendly kitchenware for modern homes",
    "Biodegradable cleaning supplies for eco-conscious consumers",
    "Organic cotton baby clothes for sensitive skin",
    "Natural organic skincare range for sensitive skin",
    "Tech gadgets for smart homes: 2024 edition",
    "Sustainable gardening tools and compost solutions",
    "Sensitive skin-friendly facial cleansers and toners",
    "Organic food wraps and storage solutions",
    "All-natural pet food for dogs with allergies",
    "Yoga mats made from recycled materials"
  ],
  "top_n": 3
}'
  1. 或者,您可以使用最新版本的 sentence-transformers>=0.27.0 库。您可以通过 pip 安装:
pip install -U sentence-transformers

然后,您可以使用以下代码与模型交互:

from sentence_transformers import CrossEncoder

# 加载模型,这里我们使用 turbo 规格的模型
model = CrossEncoder("jinaai/jina-reranker-v1-turbo-en", trust_remote_code=True)

# 示例查询和文档
query = "Organic skincare products for sensitive skin"
documents = [
    "Eco-friendly kitchenware for modern homes",
    "Biodegradable cleaning supplies for eco-conscious consumers",
    "Organic cotton baby clothes for sensitive skin",
    "Natural organic skincare range for sensitive skin",
    "Tech gadgets for smart homes: 2024 edition",
    "Sustainable gardening tools and compost solutions",
    "Sensitive skin-friendly facial cleansers and toners",
    "Organic food wraps and storage solutions",
    "All-natural pet food for dogs with allergies",
    "Yoga mats made from recycled materials"
]

results = model.rank(query, documents, return_documents=True, top_k=3)
  1. 您还可以使用 transformers 库以编程方式与模型交互。
!pip install transformers
from transformers import AutoModelForSequenceClassification

model = AutoModelForSequenceClassification.from_pretrained(
    'jinaai/jina-reranker-v1-turbo-en', num_labels=1, trust_remote_code=True
)

# 示例查询和文档
query = "Organic skincare products for sensitive skin"
documents = [
    "Eco-friendly kitchenware for modern homes",
    "Biodegradable cleaning supplies for eco-conscious consumers",
    "Organic cotton baby clothes for sensitive skin",
    "Natural organic skincare range for sensitive skin",
    "Tech gadgets for smart homes: 2024 edition",
    "Sustainable gardening tools and compost solutions",
    "Sensitive skin-friendly facial cleansers and toners",
    "Organic food wraps and storage solutions",
    "All-natural pet food for dogs with allergies",
    "Yoga mats made from recycled materials"
]

# 构建句子对
sentence_pairs = [[query, doc] for doc in documents]

scores = model.compute_score(sentence_pairs)
  1. 您还可以使用 transformers.js 库直接在 JavaScript 中运行模型(浏览器、Node.js、Deno 等)!

如果您还没有安装,可以从 NPM 安装 Transformers.js JavaScript 库:

npm i @xenova/transformers

然后,您可以使用以下代码与模型交互:

import { AutoTokenizer, AutoModelForSequenceClassification } from '@xenova/transformers';

const model_id = 'jinaai/jina-reranker-v1-turbo-en';
const model = await AutoModelForSequenceClassification.from_pretrained(model_id, { quantized: false });
const tokenizer = await AutoTokenizer.from_pretrained(model_id);

/**
 * 使用 CrossEncoder 对给定查询和文档进行排序。返回排序后的列表,包含文档索引和分数。
 * @param {string} query 单个查询
 * @param {string[]} documents 文档列表
 * @param {Object} options 排序选项
 * @param {number} [options.top_k=undefined] 返回前 k 个文档。如果未定义,则返回所有文档。
 * @param {number} [options.return_documents=false] 如果为 true,则同时返回文档。如果为 false,则只返回索引和分数。
 */
async function rank(query, documents, {
    top_k = undefined,
    return_documents = false,
} = {}) {
    const inputs = tokenizer(
        new Array(documents.length).fill(query),
        { text_pair: documents, padding: true, truncation: true }
    )
    const { logits } = await model(inputs);
    return logits.sigmoid().tolist()
        .map(([score], i) => ({
            corpus_id: i,
            score,
            ...(return_documents ? { text: documents[i] } : {})
        })).sort((a, b) => b.score - a.score).slice(0, top_k);
}

// 示例用法:
const query = "Organic skincare products for sensitive skin"
const documents = [
    "Eco-friendly kitchenware for modern homes",
    "Biodegradable cleaning supplies for eco-conscious consumers",
    "Organic cotton baby clothes for sensitive skin",
    "Natural organic skincare range for sensitive skin",
    "Tech gadgets for smart homes: 2024 edition",
    "Sustainable gardening tools and compost solutions",
    "Sensitive skin-friendly facial cleansers and toners",
    "Organic food wraps and storage solutions",
    "All-natural pet food for dogs with allergies",
    "Yoga mats made from recycled materials",
]

const results = await rank(query, documents, { return_documents: true, top_k: 3 });
console.log(results);

就这样!您现在可以在项目中使用 jina-reranker-v1-turbo-en 模型了。

评估

我们评估了 Jina Reranker 在 3 个关键基准上的表现,以确保顶级的性能和搜索相关性。

模型名称 NDCG@10(17 个 BEIR 数据集) NDCG@10(5 个 LoCo 数据集) Hit Rate(LlamaIndex RAG)
jina-reranker-v1-base-en 52.45 87.31 85.53
jina-reranker-v1-turbo-en(您正在使用的) 49.60 69.21 85.13
jina-reranker-v1-tiny-en 48.54 70.29 85.00
mxbai-rerank-base-v1 49.19 - 82.50
mxbai-rerank-xsmall-v1 48.80 - 83.69
ms-marco-MiniLM-L-6-v2 48.64 - 82.63
ms-marco-MiniLM-L-4-v2 47.81 - 83.82
bge-reranker-base 47.89 - 83.03

注意:

  • NDCG@10 是排序质量指标,分数越高表示搜索结果越好。Hit Rate 衡量在 top 10 搜索结果中出现相关文档的百分比。
  • 其他模型在 LoCo 数据集上的结果不可用,因为它们不支持超过 512 个 token 的长文档。

有关更多详细信息,请参阅我们的基准测试表格

联系方式

加入我们的 Discord 社区,与其他社区成员交流关于想法的想法。

jinaai/jina-reranker-v1-turbo-en

作者 jinaai

text-ranking transformers
↓ 95.6K ♥ 66

创建时间: 2024-04-15 05:45:01+00:00

更新时间: 2025-09-10 09:50:56+00:00

在 Hugging Face 上查看

文件 (19)

.gitattributes
README.md
config.json
configuration_bert.py
merges.txt
model.safetensors
modeling_bert.py
onnx/model.onnx ONNX
onnx/model_bnb4.onnx ONNX
onnx/model_fp16.onnx ONNX
onnx/model_int8.onnx ONNX
onnx/model_q4.onnx ONNX
onnx/model_quantized.onnx ONNX
onnx/model_uint8.onnx ONNX
pytorch_model.bin
special_tokens_map.json
tokenizer.json
tokenizer_config.json
vocab.json