diff --git a/examples/demo-apps/android/LlamaDemo/app/src/main/java/com/example/executorchllamademo/MainActivity.java b/examples/demo-apps/android/LlamaDemo/app/src/main/java/com/example/executorchllamademo/MainActivity.java index f5e50845eca..4d81ec8ae52 100644 --- a/examples/demo-apps/android/LlamaDemo/app/src/main/java/com/example/executorchllamademo/MainActivity.java +++ b/examples/demo-apps/android/LlamaDemo/app/src/main/java/com/example/executorchllamademo/MainActivity.java @@ -661,7 +661,14 @@ private void onModelRunStopped() { mSendButton.setOnClickListener( view -> { addSelectedImagesToChatThread(mSelectedImageUri); + String finalPrompt; String rawPrompt = mEditTextMessage.getText().toString(); + if (ModelUtils.getModelCategory(mCurrentSettingsFields.getModelType()) + == ModelUtils.VISION_MODEL) { + finalPrompt = mCurrentSettingsFields.getFormattedSystemAndUserPrompt(rawPrompt); + } else { + finalPrompt = getTotalFormattedPrompt(getConversationHistory(), rawPrompt); + } // We store raw prompt into message adapter, because we don't want to show the extra // tokens from system prompt mMessageAdapter.add(new Message(rawPrompt, true, MessageType.TEXT, promptID)); @@ -692,14 +699,12 @@ public void run() { if (ModelUtils.getModelCategory(mCurrentSettingsFields.getModelType()) == ModelUtils.VISION_MODEL) { mModule.generateFromPos( - mCurrentSettingsFields.getFormattedSystemAndUserPrompt(rawPrompt), + finalPrompt, ModelUtils.VISION_MODEL_SEQ_LEN, startPos, MainActivity.this, false); } else { - String finalPrompt = - getTotalFormattedPrompt(getConversationHistory(), rawPrompt); ETLogging.getInstance().log("Running inference.. prompt=" + finalPrompt); mModule.generate( finalPrompt,