必须用 --recurse-submodules 递归克隆,否则子模块缺失无法构建;llmfarm_core 已拆到独立仓库,需一并拉取;模型需自行下载 GGUF 文件,README 未内置;部分模型(如 Falcon、MPT、Bloom)需在模型设置中手动选 llama inference。

LLMFarm
guinmoonMIT更新放缓在 iOS 和 macOS 上离线运行 LLaMA、GPT-2、RWKV 等大语言模型的 Swift 应用,基于 GGML 库,无需联网即可本地推理。
llama and other large language models on iOS and MacOS offline using GGML library.
git clone --recurse-submodules https://github.com/guinmoon/LLMFarm需要 macOS 13+ 或 iOS 16+;Metal 加速在 Intel Mac 上不可用;README 未说明具体显存要求。
在 iOS 和 macOS 上离线运行 GGML 格式大模型的应用,用来对比不同模型的实际表现
在 iOS 和 macOS 上离线运行 LLaMA、GPT-2、RWKV 等大语言模型的 Swift 应用,基于 GGML 库,无需联网即可本地推理。
核心能力
- 基于 ggml 和 llama.cpp 离线加载 GGUF 模型
- 支持 LLaMA、Gemma、Phi、Qwen、Yi、Mixtral 等多种推理
- 支持 LLaVA、MobileVLM、Moondream 等多模态模型
- 提供 Temperature、TFS、Mirostat、Grammar 等采样方法
- 可保存与恢复上下文状态,并支持 Apple 快捷指令与 RAG
容易踩的坑
- 1.4.3v1.4.3最新正式版2025-01-27 · 2025-01-27 13:32 UTC
Changes
- llama.cpp updated to b4562
- Added support MiniCPM-1B, Minicpm-omni, Deepseek-R1-Qwen distill, PhiMoE, DeepSeek V3 models
- Added supprot Minerva 7B, Deepseek MoE v1 & GigaChat models, Qwen2VL, Falcon3 models
- Added support InfiniAI Megrez 3b, OLMo, QRWKV6, Llama-3_1-Nemotron models
- Metal improvements
- Fixed some errors
- 1.4.1.1v1.4.12024-11-19 · 2024-11-19 19:02 UTC
查看更新说明
Changes
- llama.cpp updated to b4122
- Ask question to PDF document content from shortcut, see shortcut example in documentation
- Max RAG answer count option
- Fixed duplication of documents in the index
- Fixed keyboard overlapping of settings items
- Some metal fixes and improvements
- Some other fixes
- 1.4.0v1.4.02024-10-26 · 2024-10-26 18:42 UTC
查看更新说明
Changes
- llama.cpp updated to b3982
- Added RAG support for
pdfdocuments - Chat settings UI improvements
- Added text summarization shortcut
- Some metal improvemets
- Added support for Chameleon
- Fixed some errors
- Currently, adding documents when creating a chat is not supported. To add documents to a chat, first create it. Then go to the chat settings and add documents.
- 1.3.9.1v1.3.92024-10-07 · 2024-10-07 17:06 UTC
查看更新说明
Changes
- llama.cpp updated to b3837
- Added support for llama 3.2, 3.1, RWKV, MiniCPM(2.5, 2.6, 3), Chameleon models
- Added Metal support for Mamba
- Added Llama 3.2 download links (working with LLaMa3 Instruct template)
- Added Phi 3.5 download links (working with Phi 3 template)
- Added Bunny template and download link
- Some metal improvements
- Fixed some errors for gemma2, DeepSeek-V2, ChatGLM4, llama 3.1, T5, TriLMs, BitNet models
- Fixed some other errors
- 1.3.4v1.3.42024-08-08 · 2024-08-08 09:42 UTC
查看更新说明
Changes:
- Added Gemma2, T5, JAIS, Bitnet support, GLM(3,4), Mistral Nemo
- Added OpenELM support
- Added the ability to change the styling of chat messages.
- Added a built-in demo chat for new users. (The ChatML template is used)
- Some detokenizer fixes
- LoRa and FineTune are temporarily disabled due to the need for code refactoring due to a large number of errors.
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
LLMFarm
The app is temporarily unavailable in TestFlight and Appstore.
LLMFarm is an iOS and MacOS app to work with large language models (LLM). It allows you to load different LLMs with certain parameters.With LLMFarm, you can test the performance of different LLMs on iOS and macOS and find the most suitable model for your project. Based on ggml and llama.cpp by Georgi Gerganov.
Features
- MacOS (13+)
- iOS (16+)
- Various inferences
- Various sampling methods
- Metal (dont work on intel Mac)
- Model setting templates
- Restore context state
- Apple Shortcuts
- RAG
Inferences
- LLaMA
- Gemma
- Phi
- GPT2 + Cerebras
- Starcoder(Santacoder)
- Falcon
- MPT
- Bloom
- StableLM-3b-4e1t
- Qwen
- Yi models
- Deepseek models
- Mixtral MoE
- PLaMo-13B
- Mamba
- RWKV
- GPTNeoX
See full list here.
Multimodal
- LLaVA 1.5 models, LLaVA 1.6 models
- BakLLaVA
- Obsidian
- ShareGPT4V
- MobileVLM 1.7B/3B models
- Yi-VL
- Moondream
Note: For Falcon, Alpaca, GPT4All, Chinese LLaMA / Alpaca and Chinese LLaMA-2 / Alpaca-2, Vigogne (French), Vicuna, Koala, OpenBuddy (Multilingual), Pygmalion/Metharme, WizardLM, Baichuan 1 & 2 + derivations, Aquila 1 & 2, Mistral AI v0.1, Refact, Persimmon 8B, MPT, Bloom select llama inference in model settings.
Sampling methods
- Temperature (temp, tok-k, top-p)
- Tail Free Sampling (TFS)
- Locally Typical Sampling
- Mirostat
- Greedy
- Grammar
Getting Started
You can find answers to some questions in the FAQ section.
Inference options
When creating a chat, a JSON file is generated in which you can specify additional inference options. The chat files are located in the "chats" directory. You can see all inference options here.
Models
You can find some of the supported models here.
Development
llmfarm_core has been moved to a separate repository. To build llmfarm, you need to clone this repository recursively:
git clone --recurse-submodules https://github.com/guinmoon/LLMFarm
Also used sources from:
- rwkv.cpp by saharNooby
- Mia by byroneverson
- LlamaChat by alexrozanski
- swift-markdown-ui by gonzalezreal
- similarity-search-kit by ZachNagengast