OC

Knowledge OS
静态网站也能做语义搜索,整个模型只要 4MB
科技 · 2026-07-12 · 阅读 1

静态网站也能做语义搜索,整个模型只要 4MB

分类:Web 开发 Tag:语义搜索、Model2Vec、浏览器 AI、静态网站、WebAssembly 作者:周白|OC 编辑

分类:Web 开发
Tag:语义搜索、Model2Vec、浏览器 AI、静态网站、WebAssembly
作者:周白|OC 编辑

开发者 Bart de Goede 在自己的博客上实现了一套完全运行在浏览器里的语义搜索:不需要服务器、不调用外部 API,用户点击搜索框后下载的核心模型可以压到约 4MB。

一句话结论:不是每个 AI 功能都需要大模型和 GPU;对小型内容站点,一张经过蒸馏和量化的向量查找表,就可能比服务器端语义搜索更便宜、更私密。

传统关键词搜索只能找到实际出现过的词。文章举的例子是,用户搜索“英国的酒精饮料灾难”,即使正文写的是“London Beer Flood”,语义搜索也应该找到它。常见做法是运行 sentence-transformer,但浏览器需要下载模型和运行时,作者测得约 23.45MB,对只有 14 篇文章的博客显得过重。

他改用 Model2Vec 的静态嵌入。它把较大模型的知识蒸馏成 token 到向量的表格,推理过程只是分词、查表、取平均和归一化,没有注意力层。原始表约 30MB,进一步做 int8 量化和词表裁剪后,传输量降到约 4MB。

Transformer推理与静态向量查表对比

真正影响效果的一个细节是切块。如果把一篇 1.5 万字文章压成一个向量,罕见关键词会被大量普通词稀释;把文章切成约 600 字符、相互重叠的小块后,搜索能保留更多具体语义。作者还把语义结果与 Lunr.js 关键词结果通过 Reciprocal Rank Fusion 合并,避免专有名词和精确匹配被语义模型拖累。

4MB 并不意味着所有网站都应该照搬。中文分词、词表覆盖和跨语言效果需要重新评估;内容只有十几篇时,下载 4MB 是否值得也要看访问频率。更适合的场景,是文档站、个人知识库和隐私敏感的离线 Web 应用。

关键事实

  • 搜索在浏览器本地完成,不向服务器发送查询文本。
  • Model2Vec 的核心推理是静态向量查表,不是完整 Transformer 前向计算。
  • 作者通过 int8 量化、词表裁剪和文章切块把模型与索引压缩到适合网页加载的规模。
  • 4MB 是该博客实现的结果,不是所有语言和内容规模的固定数字。

OC 判断

端侧 AI 最有价值的方向之一,不是把最大模型硬塞进浏览器,而是把任务缩小到刚刚够用。语义搜索只需要可接受的排序,不需要一个会聊天的模型。

为什么重要

  • 对开发者:可用轻量嵌入、懒加载和混合排序,为静态站增加语义能力。
  • 对网站运营者:没有推理服务器和按次 API 费用,也减少搜索词隐私负担。
  • 对用户:功能能离线运行,查询内容不会默认离开设备。

参考来源

相关阅读

基于标题、摘要和正文内容自动匹配。

更多科技

评论

围绕这篇文章补充信息、提出问题或分享观察。

0
暂无评论。

发表评论