server : fix 'terminated by signal SIGSEGV' error when suffix is empty

This commit is contained in:
cyc 2023-10-22 14:18:54 +08:00
parent 22c69a2794
commit 73cab75f41

View file

@ -349,7 +349,7 @@ struct llama_server_context
auto prefix_tokens = tokenize(params.input_prefix, false); auto prefix_tokens = tokenize(params.input_prefix, false);
auto suffix_tokens = tokenize(params.input_suffix, false); auto suffix_tokens = tokenize(params.input_suffix, false);
const int space_token = 29871; const int space_token = 29871;
if (suff_rm_leading_spc && suffix_tokens[0] == space_token) { if (suff_rm_leading_spc && !suffix_tokens.empty() && suffix_tokens[0] == space_token) {
suffix_tokens.erase(suffix_tokens.begin()); suffix_tokens.erase(suffix_tokens.begin());
} }
prefix_tokens.insert(prefix_tokens.begin(), llama_token_prefix(ctx)); prefix_tokens.insert(prefix_tokens.begin(), llama_token_prefix(ctx));