概述
WebLLM 聊天是一个私密的 AI 聊天界面,它结合了 WebLLM 和用户友好的设计,利用 WebGPU 在浏览器中原生运行大型语言模型(LLMs)。享受前所未有的私密且易于使用的 AI 对话体验。
主要特点
- 浏览器原生 AI:体验在您的网络浏览器中原生运行的尖端语言模型,通过 WebGPU 加速,无需服务器端处理或云依赖。
- 隐私保障:AI 模型在您的硬件上本地运行,所有数据处理都在您的浏览器内进行,确保您的数据和对话不会离开您的计算机,保障您的隐私。
- 离线可用:初始设置和下载后,WebLLM 聊天可以完全离线使用,让您无需活跃的互联网连接即可进行 AI 驱动的对话。
- 用户友好界面:享受直观且功能丰富的用户界面,包括 Markdown 支持、深色模式和针对各种屏幕尺寸优化的响应式设计。
- 自定义模型:通过 MLC-LLM 连接到您本地环境中的任何自定义语言模型。详情请查看使用自定义模型部分。
- 开源且可定制:使用我们的开源框架构建和定制您自己的 AI 驱动应用。
WebLLM 聊天是一项开创性的举措,它将 WebLLM 的强大后端功能与 NextChat 的用户友好界面相结合。作为更广泛的 MLC.ai 家族的一部分,这个项目通过直接向最终用户提供强大的工具,为我们民主化 AI 技术的使命做出贡献。通过与 NextChat 的集成,WebLLM 聊天不仅增强了聊天体验,还拓宽了自托管和可定制语言模型的部署范围。
内置模型
WebLLM 聊天原生支持 WebLLM 内置模型。您可以在这里找到完整列表。
使用自定义模型
WebLLM 聊天通过 MLC-LLM 支持自定义语言模型。按照以下步骤在您的本地环境中使用自定义模型:
-
(可选)按照说明将模型编译为 MLC 格式。
-
按照说明通过 MLC-LLM 托管 REST API。
-
访问 WebLLM 聊天,在侧边栏选择"设置",然后选择"MLC-LLM REST API(高级)"作为"模型类型",并输入步骤 2 中的 REST API 端点 URL。
开发
# 1. 首先安装 nodejs 和 yarn
# 2. 在 `.env.local` 中配置本地环境变量
# 3. 运行
yarn install
yarn dev
部署
构建
您可以使用 yarn build
将应用程序构建为 Next.js 构建,或使用 yarn export
构建为静态网站。更多信息,请查看 Next.js 文档。
Docker
docker build -t webllm_chat .
docker run -d -p 3000:3000 webllm_chat
您可以在代理后面启动服务:
docker build -t webllm_chat .
docker run -d -p 3000:3000 \
-e PROXY_URL=http://localhost:7890 \
webllm_chat
如果您的代理需要密码,请使用:
-e PROXY_URL="http://127.0.0.1:7890 user pass"
社区和贡献
WebLLM 聊天依赖于社区参与。我们致力于培养一个包容和创新的社区,开发者和 AI 爱好者可以在这里合作、贡献,并推动 AI 技术的可能性边界。加入我们的 Discord 与其他开发者交流,并为项目做出贡献。
致谢
WebLLM 聊天是 WebLLM 的配套项目,它建立在 NextChat 的杰出工作之上。我们衷心感谢这些项目的开发者和贡献者,他们在推进基于浏览器的 AI 和创建用户友好的聊天界面方面做出了宝贵的努力。
此外,这个项目的实现要归功于我们所依赖的开源生态系统。我们要感谢 Apache TVM 社区和 TVM Unity 工作的开发者。开源 ML 社区成员使这些模型公开可用。PyTorch 和 Hugging Face 社区使这些模型变得易于使用。我们要感谢 Vicuna、SentencePiece、LLaMA 和 Alpaca 背后的团队。我们还要感谢 WebAssembly、Emscripten 和 WebGPU 社区。最后,感谢 Dawn 和 WebGPU 开发者。