From 7b1a3eece7e33ce197324f44e839dec430162108 Mon Sep 17 00:00:00 2001 From: firecoperana Date: Thu, 12 Jun 2025 00:19:26 -0500 Subject: Add top n sigma sampler and other webui fix (#512) Co-authored-by: firecoperana --- examples/server/server.cpp | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) (limited to 'examples/server/server.cpp') diff --git a/examples/server/server.cpp b/examples/server/server.cpp index 9e80bd7e..f9991035 100644 --- a/examples/server/server.cpp +++ b/examples/server/server.cpp @@ -970,6 +970,9 @@ struct server_context { slot.sparams.temp = json_value(data, "temperature", default_sparams.temp); slot.sparams.dynatemp_range = json_value(data, "dynatemp_range", default_sparams.dynatemp_range); slot.sparams.dynatemp_exponent = json_value(data, "dynatemp_exponent", default_sparams.dynatemp_exponent); + slot.sparams.xtc_probability = json_value(data, "xtc_probability", default_sparams.xtc_probability); + slot.sparams.xtc_threshold = json_value(data, "xtc_threshold", default_sparams.xtc_threshold); + slot.sparams.top_n_sigma = json_value(data, "top_n_sigma", default_sparams.top_n_sigma); slot.sparams.penalty_last_n = json_value(data, "repeat_last_n", default_sparams.penalty_last_n); slot.sparams.penalty_repeat = json_value(data, "repeat_penalty", default_sparams.penalty_repeat); slot.sparams.penalty_freq = json_value(data, "frequency_penalty", default_sparams.penalty_freq); @@ -1135,17 +1138,17 @@ struct server_context { } { - const auto & samplers_sequence = data.find("samplers"); - if (samplers_sequence != data.end() && samplers_sequence->is_array()) { - std::vector sampler_names; - for (const auto & sampler_name : *samplers_sequence) { - if (sampler_name.is_string()) { - sampler_names.emplace_back(sampler_name); - } + const auto samplers = data.find("samplers"); + if (samplers != data.end()) { + if (samplers->is_array()) { + slot.sparams.samplers_sequence = llama_sampling_types_from_names(*samplers, false); + } + else if (samplers->is_string()) { + slot.sparams.samplers_sequence = llama_sampling_types_from_chars(samplers->get()); + } + else { + slot.sparams.samplers_sequence = default_sparams.samplers_sequence; } - slot.sparams.samplers_sequence = llama_sampling_types_from_names(sampler_names, false); - } else { - slot.sparams.samplers_sequence = default_sparams.samplers_sequence; } } -- cgit v1.2.3