From 849d021104aeedfae7dcceb6ee1ca10ae3e7e9b7 Mon Sep 17 00:00:00 2001 From: Xuan-Son Nguyen Date: Tue, 23 Dec 2025 14:39:36 +0100 Subject: [PATCH] server: fix crash with model not having BOS/EOS (#18321) --- tools/server/server-context.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tools/server/server-context.cpp b/tools/server/server-context.cpp index a132b87c84..e2e7bcb9e6 100644 --- a/tools/server/server-context.cpp +++ b/tools/server/server-context.cpp @@ -2784,6 +2784,12 @@ server_response_reader server_context::get_response_reader() { server_context_meta server_context::get_meta() const { auto tool_use_src = common_chat_templates_source(impl->chat_templates.get(), "tool_use"); + + auto bos_id = llama_vocab_bos(impl->vocab); + auto eos_id = llama_vocab_eos(impl->vocab); + auto bos_token_str = bos_id != LLAMA_TOKEN_NULL ? common_token_to_piece(impl->ctx, bos_id, true) : ""; + auto eos_token_str = eos_id != LLAMA_TOKEN_NULL ? common_token_to_piece(impl->ctx, eos_id, true) : ""; + return server_context_meta { /* build_info */ build_info, /* model_name */ impl->model_name, @@ -2798,8 +2804,8 @@ server_context_meta server_context::get_meta() const { /* chat_template */ common_chat_templates_source(impl->chat_templates.get()), /* chat_template_tool_use */ tool_use_src ? tool_use_src : "", - /* bos_token_str */ common_token_to_piece(impl->ctx, llama_vocab_bos(impl->vocab), true), - /* eos_token_str */ common_token_to_piece(impl->ctx, llama_vocab_eos(impl->vocab), true), + /* bos_token_str */ bos_token_str, + /* eos_token_str */ eos_token_str, /* fim_pre_token */ llama_vocab_fim_pre(impl->vocab), /* fim_sub_token */ llama_vocab_fim_suf(impl->vocab), /* fim_mid_token */ llama_vocab_fim_mid(impl->vocab),