OpenBMB/MiniCPM-V-Apps
MiniCPM-V apps — fully offline multimodal chat on iOS / Android / HarmonyOS
MiniCPM‑V‑Apps – On‑device multimodal LLM demos
What it is – A set of three sample applications (iOS, Android, HarmonyOS) that run the MiniCPM‑V family of multimodal large language models completely locally on a phone or tablet. The apps are thin wrappers around the llama.cpp‑omni inference engine, which has been compiled into platform‑specific binaries (an XCFramework for iOS, native libraries for Android/HarmonyOS). Users can interact with the models for text‑only, vision‑augmented, or text‑to‑speech tasks without any network connection.
Key components
- MiniCPM‑V models – 8 B‑parameter to 35 B‑parameter multimodal LLMs (the 35 B version uses a Mixture‑of‑Experts that streams expert shards from SSD, enabling it to run on a phone).
- llama.cpp‑omni submodule – a fork of the popular
llama.cpplibrary that adds support for GGUF‑format weights, vision projectors, and the MoE‑SSD streaming logic. - Platform demos –
MiniCPM‑V‑demo/(Xcode project, builds anllama.xcframework).MiniCPM‑V‑demo‑Android/(Gradle/Kotlin project).MiniCPM‑V‑demo‑HarmonyOS/(DevEco Studio/ArkTS project).
- Model manager UI – lets the app download the required GGUF files, verify checksums, and organise them on‑device.
How to get it running
- Clone the repo with submodules shallowly (≈ tens of MB) to avoid pulling the full
llama.cpp‑omnihistory. - Build the inference library – on iOS run
scripts/build_xcframework.sh(default builds device + simulator slices). Android/HarmonyOS pull the pre‑compiled native libs via Gradle/NDK. - Open the demo project in the appropriate IDE (Xcode, Android Studio, DevEco Studio) and run on a physical device.
- Download model weights – either via the in‑app Model Manager or manually from the HuggingFace/ModelScope links listed in the README. The README details the exact GGUF files for each model version and the RAM/storage needed.
Supported models & hardware hints
| Model | Params | Quant | Approx. size (model + vision) | Recommended RAM |
|---|---|---|---|---|
| MiniCPM‑V 2.6 | 8 B | Q4_K_M | ~5.4 GB | ≥ 8 GB |
| MiniCPM‑V 4.0 | 4.1 B | Q4_K_M | ~2.9 GB | ≥ 6 GB |
| MiniCPM‑V 4.6 | 1.3 B | Q4_K_M | ~1.6 GB | ≥ 6 GB |
| MiniCPM‑V 4.7 1B | 1 B | Q4_K_M | ~1.8 GB | ≥ 4 GB |
| MiniCPM‑V 4.7 35B‑A3B (MoE) | 35 B (3 B active) | Q3_K (expert shards) | ~16.6 GB | ≥ 12 GB, fast internal storage |
| MiniCPM5‑1B / MiniCPM5‑2B (text‑only) | 1 B / 2 B | Q4_K_M | 0.5 GB / 1.5 GB | ≥ 4 GB / ≥ 6 GB |
| VoxCPM2 (TTS) | ~2 B | Q4_K_M + F16 | ~2.8 GB | ≥ 6 GB |
Why it matters
- Demonstrates that modern multimodal LLMs, even a 35 B‑class MoE, can be run on consumer‑grade smartphones when the model is split into streamed expert shards.
- Provides a ready‑to‑modify code base for developers who want to embed on‑device AI (vision‑language or TTS) into their own iOS/Android/HarmonyOS apps.
- Uses the open‑source GGUF format and
llama.cpp, keeping the stack fully transparent and extensible.
Where to find more
- Pre‑built app binaries are linked in the README (TestFlight, APK, HAP).
- Detailed download links for each GGUF model are in the “Part 2 – GGUF Model Files” section.
- The
DOWNLOAD.mdfile contains signing notes and MD5 checksums for the released packages.
All information above is taken directly from the repository’s README; no additional features are inferred.
Related
- Project
- Project
- Dispatch
- Project
- Project