1. 为什么要做这次评测?

作为 Agent 应用开发工程师,向量检索是 RAG 架构的命脉。Jina v3 发布后,多语言和长文本的刷榜分数极高,但榜单分数不等于业务可用性。我们特别关心三个痛点:

  1. 跨语检索的方向性:中文查英文和英文查中文,效果对等吗?
  2. 规模鲁棒性:5k 文档测试的结果,能直接外推到 100k 级别的生产库吗?
  3. 长-长检索的真实难度:长 Query 查长文档,真的像榜单上那么神吗?

2. 实验设计与数据集构建(重点!)

为了避免“刷榜式评测”,我们采用了 MIRACL 为主评测集,并特别引入了 BRIGHT 和 ACORD 作为长文本补充评测。

⚠️ 严正避坑提示:在测试长文本检索时,我们尝试了一种非官方自定义的构造方式:将 MIRACL 的文档正文作为 Query,再去检索同一个文档池。由于 Query 和目标 Document 完全同源,这属于典型的评测构造泄漏,导致结果极易出现虚高(MRR=1.0 接近满分)。这绝非 MIRACL 官方评测任务,更不能代表模型在真实长文本检索中的能力! 真实长文本结论必须以 BRIGHT / ACORD 为准。

数据集说明
  • MIRACL:主评测集,评估多语、规模(5k/20k/100k)、短-长粒度。
  • BRIGHT (Stack Overflow):英文技术问答长 Query 检索长技术文档。其难度在于领域更技术化,长-长天然包含代码、专业术语,且存在大量语义相近但不相关的近似负样本。
  • ACORD:合同/法务条款长文本检索,具有典型的“多正例”特性(一个 Query 往往对应多个相关的法律条款段落),极度考验模型对相关材料的覆盖率。

3. 核心发现与业务解读

3.1 跨语检索:方向不对,努力白费

Jina v3 在单语检索上极强(中/英/法单语 5k 的 MRR 均高于 0.94),但跨语检索有明显的方向性:

  • 英法互搜:几乎无损,可作为低风险落地场景。
  • 中→英/法:可用,但排序会后移(MRR 保持率约 91%)。
  • 英/法→中当前最大短板!MRR 保持率跌至 84%,排序质量下降最明显。

业务解读:如果你的知识库是中文,用户用英文 Query 去搜,Jina v3 虽然能“找得到”,但正确答案很容易被挤到第一页之后。这类场景必须加 Reranker 或 BM25 混合检索兜底。

3.2 规模扩大:跨语检索受损更严重

我们将文档池从 5k 扩大到 100k,发现跨语检索的伤害明显大于单语:

  • 单语基线:中文单语在 100k 规模下 MRR 为 0.8476(相比 5k 下降 10.6%)。
  • 跨语跌落:以法文查中文为例,100k 规模下 MRR 直接从 0.8044 跌至 0.5927,下降 26.3%!中→英的 100k MRR 也降至 0.7053。

业务解读:规模扩大后,近似负样本增多,正确结果更容易被相似文档挤压。5k 的好结果绝不能直接外推到 100k。大库场景下,只看 Top-10 是不够的,必须看 Top-50/100 的覆盖。

3.3 长-长检索:撕开同源测试集的虚高假象

这是本次评测最反直觉的结论:

  • 自定义同源构造长-长:MRR = 1.0,Recall@10 = 1.0(由于 Query 与目标文档完全同源,满分是必然的,但这不代表模型能力,而是评测构造泄漏)。
  • BRIGHT (117个Query,100k文档池):MRR 暴跌至 0.1755,Recall@10 降至 0.1593。由于 BRIGHT 包含大量代码、术语和近似负样本,技术问答长文对规模极度敏感,首屏体验和覆盖同步崩盘。
  • ACORD (4k文档池,多正例特性):Hit@100 达到 1.0(每个问题都能在 Top100 沾边),但 Recall@100 仅 0.3082!因为法务合同条款往往一问多答,向量召回根本捞不全所有的相关片段。

业务解读:真实长文本任务(多正例+近似负样本)难度远超想象。Jina v3 可作为长文本域的召回底座,但绝不能作为完整的检索方案

4. 终极架构建议:别裸奔!

基于以上评测,如果你要在生产环境使用 Jina v3,我强烈建议采用以下架构:

[用户 Query] 
      │
      ▼
┌─────────────────────────────────────────────┐
│  Stage 1: 宽召回                  │
│  - Jina v3 向量检索 (取 Top-100)            │
│  - BM25 关键词检索 (取 Top-50)              │
│    (注:中文场景需配合如 jieba 等分词器)     │
│  - 合并去重                                 │
└─────────────────────────────────────────────┘
      │
      ▼
┌─────────────────────────────────────────────┐
│  Stage 2: 重排                    │
│  - 引入 Cross-Encoder 模型                  │
│  - 结合文档结构/标题字段精排                │
└─────────────────────────────────────────────┘
      │
      ▼
[送入 LLM 生成答案]

核心思路:用 Jina v3 保证召回的底线(找得到),用 Reranker 解决排序后移的问题(排得靠前),用 BM25 解决外文搜中文的短板和关键词精确匹配需求。

5. 复现与代码指南

为了方便大家自己跑实验验证,我开源了本次评测的核心脚本:

  1. 评测数据构建:通过 build_datasets.py 构建 MIRACL/BRIGHT/ACORD 子集。
  2. 指标计算:使用 summary.py 生成 MRR/Recall/NDCG 汇总 CSV。
# 示例:如何运行评测流水线
# 1. 生成 MIRACL / BRIGHT / ACORD 三份汇总 CSV
python summary.py 

# 2. 更新可视化图表
python visualize.py  

# 3. 运行扩展评测
python run_extend_eval_acord_bright.py

6. 🎁 完整工具包获取

文中由于篇幅限制,只列出了核心数据和代码片段。如果你想直接拿去给老板汇报或者快速复现实验,我打包了完整的【Jina v3 评测生产力工具包】:

  1. 📊 高清无水印评测解读 PDF(包含完整数据大表,直接拿去汇报/分享)
  2. 🐍 评测跑分 Python 脚本(summary / visualize 等,改改路径就能跑你自己的业务数据)
  3. 📁 MIRACL / BRIGHT / ACORD 原始跑分 CSV 数据(现成的图表数据源,不用自己跑几天几夜)

👉 获取方式:我整理在了我的小红书群聊/主页置顶,搜索【饼哥的Agent开发】, 看简介/置顶即可获取完整工具包!

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐