新闻
模型
API
keyboard_arrow_down
读取器
读取URL或搜索为大模型提供更好的依据。
向量模型
世界一流的多模态多语言向量模型。
重排器
世界一流的重排器,最大限度地提高搜索相关性。
MCP terminal命令行articlellms.txtsmart_toy代理人data_object模式menu_book文档



登录
login
检索无关的神经重排序
为什么选择 Jina Reranker?
将 Jina Reranker 添加到现有工作流程中:
实践展示:用 Jina Reranker 增强电子商务搜索
Pipeline #1:仅使用 BM25
Pipeline #2:BM25 + Jina Reranker
将 Jina Reranker 与 BM25 集成的影响
准备提升您的搜索体验?
技术博客
四月 24, 2024

兼得两全其美:BM25 结合 AI 重排序

了解如何将 Jina Reranker 与传统词法搜索引擎集成,以获得更优的语义理解能力,同时避免迁移到完整向量搜索底座设施所带来的不便。
Black background embellished with binary code, featuring a central tech-inspired emblem with multicolored dots, BM25 tag, con
Yuting Zhang
Francesco Kruk
Yuting Zhang, Francesco Kruk • 6 分钟的读取量

跟上新的信息检索技术固然重要,但同样重要的是不要破坏那些经过验证并已经展现出商业价值的组件。

尽管AI 驱动的向量搜索不断发展,但现实情况是大多数公司仍在依赖传统的搜索技术,通常使用 BM25 算法的变体。这是一项可靠且经过时间考验的技术。切换到一个全新的系统不仅是一个重大步骤,而且往往不切实际,需要大量资源和彻底的运营改革。此外,BM25 是词法搜索引擎的基石,在 Elasticsearch 和 Solr 等广泛使用的搜索引擎平台中普遍应用。对于许多使用场景,它已经能够提供良好的结果。

因此,尽管有令人信服的证据表明基于 AI 的搜索能够显著提高用户满意度和结果质量,许多公司仍然对完全转向神经搜索持犹豫态度。

tag检索无关的神经重排序

Reranker 是搜索系统领域的一个突破性补充。它被设计用来提升现有搜索引擎(如 Elasticsearch)的价值,作为一个额外的层级,像插件一样工作以提升搜索质量。它不需要知道它所连接的是什么类型的搜索技术,只需要接收匹配列表并重新排序以获得更好的结果。

Jina Reranker 为传统搜索技术增加了更深层次的理解能力。像 BM25 这样的算法在基于词频检索文档方面做得很好,但在根据用户意图评估所检索文本的含义方面却存在困难。这正是 AI 擅长的领域:Reranker 帮助产生更符合用户需求的结果。

因此,对于希望将 AI 模型的强大优势引入其搜索框架的企业来说,添加 Jina Reranker 可能是一个明智的决定,而且不会带来替换现有搜索底座设施的负担。这是关于优化搜索结果,使其不仅可以接受,而且卓越:更相关、更准确。

tag为什么选择 Jina Reranker?

在重排序模型中,Jina Reranker 模型以其在性能基准测试中的最先进成绩而脱颖而出。

使用 Jina Reranker 最大化搜索相关性和 RAG 准确性
使用 Jina Reranker 提升您的搜索和 RAG 准确性。我们的新模型相比简单的向量搜索提高了 20% 的准确性和相关性。立即免费试用!

在本文中,我们将展示如何为电子商务平台实现推荐系统。首先,我们将分析单独使用 BM25 检索器的性能。然后,我们将 Jina Reranker 添加到检索管道中,看看结果如何变得更相关和有效。

💡
你可以在 Colab 上跟随操作或下载 notebook。

tag将 Jina Reranker 添加到现有工作流程中:

Screenshot 2024-04-08 at 11.44.21

以下是集成 Jina Reranker 的更新工作流程的细节:

  • 初始检索:当输入查询时,BM25 搜索引擎主要根据查询词与文档的匹配来检索相关文档。
  • 重排序:jina-reranker-v1-base-en 接收这些初始结果,并使用最先进的 AI 根据用户的查询评估每个检索文档的相关性。
  • 返回结果:Jina Reranker 然后重新排序搜索结果,确保最相关的文档显示在顶部。

我们的易用的 API 和全面的文档将指导您完成整个过程,只需对您的系统进行最小的更改。

Reranker API
轻松实现搜索相关性和 RAG 准确性的最大化

tag实践展示:用 Jina Reranker 增强电子商务搜索

BM25+Rerank dark (1)
查询通过 BM25,检索到的文档由 Jina Reranker 优化。

让我们通过一个实际的电子商务示例来展示 Jina Reranker 在实际应用中的影响。这里的目标是基于用户的查询搜索产品列表。

为了说明这一点,我们将使用流行的 AI 搜索和编排框架 Haystack by deepset 设置两个搜索管道。第一个管道单独使用 BM25。第二个将 jina-reranker-v1-base-en 集成到 BM25 系统中。如果您有现有的 Elasticsearch 集群,可以轻松地用 ElasticsearchDocumentStore 替换 Haystack 的 InMemoryDocumentStore 组件来进行相同的实验。

我们将使用来自 Kaggle 的样本数据集。您可以直接在这里下载 CSV。这个并排比较展示了将 Jina Reranker 集成到搜索工作流程中带来的改进。

首先,安装所有必需的组件:

pip install --q haystack-ai jina-haystack

将 Jina API Key 设置为环境变量。您可以在这里生成一个。

import os
import getpass

os.environ["JINA_API_KEY"] = getpass.getpass()

根据产品名称查询产品。例如:

short_query = "Nightwear for Women"

将每个 CSV 行转换为 Document:

import csv
from haystack import Document

documents = []
with open("fashion_data.csv") as f:
    data = csv.reader(f, delimiter=";")
    for row in data:
      row_text = ''.join(row)
      row_doc = Document(content=row_text, meta={"prod_id": row[0], "prod_image": row[1]})
      documents.append(row_doc)

tagPipeline #1:仅使用 BM25

from haystack import Pipeline
from haystack.document_stores.types import DuplicatePolicy
from haystack.document_stores.in_memory import InMemoryDocumentStore
from haystack.components.retrievers.in_memory import InMemoryBM25Retriever

document_store=InMemoryDocumentStore()
document_store.write_documents(documents=documents, policy=DuplicatePolicy.OVERWRITE)

retriever = InMemoryBM25Retriever(document_store=document_store)

rag_pipeline = Pipeline()
rag_pipeline.add_component("retriever", retriever)
result = rag_pipeline.run(
            {
                "retriever": {"query": query, "top_k": 50},
            }
        )

for doc in result["retriever"]["documents"]:
    print("Product ID:", doc.meta["prod_id"])
    print("Product Image:", doc.meta["prod_image"])
    print("Score:", doc.score)
    print("-"*100)

以下是 BM25 返回的 50 个结果的缩略图:

image

我们可以看到,结果与睡衣相关,部分匹配查询,但最相关的匹配(网格中加粗的图片)似乎在 BM25 检索的众多产品中迷失了。在实践中,仅使用 BM25 意味着用户会在页面顶部看到主要不相关的结果。

tagPipeline #2:BM25 + Jina Reranker

以下脚本概述了如何逐步构建这个管道:

from haystack_integrations.components.rankers.jina import JinaRanker

ranker_retriever = InMemoryBM25Retriever(document_store=document_store)

ranker = JinaRanker()

ranker_pipeline = Pipeline()
ranker_pipeline.add_component("ranker_retriever", ranker_retriever)
ranker_pipeline.add_component("ranker", ranker)

ranker_pipeline.connect("ranker_retriever.documents", "ranker.documents")
result = ranker_pipeline.run(
            {
                "ranker_retriever": {"query": query, "top_k": 50},
                "ranker": {"query": query, "top_k": 10},
            }
        )

for doc in result["ranker"]["documents"]:
    print("Product ID:", doc.meta["prod_id"])
    print("Product Image:", doc.meta["prod_image"])
    print("Score:", doc.score)
    print("-"*100)

以下是 Jina Reranker 返回的前 10 个结果:

image

与 BM25 相比,Jina Reranker 返回了更相关的结果集。在我们的电商环境中,这意味着更好的用户体验和更高的购买可能性。

tag将 Jina Reranker 与 BM25 集成的影响

根据我们在电商领域的案例研究,很明显 Jina Reranker 与 Elasticsearch 等传统搜索引擎的集成标志着搜索技术的重大飞跃。以下是这种集成如何改善搜索体验的概述:

  • 提升命中率:Jina Reranker 和传统搜索的融合显著提高了相关结果的频率。这使搜索过程更准确,更贴近用户查询。
  • 改善用户体验:搜索结果质量有明显提升。这表明 Jina Reranker 和 BM25 的组合能力更好地满足了用户的具体需求,提升了整体搜索体验。
  • 复杂查询的高精度:在处理困难搜索时,这种协同确保了对查询和相关内容更深入的理解。这转化为更精确、更准确的结果。

tag准备提升您的搜索体验?

Jina Reranker 是提高搜索结果相关性的理想解决方案。它可以无缝集成到您现有的搜索系统中,并且只需少量代码就能快速实现。

如果您对目前所读的内容感兴趣,并渴望看到 Jina Reranker 能带来的改变,为什么不试一试呢?开始您的旅程,亲身体验 Jina AI 的 Search Foundation 模型在您自己环境中的变革力量。

类别:
技术博客
rss_feed

更多新闻
三月 11, 2026 • 7 分钟的读取量
从多模态大模型中引导音频向量模型
Han Xiao
Abstract illustration of a sound wave or heartbeat, formed by blue, orange, and gray dots on a white background.
三月 06, 2026 • 6 分钟的读取量
通过原始数值识别向量模型
Han Xiao
Fingerprint illustration made from numbers, showcasing digital and high-tech design on a light background.
九月 09, 2025 • 11 分钟的读取量
Llama.cpp 和 GGUF 中的多模态向量模型
Andrei Ungureanu
Alex C-G
Cartoon llama in the center of a white background, emitting laser-like beams from its eyes. The illustration creates a playfu
办公室
location_on
加利福尼亚州桑尼维尔
710 Lakeway Dr, Ste 200, 桑尼维尔, 加州 94085, 美国
location_on
德国柏林
Prinzessinnenstraße 19-20,10969 柏林,德国
搜索底座
读取器
向量模型
重排器
获取 Jina API 密钥
速率限制
API 状态
公司
关于我们
联系销售
新闻
实习生项目
下载 Jina 标志
open_in_new
下载 Elastic 徽标
open_in_new
条款
安全
条款及条件
隐私
管理 Cookie
email
Elastic Jina AI © 2020-2026.