LLMFarm 是一个面向 iOS 和 macOS 的开源应用,用于在本地离线运行大型语言模型(LLM)。它基于 Georgi Gerganov 的 ggml 和 llama.cpp 构建,允许用户加载不同的 LLM 并设置相应参数。借助 LLMFarm,用户可以在 iOS 和 macOS 上测试不同 LLM 的性能,并找到最适合自己项目的模型。
主要能力:
- 支持多种推理方式。
- 支持多种采样方法,包括 Temperature(temp、top-k、top-p)、Tail Free Sampling (TFS) 和 Locally Typical Sampling。
- 支持 Metal 加速(在 Intel Mac 上不可用)。
- 提供模型设置模板。
- 支持恢复上下文状态。
- 支持 Apple Shortcuts。
- 支持的模型包括 GPT2 + Cerebras、Starcoder(Santacoder)、StableLM-3b-4e1t、Deepseek 系列、LLaVA 1.5 模型、LLaVA 1.6 模型、MobileVLM 1.7B/3B 模型等。
- 对于 Falcon、Alpaca、GPT4All、Chinese LLaMA / Alpaca、Chinese LLaMA-2 / Alpaca-2、Vigogne(法语)、Vicuna、Koala、OpenBuddy(多语言)、Pygmalion/Metharme、WizardLM、Baichuan 1 & 2 及其衍生模型、Aquila 1 & 2、Mistral AI v0.1、Refact、Persimmon 8B、MPT、Bloom 等模型,需要在模型设置中选择 llama 推理。
使用方式:
- 创建聊天时,会在 "chats" 目录中生成一个 JSON 文件,用户可以在其中指定额外的推理选项。
- 更多推理选项可参考项目文档。
- 支持的模型列表可参考项目文档。
- llmfarm_core 已移至单独的仓库。要构建 llmfarm,需要递归克隆该仓库。
适用场景:
- 在 iOS 和 macOS 设备上离线测试和评估不同 LLM 的性能。
- 为项目选择最合适的本地模型。
- 利用 Apple Shortcuts 将 LLM 集成到自动化工作流中。
限制与注意事项:
- 该应用目前在 TestFlight 和 App Store 暂时不可用。
- Metal 加速在 Intel Mac 上不可用。
- 部分模型需要手动选择 llama 推理方式。
- 项目还使用了来自 rwkv.cpp、Mia、LlamaChat、swift-markdown-ui、similarity-search-kit 等开源项目的源码。