SecureRAG 会下载的每个模型,连同体积与许可

一共只有五个模型文件,全部开源许可、体积不大。默认两档各约 25MB,覆盖绝大多数人;两个生成模型是可选项,你不点它就不会下载。这一页把数字摊开写清楚。

最后更新:

打开页面不会下载任何模型。模型文件只在一次点击之后下载一次,那个按钮会把文件名和体积写在上面;文件存在你自己的浏览器缓存里。之后整个应用可以离线使用。

五个模型文件,一张表看完

表 1 — SecureRAG 可能下载的全部模型
模型参数量量化方式首次下载向量维度语言许可来源
bge-small-zh-v1.5 —— 中文默认档约 24M(模型页写 0.02B)int8 动态量化,ONNX约 25MB512中文;少量英文能用,但检索效果差一些MIT,以模型页为准https://huggingface.co/Xenova/bge-small-zh-v1.5
all-MiniLM-L6-v2 —— 英文默认档约 23Mint8 动态量化,ONNX约 23MB384英文Apache-2.0,以模型页为准https://huggingface.co/Xenova/all-MiniLM-L6-v2
multilingual-e5-small —— 可选,中英混排用约 118M(模型页写 0.1B)int8 动态量化,ONNX约 120MB384100 多种语言;同一份资料里中英混杂时选它MIT,以模型页为准https://huggingface.co/Xenova/multilingual-e5-small
Qwen2.5-0.5B-Instruct —— 可选,负责写答案总量 0.49B,去掉词嵌入后 0.36B4-bit 权重量化约 400MB不适用;它生成文字,不产出检索向量29 种以上语言,含中文Apache-2.0,以模型页为准https://huggingface.co/Qwen/Qwen2.5-0.5B-Instruct
Qwen2.5-1.5B-Instruct —— 可选,负责写答案总量 1.54B,去掉词嵌入后 1.31B4-bit 权重量化约 1.0GB不适用29 种以上语言,含中文Apache-2.0,以模型页为准https://huggingface.co/Qwen/Qwen2.5-1.5B-Instruct
为什么这里的体积比原始仓库小: 表中数字对应我们实际分发的量化 ONNX 版本,比原始训练权重小得多。以 bge-small-zh-v1.5 为例,全精度版本要重好几倍。上游的参数量和许可可能变,模型页永远优先于这张表;如果哪个数字被证明是错的,我们会改这一页并在更新日志里记一笔。

硬件要求,以及 WebGPU 改变了什么

向量化跑在 Web Worker 里,所以建索引时界面不会卡。浏览器提供 WebGPU 时,这个 Worker 用显卡跑模型;不提供时,同一个模型通过站内自带的 onnxruntime WebAssembly 版本用 CPU 跑。CPU 这条路慢好几倍,长 PDF 上的差距是几秒和一分钟的区别。CPU 路线上功能没有缺失——向量一样,结果一样。

表 2 — 各类设备实际能做什么
环境向量化与检索可选的 1.5B 生成档我们的建议
桌面浏览器支持 WebGPU(Chrome、Edge、较新 Safari)用显卡跑,比 CPU 路线快好几倍大约每秒几个词,能读,但远达不到云端聊天机器人的速度推荐环境。只用检索档时留出 300MB 空闲内存就够
桌面浏览器不支持 WebGPU(Firefox、较老 Safari、老显卡)退回站内自带的 WebAssembly 版本慢。写一小段可以,长答案就难受了这类设备用检索档,功能完整
手机、平板能跑,但文档数量上限更低,移动浏览器还有自己的内存上限默认关闭:这个下载体积超过移动端标签页通常被允许占用的内存适合查东西。要索引长篇报告,还是用电脑
浏览器没有 WebAssembly,或站点存储被禁用不支持不支持我们会在第一屏就说清楚,而不是建索引建到一半才失败
内存建议是建议,不是实测下限。 只用检索档,建议留出约 300MB 空闲内存;用最大的生成档,建议约 1.5GB,这还不算你其他标签页占用的部分。这些是为了跑得顺畅的推荐值,不是我们测出来的最低门槛,因为每个浏览器和系统统计内存的方式都不一样。

30MB 这条线,以及下载怎么确认

默认两个向量模型都不到 30MB,能覆盖大部分资料库。超过这条线的有四个:约 120MB 的多语言向量模型,以及约 400MB 和 1.0GB 的两个生成模型。这四个都只提供给你选,不会替你决定,而且每一次流量支出都要确认两次:打开下载面板一次,按下按钮一次。

01

面板先把代价写出来

在一个字节开始传输之前,面板上就有模型名、精确文件体积、将从哪个主机拉取、以及它带什么许可。你看这些的时候,没有任何请求发出。

02

你按下的按钮上写着体积

按钮长这样:「下载 120MB」,而不是「提升我的效果」。直接关掉面板就等于取消,一个请求都没发出去。

03

进度可见,取消是真取消

文件传输过程中能看到已传输字节数。下载到一半取消,半截文件会被丢掉,不会在磁盘上留半个模型。

04

文件存进你的浏览器,并且只请求一次

它落在你浏览器配置文件下的 Cache Storage 里。除非你清除站点数据,或者浏览器在存储压力下把它清掉,同一个文件不会再被请求——真被清掉时,同一个面板会带着同样的数字再出现一次。

这个请求里有什么

  • URL 里只有文件名和一个版本标识,别的什么都没有。
  • 查询串里不带你的文档、你的问题、你的语言,也不带任何能用来认出你的标识。
  • 没有 Cookie:这里没有账号系统可以设置 Cookie,请求本身也不携带凭证。
  • 模型托管方能看见你的 IP,这和你访问任何网站一样,是开放互联网的属性,不是这个应用额外加上去的。
  • 主站不可达时,同一个文件可能从镜像拉取。文件名、模型、体积完全一致,请求形态也一样。

自己核对下载数字

  1. 打开工具页,再打开开发者工具,切到 Network 面板。勾上「Preserve log」,过滤器设为显示全部请求。
  2. 清空请求列表,然后添加一份文档。列表里不会出现新请求。
  3. 切换模型档位。打开下载面板,在点确认之前读一遍体积——那里的数字和表 1 里的数字是同一个。
  4. 按下下载按钮,看那一个请求:路径里是模型文件名,响应体就是文件本身,传输体积和表里的数字对得上。
  5. 切到 Application 面板 → Cache Storage。模型在里面;你的文档不在那里,文本块和向量在 IndexedDB 里。
再补一步: 下载完成后把 Network 面板切到 Offline,再问一个问题。它照样回答,说明模型到手之后,回答这条路径根本不需要网络。
这一页没有广告。 每个页面都有广告位。站内其他位置的广告行为写在隐私政策里,而且在你同意之前不会有任何广告脚本加载。

如果这里的哪个数字是错的

写信到 guweiicy@gmail.com,说明模型名和你核对的那个数字。许可或参数量与上游模型页矛盾,就是我们写错了,我们会改正并在更新日志里记下来。