ChatLLM Web 项目介绍
ChatLLM Web 是一个创新的项目,旨在通过浏览器直接使用大语言模型(LLM)进行对话,无需服务器支持。这一项目不仅安全和私密,而且充分利用了 WebGPU 技术使得模型运行快速高效。下面,我们将为您详细介绍 ChatLLM Web 的功能、使用指南以及开发路线。
项目特点
-
完全浏览器运行:ChatLLM Web 在浏览器内运行,不需要任何服务器支持,并通过 WebGPU 加速,提升了模型的响应速度。
-
无缝用户体验:模型在 Web Worker 中运行,不会阻塞用户界面,为用户提供无缝的体验。
-
快速部署:用户只需要通过 Vercel 一键部署,即可在不到一分钟内拥有自己的 ChatLLM Web。
-
模型缓存支持:首次使用时需要下载模型,但后续使用将从浏览器缓存中加载,提升了使用效率。
-
多会话功能:支持多会话聊天,所有数据均存储在本地浏览器中,确保隐私。
-
支持 Markdown 和流式响应:支持数学公式和代码高亮,方便技术用户。
-
响应式设计:界面设计良好,支持暗黑模式,适应不同用户的使用习惯。
-
PWA 兼容:支持渐进式Web应用(PWA),可以下载并完全离线运行。
使用指南
-
浏览器要求:需要支持 WebGPU 的浏览器,如 Chrome 113 或 Chrome Canary。不支持 Chrome 112 及以下版本。
-
硬件要求:建议使用具备大约 6.4GB 显存的 GPU。如果显存不足,应用仍可运行,但响应时间会变长。
-
初始下载:首次使用需要下载约 4GB 大小的 Vicuna-7b 模型。之后,模型将从缓存中加载以加快使用速度。
-
更多信息:您可以访问 mlc.ai/web-llm 获取更多细节。
项目发展路线
-
LLM 实例:通过 web worker 创建 LLM 实例并生成回答。
-
多会话支持:已实现多会话功能。
-
PWA 支持:已支持 PWA,提升应用的使用便利性。
未来将实现以下功能:
- 界面主题切换(暗黑/亮色)
- GPU 设备选择
- 缓存使用与管理
- 支持多模型,如 Vicuna-7b 和 RedPajama-INCITE-Chat-3B
- 参数配置(如温度、最大长度等)
- 模型的导出与导入
部署到 Vercel
开发指南
若您想参与开发,可以按照以下步骤:
git clone https://github.com/Ryan-yang125/ChatLLM-Web.git
cd ChatLLM-Web
npm i
npm run dev
用户界面
ChatLLM Web 提供简洁直观的用户界面,以下是部分截图示例:
项目历史
许可证
ChatLLM Web 采用 MIT 许可证,欢迎开源社区的用户和开发者使用和贡献。