From 615fa601fd75493ab0e1828c14bbd24f83cd5133 Mon Sep 17 00:00:00 2001 From: Hansong Zhang <107070759+kirklandsign@users.noreply.github.com> Date: Wed, 4 Feb 2026 12:12:34 -0800 Subject: [PATCH 1/5] Add new model configurations to preset_models.json --- .../app/src/main/assets/preset_models.json | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/llm/android/LlamaDemo/app/src/main/assets/preset_models.json b/llm/android/LlamaDemo/app/src/main/assets/preset_models.json index 697bfad0..12b97c29 100644 --- a/llm/android/LlamaDemo/app/src/main/assets/preset_models.json +++ b/llm/android/LlamaDemo/app/src/main/assets/preset_models.json @@ -1,4 +1,28 @@ { "models": { + "stories": { + "displayName": "Stories 110M", + "modelUrl": "https://ossci-android.s3.amazonaws.com/executorch/stories/snapshot-20260114/stories110M.pte", + "modelFilename": "stories110M.pte", + "tokenizerUrl": "https://ossci-android.s3.amazonaws.com/executorch/stories/snapshot-20260114/tokenizer.model", + "tokenizerFilename": "tokenizer.model", + "modelType": "LLAMA_3" + }, + "llama": { + "displayName": "Llama 3.2 1B", + "modelUrl": "https://huggingface.co/executorch-community/Llama-3.2-1B-Instruct-ET/resolve/main/Llama-3.2-1B-Instruct.pte", + "modelFilename": "llama3_2-1B.pte", + "tokenizerUrl": "https://huggingface.co/executorch-community/Llama-3.2-1B-Instruct-ET/resolve/main/tokenizer.model", + "tokenizerFilename": "tokenizer.model", + "modelType": "LLAMA_3" + }, + "gemma": { + "displayName": "Gemma 3 4B", + "modelUrl": "https://huggingface.co/pytorch/gemma-3-4b-it-HQQ-INT8-INT4/resolve/main/model.pte", + "modelFilename": "model.pte", + "tokenizerUrl": "https://huggingface.co/pytorch/gemma-3-4b-it-HQQ-INT8-INT4/resolve/main/tokenizer.json", + "tokenizerFilename": "tokenizer.json", + "modelType": "GEMMA_3" + } } } From 7c13e3a0a872799cc2ba123e46fb85d5f71d8348 Mon Sep 17 00:00:00 2001 From: Hansong Zhang <107070759+kirklandsign@users.noreply.github.com> Date: Wed, 4 Feb 2026 12:13:26 -0800 Subject: [PATCH 2/5] Update DEFAULT_CONFIG_URL to new resource link --- .../executorchllamademo/ui/screens/SelectPresetModelScreen.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llm/android/LlamaDemo/app/src/main/java/com/example/executorchllamademo/ui/screens/SelectPresetModelScreen.kt b/llm/android/LlamaDemo/app/src/main/java/com/example/executorchllamademo/ui/screens/SelectPresetModelScreen.kt index 67033bcb..c6f9761c 100644 --- a/llm/android/LlamaDemo/app/src/main/java/com/example/executorchllamademo/ui/screens/SelectPresetModelScreen.kt +++ b/llm/android/LlamaDemo/app/src/main/java/com/example/executorchllamademo/ui/screens/SelectPresetModelScreen.kt @@ -58,7 +58,7 @@ import com.example.executorchllamademo.ui.theme.LocalAppColors import com.example.executorchllamademo.ui.viewmodel.ConfigLoadState import com.example.executorchllamademo.ui.viewmodel.ModelDownloadState -private const val DEFAULT_CONFIG_URL = "https://raw.githubusercontent.com/meta-pytorch/executorch-examples/889ccc6e88813cbf03775889beed29b793d0c8db/llm/android/LlamaDemo/app/src/main/assets/preset_models.json" +private const val DEFAULT_CONFIG_URL = "https://raw.githubusercontent.com/meta-pytorch/executorch-examples/615fa601fd75493ab0e1828c14bbd24f83cd5133/llm/android/LlamaDemo/app/src/main/assets/preset_models.json" @Composable fun SelectPresetModelScreen( From 5100d6a43ee930b0d27deb2090c131af87dbeb00 Mon Sep 17 00:00:00 2001 From: Hansong Zhang <107070759+kirklandsign@users.noreply.github.com> Date: Wed, 4 Feb 2026 12:13:46 -0800 Subject: [PATCH 3/5] Update DEFAULT_CONFIG_URL in PresetSanityTest --- .../java/com/example/executorchllamademo/PresetSanityTest.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llm/android/LlamaDemo/app/src/androidTest/java/com/example/executorchllamademo/PresetSanityTest.kt b/llm/android/LlamaDemo/app/src/androidTest/java/com/example/executorchllamademo/PresetSanityTest.kt index e01fc07a..601d66bc 100644 --- a/llm/android/LlamaDemo/app/src/androidTest/java/com/example/executorchllamademo/PresetSanityTest.kt +++ b/llm/android/LlamaDemo/app/src/androidTest/java/com/example/executorchllamademo/PresetSanityTest.kt @@ -40,7 +40,7 @@ class PresetSanityTest { companion object { private const val TAG = "PresetSanityTest" - private const val DEFAULT_CONFIG_URL = "https://raw.githubusercontent.com/meta-pytorch/executorch-examples/889ccc6e88813cbf03775889beed29b793d0c8db/llm/android/LlamaDemo/app/src/main/assets/preset_models.json" + private const val DEFAULT_CONFIG_URL = "https://raw.githubusercontent.com/meta-pytorch/executorch-examples/615fa601fd75493ab0e1828c14bbd24f83cd5133/llm/android/LlamaDemo/app/src/main/assets/preset_models.json" } @get:Rule From 90c4914b0048bb62259e5d67fd7f70474a8cade6 Mon Sep 17 00:00:00 2001 From: Hansong Zhang <107070759+kirklandsign@users.noreply.github.com> Date: Wed, 4 Feb 2026 12:14:43 -0800 Subject: [PATCH 4/5] Delete unused model configurations from preset_models.json Removed model entries for Stories, Llama 3.2, and Gemma 3. --- .../app/src/main/assets/preset_models.json | 24 ------------------- 1 file changed, 24 deletions(-) diff --git a/llm/android/LlamaDemo/app/src/main/assets/preset_models.json b/llm/android/LlamaDemo/app/src/main/assets/preset_models.json index 12b97c29..697bfad0 100644 --- a/llm/android/LlamaDemo/app/src/main/assets/preset_models.json +++ b/llm/android/LlamaDemo/app/src/main/assets/preset_models.json @@ -1,28 +1,4 @@ { "models": { - "stories": { - "displayName": "Stories 110M", - "modelUrl": "https://ossci-android.s3.amazonaws.com/executorch/stories/snapshot-20260114/stories110M.pte", - "modelFilename": "stories110M.pte", - "tokenizerUrl": "https://ossci-android.s3.amazonaws.com/executorch/stories/snapshot-20260114/tokenizer.model", - "tokenizerFilename": "tokenizer.model", - "modelType": "LLAMA_3" - }, - "llama": { - "displayName": "Llama 3.2 1B", - "modelUrl": "https://huggingface.co/executorch-community/Llama-3.2-1B-Instruct-ET/resolve/main/Llama-3.2-1B-Instruct.pte", - "modelFilename": "llama3_2-1B.pte", - "tokenizerUrl": "https://huggingface.co/executorch-community/Llama-3.2-1B-Instruct-ET/resolve/main/tokenizer.model", - "tokenizerFilename": "tokenizer.model", - "modelType": "LLAMA_3" - }, - "gemma": { - "displayName": "Gemma 3 4B", - "modelUrl": "https://huggingface.co/pytorch/gemma-3-4b-it-HQQ-INT8-INT4/resolve/main/model.pte", - "modelFilename": "model.pte", - "tokenizerUrl": "https://huggingface.co/pytorch/gemma-3-4b-it-HQQ-INT8-INT4/resolve/main/tokenizer.json", - "tokenizerFilename": "tokenizer.json", - "modelType": "GEMMA_3" - } } } From acc5ebd0fe58bf1274fac672373457c922e80c01 Mon Sep 17 00:00:00 2001 From: Hansong Zhang Date: Wed, 4 Feb 2026 12:34:48 -0800 Subject: [PATCH 5/5] Add adb shell sync --- llm/android/LlamaDemo/run_instrumentation_test.sh | 1 + llm/android/LlamaDemo/scripts/run-ci-tests.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/llm/android/LlamaDemo/run_instrumentation_test.sh b/llm/android/LlamaDemo/run_instrumentation_test.sh index a699fac8..4915acdd 100644 --- a/llm/android/LlamaDemo/run_instrumentation_test.sh +++ b/llm/android/LlamaDemo/run_instrumentation_test.sh @@ -18,4 +18,5 @@ python -m pytorch_tokenizers.tools.llama2c.convert -t tokenizer.model -o tokeniz adb mkdir -p /data/local/tmp/llama adb push stories110m_h.pte /data/local/tmp/llama adb push tokenizer.bin /data/local/tmp/llama +adb shell sync diff --git a/llm/android/LlamaDemo/scripts/run-ci-tests.sh b/llm/android/LlamaDemo/scripts/run-ci-tests.sh index cfe6f8d6..ffa6049b 100755 --- a/llm/android/LlamaDemo/scripts/run-ci-tests.sh +++ b/llm/android/LlamaDemo/scripts/run-ci-tests.sh @@ -50,6 +50,7 @@ for file in /tmp/llama_models/*; do while [ $retry -lt $max_retries ] && [ "$success" = "false" ]; do # Run push (ignore exit code, verify by checking file on device) timeout $timeout_secs adb push "$file" /data/local/tmp/llama/ || true + adb shell sync # Verify file was pushed by checking it exists and has correct size device_size=$(adb shell "stat -c%s /data/local/tmp/llama/$filename 2>/dev/null || echo 0" | tr -d '\r')