Skip to content

Commit 15d3074

Browse files
authored
Add logging for all prompts to prefill and generate calls (#186)
1 parent a54f8c8 commit 15d3074

1 file changed

Lines changed: 14 additions & 5 deletions

File tree

  • llm/android/LlamaDemo/app/src/main/java/com/example/executorchllamademo/ui/viewmodel

llm/android/LlamaDemo/app/src/main/java/com/example/executorchllamademo/ui/viewmodel/ChatViewModel.kt

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -245,8 +245,9 @@ class ChatViewModel(application: Application) : AndroidViewModel(application), L
245245
modelInfo = "Successfully loaded model. $pteName and tokenizer $tokenizerName in ${loadDuration.toFloat() / 1000} sec. $capabilityText"
246246

247247
if (currentSettingsFields.modelType == ModelType.LLAVA_1_5) {
248-
ETLogging.getInstance().log("Llava start prefill prompt")
249-
module?.prefillPrompt(PromptFormat.getLlavaPresetPrompt())
248+
val llavaPresetPrompt = PromptFormat.getLlavaPresetPrompt()
249+
ETLogging.getInstance().log("Llava start prefill prompt: $llavaPresetPrompt")
250+
module?.prefillPrompt(llavaPresetPrompt)
250251
ETLogging.getInstance().log("Llava completes prefill prompt")
251252
}
252253
loadSuccess = true
@@ -335,7 +336,9 @@ class ChatViewModel(application: Application) : AndroidViewModel(application), L
335336
ModelUtils.VISION_MODEL_IMAGE_CHANNELS
336337
)
337338
} else if (currentSettingsFields.modelType == ModelType.GEMMA_3) {
338-
module?.prefillPrompt(PromptFormat.getGemmaPreImagePrompt())
339+
val gemmaPreImagePrompt = PromptFormat.getGemmaPreImagePrompt()
340+
ETLogging.getInstance().log("Gemma prefill pre-image prompt: $gemmaPreImagePrompt")
341+
module?.prefillPrompt(gemmaPreImagePrompt)
339342
module?.prefillImages(
340343
img.getFloats(),
341344
img.width,
@@ -416,8 +419,10 @@ class ChatViewModel(application: Application) : AndroidViewModel(application), L
416419
if (currentSettingsFields.modelType == ModelType.VOXTRAL && audioFileToPrefill != null) {
417420
prefillVoxtralAudio(audioFileToPrefill!!, finalPrompt)
418421
audioFileToPrefill = null
422+
ETLogging.getInstance().log("Running vision model inference.. prompt=(empty after audio prefill)")
419423
module?.generate("", ModelUtils.VISION_MODEL_SEQ_LEN, this, false)
420424
} else {
425+
ETLogging.getInstance().log("Running vision model inference.. prompt=$finalPrompt")
421426
module?.generate(finalPrompt, ModelUtils.VISION_MODEL_SEQ_LEN, this, false)
422427
}
423428
} else if (currentSettingsFields.modelType == ModelType.LLAMA_GUARD_3) {
@@ -460,9 +465,13 @@ class ChatViewModel(application: Application) : AndroidViewModel(application), L
460465
val bins = 128
461466
val frames = 3000
462467
val batchSize = floatCount / (bins * frames)
463-
module?.prefillPrompt("<s>[INST][BEGIN_AUDIO]")
468+
val preAudioPrompt = "<s>[INST][BEGIN_AUDIO]"
469+
val postAudioPrompt = "$textPrompt[/INST]"
470+
ETLogging.getInstance().log("Voxtral prefill pre-audio prompt: $preAudioPrompt")
471+
module?.prefillPrompt(preAudioPrompt)
464472
module?.prefillAudio(floats, batchSize, bins, frames)
465-
module?.prefillPrompt("$textPrompt[/INST]")
473+
ETLogging.getInstance().log("Voxtral prefill post-audio prompt: $postAudioPrompt")
474+
module?.prefillPrompt(postAudioPrompt)
466475
} catch (e: IOException) {
467476
Log.e("AudioPrefill", "Audio file error")
468477
}

0 commit comments

Comments
 (0)