Akash Paul ML @Airtel Digital
github.com/iakashpaul/portal
Portal: Hole in your Palm
Why does this project exist?
The acquisition of basic computing skills by any set of children can be achieved through incidental learning provided the learners are given access to a suitable computing facility, with entertaining and motivating content and some minimal (human) guidance - Dr. Sugata Mitra
There has to be a better way for trying LLMs
Architecture
Android SDK
Uses Kotlin & Compose for UI elements
Android NDK
Cross compiles Llama.cpp & exposes native functions to the app
LLM Weights
Fetch GGUF Q4 Weights from HuggingFace 🤗
Code overview
Fetches & builds Llama.cpp library & exposes external functions via Java Native Interface(JNI)
Uses Kotlin with Compose for UI & DownloadManager library for managing hosted weights
Demo
Roadmap
Future Roadmap
Termux on Android
Managed to get emulated shell to build & run upto 7B models near 3 tok/s & 2B models around 10 tok/s
On emulated shell via CPU compute
Improve Llama.cpp on Android
Updated the app with better configurations for CPU threads, context limit etc.
Indus AppStore
Thanks!