Commit Graph

295 Commits

Author SHA1 Message Date
Han Yin 6863b53b88 UI: disable tag & language chips; add section headers to explain what they are 2025-10-28 11:39:18 -07:00
Han Yin baa6b952c1 UI: add info button to System Prompt switch; expand the model card by default 2025-10-28 11:39:18 -07:00
Han Yin 2e9de7c99c UI: show corresponding system metrics detailed info upon tapping RAM / storage / temperature indicator 2025-10-28 11:39:18 -07:00
Han Yin 50cea70de3 misc: remove the redundant `Companion` added due to refactoring 2025-10-28 11:39:18 -07:00
Han Yin 5794d7ae6c UI: add a info button to explain token metrics 2025-10-28 11:39:18 -07:00
Han Yin 027c68db64 UI: add show/hide stats control to conversation screen's assistant message bubble; fix placeholder 2025-10-28 11:39:18 -07:00
Han Yin 8bd9615e6b UI: hide the stubbing actions in Conversation screen 2025-10-28 11:39:18 -07:00
Han Yin 7313b41574 UI: fix the model unload dialog message; elevate the model card and hide it by default on Conversation screen; 2025-10-28 11:39:18 -07:00
Han Yin b75377676f UI: hide share fab after clearing all benchmark results 2025-10-28 11:39:18 -07:00
Han Yin c848005d11 UI: add quick action buttons to benchmark screen's result card 2025-10-28 11:39:18 -07:00
Han Yin 659f59e22a UI: update Arm features indicator; fix the broken hyperlinks 2025-10-28 11:39:18 -07:00
Han Yin 99d77b618a bugfix: fix the malfunctioning monitoring switch 2025-10-28 11:39:18 -07:00
Han Yin ba6528e59e misc: linter issue 2025-10-28 11:39:18 -07:00
Han Yin 365a7c8ae8 bugfix: reset preselection upon running the preselected model 2025-10-28 11:39:18 -07:00
Han Yin 1e1be75456 UI: change benchmark screen from raw markdown to table view 2025-10-28 11:39:18 -07:00
Han Yin 28198e7643 util: split FormatUtils into multiple utils for better readability 2025-10-28 11:39:18 -07:00
Han Yin 518d042e24 lib: add UnsupportedArchitectureException for triaged error message 2025-10-28 11:39:18 -07:00
Han Yin 173c4c61a4 core: verify model file path is readable 2025-10-28 11:39:18 -07:00
Han Yin ca1cda37fd lib: fix the `SIMD` typo in Tier description 2025-10-28 11:39:18 -07:00
Han Yin 46e82c09f6 lib: refactor the GgufMetadataReader to take InputStream instead of absolute path as argument 2025-10-28 11:39:18 -07:00
Han Yin 2c9b1d37e0 UI: add "Learn More" hyperlinks to Error dialog upon model import failures 2025-10-28 11:39:18 -07:00
Han Yin 381994234c lib: read & validate the magic number from the picked source file before executing the import 2025-10-28 11:39:18 -07:00
Han Yin 7968216235 UI: avoid duplicated calculation of token metrics 2025-10-28 11:39:18 -07:00
Han Yin dd5b20d74d llm: properly propagate error to UI upon failing to load selected model 2025-10-28 11:39:18 -07:00
Han Yin 3da54f497a util: add more items into the mapping table of ISO 639-1 language code to ISO 3166-1 country code 2025-10-28 11:39:18 -07:00
Han Yin 7c3e477939 UI: polish model management screen's error dialog 2025-10-28 11:39:18 -07:00
Han Yin 712bc745df UI: show RAM warning if model too large 2025-10-28 11:39:18 -07:00
Han Yin a5a54375a2 lib: tested on JFrog Artifactory for Maven publishing 2025-10-28 11:39:18 -07:00
Han Yin e58add740d UI: improve autoscroll during token generation 2025-10-28 11:39:18 -07:00
Han Yin 4e07a377a3 bugfix: tapping "Home" in navigation drawer should simply close it without any navigation action. 2025-10-28 11:39:18 -07:00
Han Yin 5b7619f000 nit: minor UI patch; add missing comments 2025-10-28 11:39:18 -07:00
Han Yin 6f901e5203 data: extract local file info, copy and cleanup logics into LocalFileDataSource 2025-10-28 11:39:18 -07:00
Han Yin 33d1e24ac4 pkg: restructure `data`'s packages 2025-10-28 11:39:18 -07:00
Han Yin 7c2e24b4fe data: handle network exceptions elegantly 2025-10-28 11:39:18 -07:00
Han Yin 85434e6580 UI: use a broadcast receiver to listen for download complete events and show local import dialog. 2025-10-28 11:39:18 -07:00
Han Yin f085d39c05 UI: implement a dialog UI to show fetched HuggingFace models. 2025-10-28 11:39:18 -07:00
Han Yin 310771f6aa UI: scaffold Models Management screen and view model 2025-10-28 11:39:18 -07:00
Han Yin 5b3b6126e4 remote: fix the incorrect parse of HuggingFace's inconsistent & weird JSON response 2025-10-28 11:39:18 -07:00
Han Yin aa22467e01 remote: refactor HuggingFaceApiService; implement download feature in HuggingFaceRemoteDataSource 2025-10-28 11:39:18 -07:00
Han Yin 5138cb6a85 nit: remove `trendingScore` field from HuggingFace model entities, weird... 2025-10-28 11:39:18 -07:00
Han Yin fe9baace7f remote: refine HuggingFaceModel data class 2025-10-28 11:39:18 -07:00
Han Yin 3370bd409c remote: add HuggingFaceModelDetails data class 2025-10-28 11:39:18 -07:00
Han Yin 4ff924b273 lib: optimize engine loader; always perform a fresh detection when cache is null 2025-10-28 11:39:17 -07:00
Han Yin e6413dd05d UI: support `NONE` Llama Tier in general settings 2025-10-28 11:39:17 -07:00
Han Yin 1f41ae2315 lib: refactored InferenceEngineLoader; added a `NONE` Llama Tier 2025-10-28 11:39:17 -07:00
Han Yin 8c6e449ad2 misc: UI polish 2025-10-28 11:39:17 -07:00
Han Yin d211c4c605 UI: add visualizer UI for Arm features 2025-10-28 11:39:17 -07:00
Han Yin 70ec1f7de7 di: add a stub TierDetection; provide both actual impl and stub in AppModule 2025-10-28 11:39:17 -07:00
Han Yin 21e61281fa lib: expose Arm features 2025-10-28 11:39:17 -07:00
Han Yin c5058366dc lib: hide the internal implementations, only expose a facade and interfaces 2025-10-28 11:39:17 -07:00
Han Yin 57c3a9dda7 lib: replace the naive & plain SharedPreferences with DataStore implementation 2025-10-28 11:39:17 -07:00
Han Yin 130cba9aa6 lib: expose GgufMetadataReader as interface only 2025-10-28 11:39:17 -07:00
Han Yin 6a5bc94ff1 [WIP] lib: move GgufMetadata into the lib submodule 2025-10-28 11:39:17 -07:00
Han Yin 4b3f6ef8d7 misc: rename LlamaAndroid related class to InferenceEngine prefixes 2025-10-28 11:39:17 -07:00
Han Yin 72822f0236 misc: reorg the pkg structure 2025-10-28 11:39:17 -07:00
Han Yin b59c59e5c3 core: add back OpenMP due to huge perf loss on TG128 2025-10-28 11:39:17 -07:00
Han Yin 53ac8af67a core: swap out hardcoded LlamaAndroid library loading 2025-10-28 11:39:17 -07:00
Han Yin 1b79db877d core: implement cpu_detector native lib 2025-10-28 11:39:17 -07:00
Han Yin 98c8f5e59e [WIP] llama: enable KleidiAI and disable tier 4 due to `+sve+sve2` bug caused by `ggml_add_cpu_backend_variant_impl` as explained below
```CMake
if (NOT SME_ENABLED MATCHES -1)
...
    set(PRIVATE_ARCH_FLAGS "-fno-tree-vectorize;${PRIVATE_ARCH_FLAGS}+sve+sve2")
...
```
2025-10-28 11:39:17 -07:00
Han Yin ead41ff655 [WIP] llama: disable OpenMP in ABI split since most SoCs are big.LITTLE 2025-10-28 11:39:17 -07:00
Han Yin 3884bbcb86 [WIP] llama: ABI split where five tiers are built sequentially. 2025-10-28 11:39:17 -07:00
Han Yin 75d1abe24a [WIP] llama: ABI split builds five .so artifacts.
However, all .so are performing on SVE level
2025-10-28 11:39:17 -07:00
Han Yin eab502a735 llama: migrate C/CXX flags into CMakeList 2025-10-28 11:39:17 -07:00
Han Yin 512fe1be4e UI: disable landscape mode; prevent duplicated benchmark running 2025-10-28 11:39:17 -07:00
Han Yin a4c66c4baf nit: print current pp & tg in llama-bench 2025-10-28 11:39:17 -07:00
Han Yin bbf0420bac ui: add "clear results" action to Benchmark screen 2025-10-28 11:39:17 -07:00
Han Yin 49df3aea9a UI: map language codes into country Emojis 2025-10-28 11:39:17 -07:00
Han Yin 0c7e1fc7a2 [WIP] UI: replace the HuggingFace stub in Model Management screen with actual API call 2025-10-28 11:39:17 -07:00
Han Yin cfbd271c84 data: update Model data repository to support fetching HuggingFace models 2025-10-28 11:39:17 -07:00
Han Yin 48fa0b23dc data: implement HuggingFace data model, data source with Retrofit API 2025-10-28 11:39:17 -07:00
Han Yin 4b2f769ba8 deps: introduce Retrofit2 2025-10-28 11:39:17 -07:00
Han Yin fe6eafe154 data: update & enhance system prompt presets 2025-10-28 11:39:17 -07:00
Han Yin 81ad468c78 UI: allow hide or show model card on Conversation & Benchmark screens; fix message arrangement 2025-10-28 11:39:17 -07:00
Han Yin 43d9d300aa data: update system prompt presets 2025-10-28 11:39:17 -07:00
Han Yin 27edf0775d UI: polish Conversation screen 2025-10-28 11:39:17 -07:00
Han Yin 379be5d6c3 pkg: restructure system metrics into a separate file 2025-10-28 11:39:17 -07:00
Han Yin b1831c4053 pkg: restructure TopBarApps into separate files in a child package 2025-10-28 11:39:17 -07:00
Han Yin 3c539dc146 pkg: restructure BottomAppBars into separate files in a child package 2025-10-28 11:39:17 -07:00
Han Yin 0bcb182d17 feature: implement Conversation screen's bottom app bar 2025-10-28 11:39:17 -07:00
Han Yin d3011d48e6 nit: disable mode selection's radio buttons when loading model 2025-10-28 11:39:17 -07:00
Han Yin 0dec7fb2a3 ui: polish Benchmark screen; implement its bottom app bar's rerun and share 2025-10-28 11:39:17 -07:00
Han Yin 32f37a4316 [WIP] ui: polish Benchmark screen; implement its bottom app bar 2025-10-28 11:39:17 -07:00
Han Yin ec907d01ba ui: add filter off icon to "Clear filters" menu item 2025-10-28 11:39:17 -07:00
Han Yin 9e4ba94d66 ui: show empty models info in Model Management screen 2025-10-28 11:39:17 -07:00
Han Yin dd0367b970 feature: support filtering in Model Management screen 2025-10-28 11:39:17 -07:00
Han Yin d97e28a6d8 UI: animate FAB on model preselection states 2025-10-28 11:39:17 -07:00
Han Yin 05c620cc52 data: move Model related actions (query, filter, sort) into ModelInfo file 2025-10-28 11:39:17 -07:00
Han Yin ef3791207b UI: extract InfoView out into a separate file for reusability 2025-10-28 11:39:17 -07:00
Han Yin 73330596ae nit: move scaffold related UI components into a separate package 2025-10-28 11:39:17 -07:00
Han Yin 77edad5a01 feature: support searching on Model Selection screen 2025-10-28 11:39:17 -07:00
Han Yin 2b3ba770dd UI: finally support theme modes; remove hardcoded color schemes, default to dynamic color scheme implementation 2025-10-28 11:39:17 -07:00
Han Yin a8dc825aef UI: handle back press on Model Selection screen 2025-10-28 11:39:17 -07:00
Han Yin d1b018e375 UI: show a Snack bar to warn user that system prompt is not always supported 2025-10-28 11:39:17 -07:00
Han Yin 56a7272858 UI: polish model cards on Benchmark and Conversation screens to show model loading metrics 2025-10-28 11:39:17 -07:00
Han Yin 10ca2fa834 util: extract formatting helper functions from FileUtils into a new FormatUtils 2025-10-28 11:39:17 -07:00
Han Yin d7afcc41d5 UI: polish ModelLoading screen 2025-10-28 11:39:17 -07:00
Han Yin 57b5001f5c nit: revert accidental committing of debug code 2025-10-28 11:39:17 -07:00
Han Yin ec47fa3d14 nit: allow deselect model on Model Selection screen 2025-10-28 11:39:17 -07:00
Han Yin 6b74c49e6b UI: polish model card 2025-10-28 11:39:17 -07:00
Han Yin c12ef7a779 UI: update ModelSelectionScreen with a preselect mechanism 2025-10-28 11:39:17 -07:00