更新日志

reranker.uk 已上线内容 —— Demo 改进、新指南与站点基础设施。

2026 年 9 月 28 日 —— transformers.js 4.3.0,以及「只报告」模式抓到了什么

  • Demo 升级到 transformers.js 4.3.0 —— 从 3.5.1 升上来,ONNX Runtime Web 也从 1.22 升到 1.31。合并前在真实的 jsDelivr 和 HuggingFace 上把三个 Demo 模型都跑过一遍,不只是对着源码看了看
  • 「只报告」模式的 CSP 立了功 —— 第一次对着真实流量跑,就发现 HuggingFace 会把模型权重重定向到策略里没列出的 CDN 域名。如果当时是强制模式,Demo 里的每一次模型下载都会被拦掉。在真正强制之前就已经修好了
  • ……升级时也抓到了问题 —— transformers.js 4 默认会从 blob: URL 加载 ONNX Runtime 的一部分代码。现在 Demo 直接关掉了这个缓存,而不是为此放宽全站每一页的策略
  • 更严格的真实网络测试 —— 每日检查现在会跑 Demo 里可选的每一个模型,而不只是默认那个;如果一段明显相关的文本没能排在无关文本前面,测试就会失败,所以「能加载但排错了」的模型不会再蒙混过关

2026 年 9 月 27 日 —— 加了安全响应头,先以只报告模式跑

  • 新增 public/_headers —— X-Content-Type-Options、X-Frame-Options、Referrer-Policy、Permissions-Policy,外加一条 Content-Security-Policy,在构建期生成,而不是手工维护
  • CSP 目前是「只报告」模式 —— 这个仓库的沙盒开发环境连不上真实的 jsDelivr / HuggingFace / hf-mirror.com 流量,也跑不了真实的 WASM 实例化,没法确认更严格的策略实际会不会弄坏 Demo,所以现在只记录违规,等对着真实环境验证过之后再改成强制拦截
  • 没有手抄的哈希值 —— CSP 的 script-src 通过一个在构建期从脚本实际内容算出的 sha256- 哈希,放行站内唯一的内联脚本(早期主题检测),而不是手工填一个可能跑偏的值
  • 两个冒烟测试现在都会盯着 CSP 违规 —— tests/helpers/csp.mjs,在 mock 版和真实网络版的 Demo 测试里都有断言;特意在本地弄坏了一次 style-src 看着测试真的红了,确认这套机制真能抓到问题

2026 年 9 月 26 日 —— ms-marco MiniLM 的 BEIR 数字其实从没被公布过

  • ms-marco MiniLM-L6 现在写「未公布」 —— 本表此前挂着一个没有来源的 ~55.0;sentence-transformers 自己的文档给这个模型报的是 TREC DL 19 上的 NDCG@10(74.30)和 MS MARCO Dev 上的 MRR@10(39.01),并不是 BEIR 均值。是在下面这条 mxbai 修正之后顺手检查表里其他数字时发现的 —— 同样的问题,换了个模型

2026 年 9 月 26 日 —— mxbai-rerank-v2、一处 BEIR 数字修正,以及一个 Demo 冒烟测试

  • mxbai-rerank-large-v1 的 BEIR 分数已修正 —— 本表此前挂着一个没有来源的 ~62.1,挂了好几个月;mixedbread 自己的对比表给出的是 49.32*。是一位读者发现这个数字跟 mixedbread 自己给新模型报的分数对不上,才让这个问题浮出水面
  • 新增 mxbai-rerank-v2 —— 基于 Qwen2.5、经强化学习训练的新一代(base-v2 0.5B、large-v2 1.5B),新增 100+ 种语言支持,包括中文;v1 其实只支持英文,之前的表没把这点说清楚
  • data/models.json —— 经历过上面这种修正的基准数字,现在统一放进一个带来源的文件,而不是散落在每个提到它的页面里手写一遍;没有来源的数字构建会直接拒绝渲染,超过 6 个月没复核过也会有构建期提醒
  • 为在线 Demo 加了冒烟测试 —— 每个 PR 都会用 npm test 对着一个假模型跑一遍「加载 → 打分 → 渲染」流程;另有一个每日任务对着真实的 jsDelivr / HuggingFace 链路跑,真出问题时才靠这个发现

2026 年 9 月 18 日 —— URL 去掉了 .html,外加两处计价修正

  • URL 去掉了 .html —— 站内所有链接、sitemap、hreflang 标签与 JSON-LD 现在都直接指向 Cloudflare 本就会跳转到的无扩展名 URL,省掉了每次站内跳转多余的一次 307
  • Voyage 的免费额度换代了 —— 2 亿免费 token 的额度已不在 rerank-2.5 上;现在随 rerank-3 预览版发放,已连同 rerank-3-lite 一并加入模型表与成本计算器
  • 成本计算器的 token 公式修正了 —— Voyage 是按「每个被重排的文档都计一次 query」计费,而不是每次查询只计一次;只要每次查询的候选数大于一,计算器此前都会低估 token 数(和成本)
  • Cohere 分块问题说清楚 —— 一份外部审计认为 Cohere 会把超过 500 token 的段落静默拆分成额外的计费分块;实际并非如此(上下文长度是 32,768 token,分块是可选项),因此计算器页面直接说明了这一点,而不是照搬这个错误的计费模型
  • 首页示意图现在也有中文 —— 「一张图看懂重排序」是一段翻译流程看不到的内联 SVG;现在它的标签与图注在 /zh/ 上会显示为中文
  • 模型对比表的可访问性 —— 对比表新增了标题说明、列/行表头,并做成了可滚动、可用键盘聚焦的区域,方便屏幕阅读器与窄屏使用

2026 年 8 月 25 日 —— 两篇针对真实提问的指南

  • 重排序没起作用 —— 逐条排查重排序看不到提升的七个原因,从最能解释问题的那条开始:检索压根没返回正确的文档
  • 在向量数据库上做重排序 —— 「宽召回后重排」模式,含 pgvector、Qdrant 与 Elasticsearch 的代码,也包括 HNSW 的 ef_search 陷阱:limit 放大了,返回的却是凑数而非候选
  • /llms.txt —— 自动生成的站点地图,供引用前会读它的 AI 助手使用,其中也说明了我们的基准脚注该怎么读
  • 订阅源自动发现 —— 更新日志 RSS 现在在每一页都会声明,而不只是更新日志页

2026 年 8 月 14 日 —— 成本计算器,以及不再落空的 Demo 链接

  • 重排序成本计算器 —— Cohere 按次检索计费、Voyage 按 token 计费,因此哪家更便宜会随段落长度和 top-k 翻转。填入你自己的量级,看看分界线在哪
  • 场景深度链接 —— 指南与模型页上全部 25 个 Demo 链接,现在都会通过新的 ?s= 参数打开该页真正讲的那个场景
  • 分享链接变短 —— 未经修改的内置场景现在分享为 ?s=rag,而不是 900 字符的长链接
  • 改链接不再丢翻译 —— 构建会把译文里的链接指向新目标,而不是让整段退回英文

2026 年 8 月 11 日 —— 中文有了独立 URL,模型数据刷新到 2026

  • 中文页面迁到 /zh/ —— 每个页面都在构建期预渲染成中文并拥有自己的 URL 与自指 canonical,不再是三个 hreflang 全指向同一页的前端切换
  • 页面更轻 —— 翻译改在构建期完成,约 200 KB 的词典不再下发到浏览器
  • Sitemap 改为自动生成 —— 从页面树生成,带 hreflang 备选链接,lastmod 取自 git,替代此前已经失准的手工维护文件
  • Cohere Rerank 4 —— rerank-v4.0-pro 与 rerank-v4.0-fast 取代 v3.5;32k 上下文,按次检索计费
  • Voyage rerank-2.5 —— 32k 上下文并支持指令跟随;对比表此前按文档计价有误,现已改为按 token
  • Jina v3 数据落实 —— 0.6B,BEIR nDCG@10 61.94,131K 上下文内 64 篇文档
  • Qwen3 行如实修正 —— 移除 8B 无法核实的「~75+」数字;有报告显示 4B 反而略优于它
  • 视觉改版 —— 流体字号阶梯、成体系的层次阴影,以及全站统一的键盘聚焦样式

2026 年 6 月 25 日 — 模型版图刷新

  • Qwen3-Reranker —— 0.6B / 4B / 8B 行 + 深评页
  • Jina v3 —— listwise 旗舰;tiny 保留给浏览器 Demo
  • 表新增 —— gte-reranker-modernbert-base、NVIDIA nv-rerankqa / Nemotron
  • 自托管 / 首页 / 选型 —— GPU 默认 Qwen3-4B;bge 仍为 CPU 路径
  • 分数脚注 —— MTEB-R* vs 经典 BEIR;下次复核 2026 年 10 月

2026 年 6 月 25 日 — 最小打磨包

  • 诚实基准 —— 新兴行用 ≈ / n/a;下次复核 2026 年 9 月;价格滞后说明
  • Demo max_length —— 256 / 384 / 512 token;字符警告随选择变化
  • 按需加载 transformers.js —— 首次点重排序才加载
  • 指令 rerank 指南 —— 任务导向排序
  • 首页 —— 不止五大家 + ColBERT / 指令指南链接

2026 年 6 月 25 日 — 内容扩展与打磨

  • 模型表 —— 架构列;Qwen3-Reranker、Contextual AI、ColBERTv2、ms-marco 浏览器行
  • Late-interaction 指南 —— ColBERT 与何时跳过 cross-encoder rerank
  • Demo 预设 —— 电商 + 多语言(7 个场景);模型表 ms-marco ?m=
  • JSON-LD —— inLanguage 随中/英切换
  • 更新日志 RSS —— /changelog.rss 订阅

2026 年 6 月 25 日 — i18n 与 SEO 补全

  • 模型页 i18n —— 五个模型家族的标签、目录、日期、优缺点、其他模型
  • 更新日志 + 隐私 i18n —— 两页全文中文
  • hreflang —— 全站 en、zh-Hans、x-default(同 URL,客户端切换)
  • og:locale:alternate —— 随语言切换与主 locale 对调

2026 年 6 月 25 日 — 低优先级打磨

  • 指南 i18n —— 自托管、场景选型、混合检索、评测指南全文中文
  • 压缩分享链接 —— Demo URL 超约 1600 字符时用 ?z= gzip
  • 预设移动端布局 —— 窄屏 2 列网格
  • og:locale —— 语言切换为中文时设为 zh_CN
  • 双模型差异 a11y —— 表格 caption、行表头、空状态、aria-labelledby

2026 年 6 月 23 日 — 中优先级体验与内容

2026 年 6 月 23 日 — Demo 体验第二轮

  • 模型加载面板 —— 进度 %、ETA、文件名、缓存状态
  • JSON 段落 —— 粘贴 JSON 数组或 { "passages": [...] } 对象
  • 双模型差异视图 —— 对齐表格,含分数与名次差
  • 模型表 —— 排序、筛选,?m= 跳转 Demo
  • 移动端段落编辑 —— 小屏增删列表
  • 错误提示 —— 网络、WebGPU、内存、限制等分类消息
  • 更新日志 + 隐私 —— 本页与简短隐私说明
  • 导航 —— 顶栏首页与指南链接

2026 年 6 月 23 日 — 完整发布(计划项 1–5、7–10)

  • 构建系统:src/partials + src/pages → scripts/build.mjs
  • Demo:三列结果、bi-encoder 代理、双模型对比、WebGPU、URL 分享
  • 指南索引、混合检索、评测 reranker
  • 模型:2026 年 6 月核验、选型卡片、首页 mxbai
  • i18n:data-i18n 键 + 共享词典;EN/中文 切换
  • 页脚 GitHub 链接;粘性导航;aria-live 状态

2026 年 6 月 21 日 — 首次上线

  • reranker、cross- vs bi-encoder、RAG 教育指南
  • bge、Cohere、Jina、Voyage、mxbai 模型对比页
  • 基于 transformers.js 的浏览器内 cross-encoder Demo
  • 部署于 Cloudflare Workers(静态资源)

试用 Demo →