项目介绍:Chatty
简介
Chatty 是一款创新的浏览器内人工智能聊天工具,其核心在于利用 WebGPU 技术,使大型语言模型(LLMs)能够在用户浏览器中本地、私密运行。它提供了丰富的功能,旨在为用户带来无与伦比的浏览器内 AI 使用体验。
功能亮点
- 浏览器内隐私保护:所有 AI 模型均在用户的硬件上本地运行,确保数据只在用户的电脑上处理,完全无服务器端的数据处理。
- 离线使用:模型完成初始下载后,无需互联网连接即可使用。
- 聊天记录管理:用户能够访问和管理他们的会话历史记录。
- 支持开源模型:支持与流行的开源模型进行对话,如 Gemma, Llama2 & 3 和 Mistral。
- 响应式设计:若手机支持 WebGl,用户可像在桌面一样使用 Chatty。
- 直观的用户界面:界面设计灵感来源于 Gemini 和 ChatGPT,以提高用户体验的相似性。
- Markdown 与代码高亮:返回的消息以 markdown 格式显示,包含代码的消息会被高亮处理,方便查看。
- 文件交互:可加载文件(支持 PDF 及所有非二进制文件,包括代码文件),并向模型提问——完全本地化处理,文档不会被上传到外部。
- 自定义记忆支持:用户可以添加自定义指令/记忆,以便 AI 提供更个性化的回答。
- 导出聊天记录:可以轻松生成并保存为 json 或 markdown 格式。
- 语音输入支持:支持通过语音与模型进行交互。
- 重新生成回复:如果对当前回复不满意,可以快速生成新回复。
- 支持浅色和深色模式:用户可自由切换界面主题。
设计目的
Chatty 项目的核心目标是将 ChatGPT 和 Gemini 等流行 AI 界面的功能和体验带入浏览器中,提升用户的便捷性和隐私性。
浏览器支持
默认情况下,WebGPU 在 Chrome 和 Edge 浏览器中启用并支持,也可以在 Firefox 和 Firefox Nightly 中启用。
安装指南
为了体验 Chatty,可以直接访问其在线网站。同时,项目基于 Next.js 开发,需具备 Node.js(18+)和 npm 才可以在本地运行。
从源码安装
- 克隆仓库到本地目录:
git clone https://github.com/addyosmani/chatty
- 打开文件夹:
cd chatty
- 安装依赖:
npm install
- 启动开发服务器:
npm run dev
- 打开浏览器访问
localhost:3000
即可开始体验。
Docker 使用说明
可以通过 Dockerfile 构建镜像,但尚未为生产环境优化:
docker build -t chattyui .
docker run -d -p 3000:3000 chattyui
或者使用 docker-compose
:
docker compose up
未来规划
- 多文件嵌入功能:支持在每个会话中嵌入多个文件。
- 提示管理系统:选择不同的系统提示快速用于会话。
硬件需求
为了高效运行模型,建议使用具备足够显存的 GPU。7B 规模的模型通常需要大约 6GB 显存,而 3B 模型需要大约 3GB 显存。
致谢
Chatty 基于 WebLLM 项目开发,利用了 HuggingFace 的开源模型和 LangChain,感谢这些项目及开源社区的优秀工作。
作者
Chatty 由 Addy Osmani 和 Jakob Hoeg Mørk 创建和维护。