在你的Mac上与喜爱的LLaMA模型聊天
LlamaChat 是一个macOS应用程序,允许你在Mac本地与 LLaMA, Alpaca 和 GPT4All 模型进行聊天。
🚀 快速入门
LlamaChat需要macOS 13 Ventura,以及Intel或Apple Silicon处理器。
直接下载
下载包含最新版本的.dmg
👉这里👈。
从源码构建
git clone https://github.com/alexrozanski/LlamaChat.git
cd LlamaChat
open LlamaChat.xcodeproj
注意: LlamaChat包含 Sparkle 自动更新功能,如果LlamaChat未签名,将无法加载。确保在构建和运行LlamaChat时使用有效的签名证书。
注意: 模型推理在Debug构建中运行非常慢,所以如果从源码构建,请确保 Build Configuration
在 LlamaChat > Edit Scheme... > Run
中设置为 Release
。
✨ 功能
- 支持的模型: LlamaChat开箱即支持LLaMA, Alpaca和GPT4All模型。即将支持包括 Vicuna 和 Koala 在内的其他模型。我们也在寻找中文和法语用户,以添加对 Chinese LLaMA/Alpaca 和 Vigogne 的支持。
- 灵活的模型格式: LlamaChat基于 llama.cpp 和 llama.swift 构建。应用程序支持添加原始
.pth
PyTorch检查点形式或.ggml
格式的LLaMA模型。 - 模型转换: 如果添加的是原始PyTorch检查点,这些可以在应用程序内转换为兼容LlamaChat和llama.cpp的
.ggml
文件。 - 聊天记录: 聊天记录在应用程序内持久化。可以随时清除聊天记录和模型上下文。
- 有趣的头像: LlamaChat附带 7个有趣的头像,可用于你的聊天来源。
- 高级来源命名: LlamaChat使用特殊魔法™生成有趣的聊天来源名称。
- 上下文调试: 对于热衷于ML的爱好者,可以在信息弹窗中查看聊天的当前模型上下文。
🔮 模型
注意: LlamaChat不包含任何模型文件,你需要根据各自的条款和条件从相应来源获取这些文件。
- 模型格式: LlamaChat允许你使用LLaMA系列模型的原始Python检查点格式(
.pth
)或预转换的.ggml
文件(由 llama.cpp 使用,该文件为LlamaChat提供支持)。 - 使用LLaMA模型: 导入
.pth
格式的LLaMA模型时:- 你应该在转换流程中选择适当的参数大小目录(例如
7B
,13B
等),其中包括consolidated.NN.pth
和params.json
文件。 - 根据LLaMA模型发布,父目录应包含
tokenizer.model
。例如,要使用LLaMA-13B模型,你的模型目录应如下所示,并且你应该选择13B
目录:
- 你应该在转换流程中选择适当的参数大小目录(例如
.
│ ...
├── 13B
│ ├── checklist.chk.txt
│ ├── consolidated.00.pth
│ ├── consolidated.01.pth
│ └── params.json
│ ...
└── tokenizer.model
- 故障排除: 如果使用
.ggml
文件,请确保这些文件是最新的。如果遇到问题,你可能需要使用 llama.cpp 的转换脚本:- 对于GPT4All模型,你可能需要使用 convert-gpt4all-to-ggml.py
- 对于Alpaca模型,你可能需要使用 convert-unversioned-ggml-to-ggml.py
- 你可能还需要使用 migrate-ggml-2023-03-30-pr613.py。更多信息请查看 llama.cpp 仓库。
👩💻 贡献
欢迎并非常感谢Pull Requests和Issues。请务必始终遵守 行为准则。
LlamaChat完全使用Swift和SwiftUI构建,并在后台使用 llama.swift 运行推理和执行模型操作。
该项目主要使用MVVM构建,并大量使用Combine和Swift Concurrency。
⚖️ 许可
LlamaChat根据 MIT许可证 授权。