开发者生态
morning
WebLLM:高性能浏览器内LLM推理引擎
摘要
WebLLM is a high-performance in-browser LLM inference engine that brings language model inference directly onto web browsers with hardware acceleration. Everything runs inside the browser with no serv...
WebLLM
with
and
the
JSON
model
LLM
OpenAI
API
for
2026-09-02
1 阅读
约7分钟阅读
saikatsg
字号:
WebLLM 是一种高性能浏览器内 LLM 推理引擎,通过硬件加速将语言模型推理直接引入到 Web 浏览器上。一切都在浏览器内运行,无需服务器支持,并通过 WebGPU 进行加速。 WebLLM 与 OpenAI API 完全兼容。也就是说,您可以在本地任何开源模型上使用相同的 OpenAI API,其功能包括流式传输、JSON 模式、函数调用(WIP)等。我们可以为每个人带来很多有趣的机会来构建 AI 助手,并在享受 GPU 加速的同时实现隐私。您可以使用 WebLLM 作为基础 npm 包,并按照以下示例在其上构建您自己的 Web 应用程序。该项目是 MLC LLM 的姊妹项目,可实现跨硬件环境的 LLM 通用部署。浏览器内推理:WebLLM 是一种高性能、浏览器内语言模型推理引擎,利用 WebGPU 进行硬件加速,直接在 Web 浏览器中实现强大的 LLM 操作,无需服务器端处理。完全 OpenAI API 兼容性:使用 OpenAI API 将您的应用程序与 WebLLM 无缝集成,并具有流式传输、JSON 模式、logit 级别控制、播种等功能。结构化 JSON 生成:WebLLM 支持最先进的 JSON 模式结构化生成,在模型库的 WebAssembly 部分中实现,以实现最佳性能。检查 HuggingFace 上的 WebLLM JSON Playground,尝试使用自定义 JSON 模式生成 JSON 输出。广泛的模型支持:WebLLM 原生支持一系列模型,包括 Llama 3、Phi 3、Gemma、Mistral、Qwen(通义千问)等,使其适用于各种 AI 任务。有关完整支持的型号列表,请查看 MLC 型号 。自定义模型集成:轻松集成和部署 MLC 格式的自定义模型,让您能够根据特定需求和场景调整 WebLLM,增强模型部署的灵活性。即插即用集成:使用 NPM 和 Yarn 等包管理器或直接通过 CDN 轻松将 WebLLM 集成到您的项目中,并提供全面的示例和用于连接 UI 组件的模块化设计。流式传输和实时交互:支持流式聊天完成,允许实时输出生成,从而增强聊天机器人和虚拟助手等交互式应用程序。 Web Worker 和 Service Worker 支持:通过将计算卸载到单独的工作线程或服务工作线程,优化 UI 性能并有效管理模型的生命周期。 Chrome 扩展支持:使用 WebLLM 通过自定义 Chrome 扩展来扩展 Web 浏览器的功能,并提供可用于构建基本和高级扩展的示例。检查 MLC 型号上可用型号的完整列表。 WebLLM 支持这些可用模型的子集,并且可以在 prebuiltAppConfig.model_list 访问该列表。以下是目前支持的主要模型系列: Llama : Llama 3、Llama 2、Hermes-2-Pro-Llama-3 Phi : Phi 3、Phi 2、Phi 1.5 Gemma : Gemma-2B Mistral : Mistral-7B-v0.3、Hermes-2-Pro-Mistral-7B、NeuralHermes-2.5-Mistral-7B、 OpenHermes-2.5-Mistral-7B Qwen (通义千问) : Qwen2 0.5B, 1.5B, 7B 如果您需要更多模型,请通过打开问题请求新模型或检查自定义模型以了解如何通过 WebLLM 编译和使用您自己的模型。了解如何使用 WebLLM 将大型语言模型集成到您的应用程序中,并通过这个简单的聊天机器人示例生成聊天完成:有关更大、更复杂项目的高级示例,请查看 WebLLM 聊天 。示例文件夹中提供了不同用例的更多示例。 WebLLM 提供了一个简约的模块化界面来访问浏览器中的聊天机器人。该包以模块化方式设计,可以连接到任何 UI 组件。 # npm npm install @mlc-ai/web-llm # warnyarn add @mlc-ai/web-llm # 或 pnpm pnpm install @mlc-ai/web-llm 然后在代码中导入该模块。 // 导入所有内容 import * as webllm from "@mlc-ai/web-llm" ; // 或者只导入你需要的 import { CreateMLCEngine } from "@mlc-ai/web-llm" ;感谢 jsdelivr.com ,WebLLM 可以直接通过 URL 导入,并在 jsfiddle.net 、 Codepen.io 和 Scribbler 等云开发平台上开箱即用: import * as webllm from "https://esm.run/@mlc-ai/web-llm" ;它还可以动态导入为: const webllm = wait import ( "https://esm.run/@mlc-ai/web-llm" ) ; WebLLM 中的大多数操作都是通过 MLCEngine 接口调用的。您可以通过调用 CreateMLCEngine() 工厂函数来创建 MLCEngine 实例并加载模型。 (请注意,加载模型需要下载,并且如果之前没有缓存,则首次运行可能会花费大量时间。您应该正确处理此异步调用。) import { CreateMLCEngine } from "@mlc-ai/web-llm" ; // 更新模型加载进度的回调函数 const initProgressCallback = ( initProgress ) => { console .日志 (
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱