From 1cbd80f8cf80a817715b1ccc5680fe2a3c5172c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jie=20Fu=20=28=E5=82=85=E6=9D=B0=29?= Date: Wed, 17 Sep 2025 15:29:00 +0800 Subject: [PATCH] examples : support encoder-decoder models in the simple example (#16002) Signed-off-by: Jie Fu --- examples/simple/simple.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/examples/simple/simple.cpp b/examples/simple/simple.cpp index 633b87e584..d09771d104 100644 --- a/examples/simple/simple.cpp +++ b/examples/simple/simple.cpp @@ -145,6 +145,20 @@ int main(int argc, char ** argv) { llama_batch batch = llama_batch_get_one(prompt_tokens.data(), prompt_tokens.size()); + if (llama_model_has_encoder(model)) { + if (llama_encode(ctx, batch)) { + fprintf(stderr, "%s : failed to eval\n", __func__); + return 1; + } + + llama_token decoder_start_token_id = llama_model_decoder_start_token(model); + if (decoder_start_token_id == LLAMA_TOKEN_NULL) { + decoder_start_token_id = llama_vocab_bos(vocab); + } + + batch = llama_batch_get_one(&decoder_start_token_id, 1); + } + // main loop const auto t_main_start = ggml_time_us();