web-llm
浏览器里跑大模型,隐私本地化,WebGPU 加速的客户端 AI 推理引擎
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
浏览器里跑大模型,隐私本地化,WebGPU 加速的客户端 AI 推理引擎
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

图片来源:MLC-AI 官方 GitHub 仓库
想象一下这个场景:你是一名记者,经常在咖啡馆、机场候机厅等公共 Wi-Fi 环境下工作。你需要用大语言模型帮助整理采访记录,但把敏感的未发布内容上传到第三方服务器让你感到不安——万一数据被缓存、分析甚至泄露呢?
传统的解决方案是:要么忍受隐私风险用云端 API,要么花大价钱购置高配 GPU 本地部署。但 WebLLM 给出了第三条路:让大模型直接在浏览器里运行,数据从不离开你的设备,同时还能利用本地 GPU 加速。
这听起来像是科幻小说,但 WebLLM 已经把它变成了现实。截至 2026 年 5 月,这个项目在 GitHub 上获得了超过 18,000 颗星,吸引了全球开发者和 AI 从业者的广泛关注。
WebLLM 由 MLC-AI 团队开发,是 MLC LLM 项目的浏览器端实现。MLC(Machine Learning Compilation)是一个横跨多个硬件平台和运行时环境的大模型部署框架,目标只有一个:让任意开源大模型能在任意设备上高效运行。
MLC 团队的核心成员来自华盛顿大学(University of Washington)和匹兹堡卡内基梅隆大学(CMU),主要赞助方包括 AMD、NVIDIA 等硬件厂商。这解释了为什么 WebLLM 能充分利用 GPU 加速能力——底层正是借助了这些厂商在 WebGPU 标准上的投入。
项目的设计哲学很明确:隐私优先、性能优先、跨平台优先。不做服务器端,数据完全在本地处理;利用 WebGPU 把显卡算力引入浏览器;支持 Windows、macOS、Linux 甚至手机浏览器,一套代码处处运行。
WebLLM 的核心竞争力在于它借助 WebGPU API 直接调用设备 GPU 进行计算。WebGPU 是 W3C 推出的新一代 Web 图形/计算标准,类比于桌面端的 Vulkan/DirectX 12/OpenCL,允许网页应用以接近原生的速度执行并行计算。
在 MLC 团队的努力下,他们将 TVM(Tensor Virtual Machine)编译器与大模型推理优化技术移植到了 WebGPU 后端。这意味着 Llama 3、Qwen、Mistral 等主流开源模型,都能以每秒数个 token 的速度在浏览器中运行——对于完全跑在客户端的方案来说,这个速度相当可观。
WebLLM 最大的工程亮点之一是实现了与 OpenAI API 的全面兼容。它完全支持以下特性:
这种设计让开发者几乎不需要修改现有代码,就能把 AI 应用从云端迁移到本地浏览器,或者在两者之间灵活切换。
WebLLM 原生支持多个主流模型家族,具体可在 MLC Models 页面查看完整列表。主要包括:
这些模型以 MLC 格式分发,经过团队专门编译优化,首次运行时自动从 CDN 下载到本地缓存。用户无需手动下载和管理模型文件。
项目采用了高度模块化的设计:
使用 WebLLM 的门槛非常低。以下是一个最小化示例:
import { MLCEngine } from "@mlc-ai/web-llm";
const engine = await MLCEngine.CreateFromRegistry("Llama-3.2-3B-Instruct-q4f16_1-MLC");
const response = await engine.chat.completions.create({
messages: [{ role: "user", content: "解释一下 WebGPU 是什么" }]
});
console.log(response.choices[0].message.content);
只需要三步:引入包、创建引擎实例、调用 chat API。整个模型首次加载时自动从 CDN 拉取(需要网络),之后会缓存到浏览器 IndexedDB 中。
项目还提供了 JSFiddle 和 CodePen 上的在线可运行示例,无需安装任何环境即可体验。
WebLLM 并非完美,了解其局限有助于做出正确的技术选型。
WebGPU 并非所有浏览器都支持。目前稳定支持 WebGPU 的浏览器版本为:
在不支持 WebGPU 的浏览器上,WebLLM 无法运行。虽然可以通过 polyfill 回退到 WASM CPU 模式,但性能会大幅下降。
较大的模型(如 7B 参数模型)文件体积可达数 GB,首次加载时间取决于网络速度。一个典型的 3B 模型首次下载可能需要 1-3 分钟,而之后的本地缓存可以让再次加载快得多。对于在国内网络环境下的用户,CDN 下载速度是主要瓶颈。
WebLLM 完全依赖客户端算力。移动设备或轻薄本上的集成显卡(iGPU)性能有限,复杂推理任务(如长上下文、长回复生成)可能遇到性能瓶颈。处理 128K tokens 超长上下文的场景,目前还不适合完全放在浏览器端。
由于推理完全在浏览器沙箱中运行,开发者无法像服务端 API 那样方便地进行性能剖析、日志分析和模型调试。一旦出问题,排查手段相对有限。
WebLLM 的出现代表着 AI 推理从「集中式云端」向「分布式边缘」演进的一个重要节点。
从用户隐私角度看,当模型完全在本地浏览器运行时,敏感数据永远不会离开用户的设备——这对医疗、法律、金融等强合规行业有巨大吸引力。
从商业角度看,它为开发者提供了一种绕过 API 调用成本的途径。用量不受 API 配额限制,也不用担心服务商的 rate limit 或价格变动。
从技术生态角度看,WebLLM 证明了 WebGPU 作为通用计算平台的能力已接近实用临界点。随着浏览器对 WebGPU 支持的普及和 GPU 算力的持续提升,浏览器端的 AI 推理能力将进一步增强。
| 步骤 | 操作 | 说明 |
|---|---|---|
| 1 | 访问 chat.webllm.ai | 无需安装,直接在浏览器中体验 |
| 2 | npm install @mlc-ai/web-llm | 在项目中引入 WebLLM 包 |
| 3 | 参考 examples/get-started | 从最简单的对话示例开始 |
| 4 | 查看 examples/ 目录 | 覆盖流式输出、JSON Mode、Web Worker 等进阶用法 |
| 5 | 阅读 官方文档 | 完整的 API 文档和部署指南 |
总结:WebLLM 是一款将大模型推理能力带入浏览器的高性能引擎,以 Apache 2.0 开源许可,由 MLC-AI 团队(华盛顿大学/卡内基梅隆背景)维护。它通过 WebGPU 实现硬件加速,完整兼容 OpenAI API,支持 Llama/Qwen/Mistral 等主流模型,适合隐私敏感场景和对成本敏感的开发者。目前不支持无 WebGPU 环境的浏览器(Firefox 暂不支持),且大模型首次加载依赖 CDN 下载是其主要限制。对于愿意在浏览器端运行的 AI 爱好者和技术选型者,WebLLM 提供了令人信服的方案。